Oracle 資料庫多路歸檔,防止單點故障
一、通常用來解決如下問題:
單個歸檔目錄滿導致資料庫hang的問題
歸檔多重路徑,防止單點故障
二、多重路徑歸檔的實現如下通過以下兩個參數來控制,具體如下:
LOG_ARCHIVE_DEST_n ---使用LOG_ARCHIVE_DEST_n參數定義多個歸檔路徑
log_archive_min_succeed_dest
三、參數說明:
LOG_ARCHIVE_DEST_n 參數定義多個歸檔路徑,使用初始化參數LOG_ARCHIVE_DEST_n配置歸檔位置時,可以在歸檔位置上指定OPTIONAL或MANDATORY選項.指定MANDATORY選項時,可以設定REOPEN屬性。
OPTIONAL:該選項是預設選項.使用該選項時,無論歸檔是否成功,都可以覆蓋重做日誌。
MANDATORY:強制歸檔.使用該選項時,只有在歸檔成功之後,重做日誌才能被覆蓋。
REOPEN:該屬性用於指定重新歸檔的時間間隔,預設值為300秒,必須跟在MANDATORY後。
LOG_ARCHIVE_MIN_SUCCEED_DEST 參數控制本地歸檔的最小成功個數
四、實驗步驟:
如果要解決歸檔空間滿或者某路徑歸檔滿的問題,可以設定兩個歸檔路徑,路徑為可選optional,且log_archive_min_succeed_dest參數設定為1,即可解決相關問題。缺點是兩個目錄都正常情況下,需要歸檔兩份歸檔日誌。具體實驗步驟如下:
1,修改為多重路徑模式,每個路徑為可選,但至少一個是成功才可以日誌覆蓋:
SQL> alter systemset log_archive_dest_1='location=/Oracle/archive/arch1 optional';
System altered.
SQL> alter systemset log_archive_dest_2='location=/oracle/archive/arch2 optional';
System altered.
SQL> showparameter log_archive_min_succeed_dest
NAME TYPE VALUE
----------------------------------------------- ------------------------------
log_archive_min_succeed_dest integer 1
2,經過多檔測試,均可成功進行歸檔:
SQL> alter systemswitch logfile;
System altered.
[root@dtydb0 arch1]#ls -l /oracle/archive/arch*
/oracle/archive/arch1:
total 389564
-rw-r----- 1 oracle oinstall 397999616 May 14 17:05 1_211_740745127.dbf
-rw-r----- 1 oracle oinstall 507904 May 14 17:06 1_212_740745127.dbf
/oracle/archive/arch2:
total 389564
-rw-r----- 1 oracle oinstall 397999616 May 14 17:05 1_211_740745127.dbf
-rw-r----- 1 oracle oinstall 507904 May 14 17:06 1_212_740745127.dbf
3,修改arch1的許可權,是不能歸檔到arch1,繼續歸檔,發現只能歸檔到arch2,當資料庫歸檔正常。
[root@bkjia]# chown -R root:root ./arch1
[root@bkjia]# ls -lrt
SQL> alter systemswitch logfile;
System altered.
[root@bkjia]# ls -l /oracle/archive/arch*
/oracle/archive/arch1:
total 389564
-rw-r----- 1 root root 397999616 May 14 17:05 1_211_740745127.dbf
-rw-r----- 1 root root 507904 May 14 17:06 1_212_740745127.dbf
/oracle/archive/arch2:
total 390272
-rw-r----- 1 oracle oinstall 397999616 May 14 17:05 1_211_740745127.dbf
-rw-r----- 1 oracle oinstall 507904 May 14 17:06 1_212_740745127.dbf
-rw-r----- 1 oracle oinstall 351744 May 14 17:08 1_213_740745127.dbf
-rw-r----- 1 oracle oinstall 332800 May 14 17:08 1_214_740745127.dbf
-rw-r----- 1 oracle oinstall 2560 May 14 17:08 1_215_740745127.dbf
-rw-r----- 1 oracle oinstall 6656 May 14 17:08 1_216_740745127.dbf
4,修改回許可權,2個路徑的歸檔又恢複正常
[root@bkjia]# chown -R oracle:oinstall /oracle/archive/arch1
[root@bkjia]# ls -l /oracle/archive/arch*
/oracle/archive/arch1:
total 389788
-rwxr-xr-x 1 oracle oinstall 397999616 May 14 17:05 1_211_740745127.dbf
-rwxr-xr-x 1 oracle oinstall 507904 May 14 17:06 1_212_740745127.dbf
-rw-r----- 1 oracle oinstall 220672 May 14 17:14 1_219_740745127.dbf
/oracle/archive/arch2:
total 391464
-rw-r----- 1 oracle oinstall 397999616 May 14 17:05 1_211_740745127.dbf
-rw-r----- 1 oracle oinstall 507904 May 14 17:06 1_212_740745127.dbf
-rw-r----- 1 oracle oinstall 351744 May 14 17:08 1_213_740745127.dbf
-rw-r----- 1 oracle oinstall 332800 May 14 17:08 1_214_740745127.dbf
-rw-r----- 1 oracle oinstall 2560 May 14 17:08 1_215_740745127.dbf
-rw-r----- 1 oracle oinstall 6656 May 14 17:08 1_216_740745127.dbf
-rw-r----- 1 oracle oinstall 628736 May 14 17:11 1_217_740745127.dbf
-rw-r----- 1 oracle oinstall 342528 May 14 17:12 1_218_740745127.dbf
-rw-r----- 1 oracle oinstall 220672 May 14 17:14 1_219_740745127.dbf