實作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怎麼來的啊...@@
2011年1月11日 星期二
2010年9月22日 星期三
如何設定Oracle 10g Control File & Redo Log File的位置
閒來沒事,順手整理Control File & Redo Log File建立時會考量的幾個參數以及建立的決策。簡圖示意如下圖:

- 判斷是否有定義DB_CREATE_ONLINE_LOG_DEST_n,如果有定義,則將Control File & Redo Log File寫入該參數(群)指定的路徑,然後便結束建立作業,否則繼續下一步驟。
- 判斷是否有定義CREATE_FILE_DEST,如果有定義,則將Control File & Redo Log File寫入該參數指定的路徑。而不管有無定義,都繼續下一步驟。
- 判斷是否有定義DB_RECOVERY_FILE_DEST,如果有定義,則將Control File & Redo Log File複寫至該參數指定的路徑,即FRA(Flash Recovery Area),然後便結束建立作業,否則繼續下一步驟。
- 如果以上參數都無設定,則將Control File & Redo Log File寫至Oracle預設路徑;預設路徑則依照OS有所不同。所謂Oracle預設的路徑,可以查詢Oracle參數檔內的CONTROL_FILES參數的設定值。查詢方式很簡單:
OS> sqlplus sys/password@mydb as sysdba
SQL>show parameter control_filesNAME TYPE VALUE ------------- ------ --------------------- control_files string (因OS不同而有差異的檔案路徑)
下次要設定Control File & Redo Log File的位置就可參考這張圖,當作設定檢核點吧。
訂閱:
文章 (Atom)