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的位置就可參考這張圖,當作設定檢核點吧。