顯示具有 Control File 標籤的文章。 顯示所有文章
顯示具有 Control File 標籤的文章。 顯示所有文章

2011年1月11日 星期二

回復誤蓋的control file

實作restore的時候,不小心把source database的control file覆蓋到別的測試區的control file,等回神定眼一看,大錯已經造成。不幸中的大幸是測試區有做 3 個 multiplex control file,這次蓋到的只有兩個。立刻,心神慌亂的shutdown測試區instance(windows 平台直接關掉service),接著馬上砍掉錯誤的兩個control file,把測試區那碩果僅存的control以另存新檔的方式做出兩個control file,並命名成正確的control file name(ex, copy control03.ctl control01.ctl)。最後,restart database即成功恢復運作。

好在搞掛的是測試區,換作正式區,我可無法解釋這5分鐘的downtime怎麼來的啊...@@

2010年9月22日 星期三

如何設定Oracle 10g Control File & Redo Log File的位置



閒來沒事,順手整理Control File & Redo Log File建立時會考量的幾個參數以及建立的決策。簡圖示意如下圖:
重點摘要如下:
  1. 判斷是否有定義DB_CREATE_ONLINE_LOG_DEST_n,如果有定義,則將Control File & Redo Log File寫入該參數(群)指定的路徑,然後便結束建立作業,否則繼續下一步驟。
  2. 判斷是否有定義CREATE_FILE_DEST,如果有定義,則將Control File & Redo Log File寫入該參數指定的路徑。而不管有無定義,都繼續下一步驟。
  3. 判斷是否有定義DB_RECOVERY_FILE_DEST,如果有定義,則將Control File & Redo Log File複寫至該參數指定的路徑,即FRA(Flash Recovery Area),然後便結束建立作業,否則繼續下一步驟。
  4. 如果以上參數都無設定,則將Control File & Redo Log File寫至Oracle預設路徑;預設路徑則依照OS有所不同。所謂Oracle預設的路徑,可以查詢Oracle參數檔內的CONTROL_FILES參數的設定值。查詢方式很簡單:

    OS> sqlplus sys/password@mydb as sysdba
    SQL>show parameter control_files


    NAMETYPEVALUE
    ----------------------------------------
    control_filesstring(因OS不同而有差異的檔案路徑)

下次要設定Control File & Redo Log File的位置就可參考這張圖,當作設定檢核點吧。