Oracle11g RAC在例項關閉後自動在啟動例項上歸檔
今天測試RAC環境歸檔的時候意外發現了這個問題,在11g的RAC環境中,如果資料庫處於ARCHIVELOG模式,如果一個節點關閉,則另外的節點自動完成關閉節點的日誌切換,並將ARCHIVELOG歸檔到本地節點。
檢查資料庫資訊:
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
test1
SQL> select instance_name from gv$instance;
INSTANCE_NAME
----------------
test1
test2
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Solaris: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
顯然這是一個兩節點11g的RAC環境,下面檢查歸檔設定:
SQL> select name, log_mode from v$database;
NAME LOG_MODE
------------------------------------------------------------ ------------
TEST ARCHIVELOG
SQL> select inst_id, name, value
2 from gv$parameter
3 where name = 'log_archive_dest_1';
INST_ID NAME VALUE
---------- ----------------------- ------------------------------------------------
1 log_archive_dest_1 LOCATION=/data/oracle/oradata/test/archivelog
2 log_archive_dest_1 LOCATION=/data/oracle/oradata/test/archivelog
檢查當前的日誌資訊和歸檔資訊:
SQL> select group#, thread#, sequence#, status from v$log;
GROUP# THREAD# SEQUENCE# STATUS
---------- ---------- ---------- ----------------
1 1 13 INACTIVE
2 1 14 CURRENT
3 1 12 INACTIVE
4 2 9 INACTIVE
5 2 10 INACTIVE
6 2 11 CURRENT
已選擇6行。
SQL> select thread#, sequence#, name from v$archived_log;
THREAD# SEQUENCE# NAME
---------- ---------- -----------------------
2 6
1 6
1 7
1 8
2 7
2 8
1 9
2 9
1 10
2 10
1 11
1 12
1 13
已選擇13行。
下面執行歸檔:
SQL> alter system archive log current;
系統已更改。
SQL> select group#, thread#, sequence#, status from v$log;
GROUP# THREAD# SEQUENCE# STATUS
---------- ---------- ---------- ----------------
1 1 13 INACTIVE
2 1 14 ACTIVE
3 1 15 CURRENT
4 2 12 CURRENT
5 2 10 INACTIVE
6 2 11 ACTIVE
已選擇6行。
SQL> select thread#, sequence#, name from v$archived_log where name is not null;
THREAD# SEQUENCE# NAME
---------- ---------- ------------------------------------------------------------
1 14 /data/oracle/oradata/test/archivelog/1_14_684067893.dbf
2 11 /data/oracle/oradata/test/archivelog/2_11_684067893.dbf
SQL> host ls -l /data/oracle/oradata/test/archivelog
total 3680
-rw-r----- 1 oracle oinstall 1868288 May 15 17:09 1_14_684067893.dbf
SQL> host ssh 172.0.2.63 ls -l /data/oracle/oradata/test/archivelog
Enter passphrase for key '/export/home/oracle/.ssh/id_rsa':
total 3936
-rw-r----- 1 oracle oinstall 2006016 May 15 17:13 2_11_684067893.dbf
執行ALTER SYSTEM ARCHIVE LOG CURRENT會使得兩個例項分別歸檔各個執行緒的REDO檔案,透過查詢兩個節點伺服器上對應的目錄也可以看到,當前例項歸檔了執行緒1對應的REDO,而遠端例項歸檔了執行緒2對應的REDO日誌。
現在將例項1關閉:
SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> host
$ ls -l /data/oracle/oradata/test/archivelog
total 3680
-rw-r----- 1 oracle oinstall 1868288 May 15 17:09 1_14_684067893.dbf
$ ssh 172.0.2.63 ls -l /data/oracle/oradata/test/archivelog
Enter passphrase for key '/export/home/oracle/.ssh/id_rsa':
total 4028
-rw-r----- 1 oracle oinstall 47104 May 15 17:21 1_15_684067893.dbf
-rw-r----- 1 oracle oinstall 2006016 May 15 17:13 2_11_684067893.dbf
可以看到,例項1關閉後,例項1對應的當前日誌自動歸檔到遠端節點上。
下面啟動例項1:
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 776896512 bytes
Fixed Size 2098776 bytes
Variable Size 229300648 bytes
Database Buffers 541065216 bytes
Redo Buffers 4431872 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL> select thread#, sequence#, name from v$archived_log where name is not null;
THREAD# SEQUENCE# NAME
---------- ---------- ------------------------------------------------------------
1 14 /data/oracle/oradata/test/archivelog/1_14_684067893.dbf
2 11 /data/oracle/oradata/test/archivelog/2_11_684067893.dbf
1 15 /data/oracle/oradata/test/archivelog/1_15_684067893.dbf
SQL> select group#, thread#, sequence#, status from v$log;
GROUP# THREAD# SEQUENCE# STATUS
---------- ---------- ---------- ----------------
1 1 16 CURRENT
2 1 14 INACTIVE
3 1 15 INACTIVE
4 2 12 CURRENT
5 2 10 INACTIVE
6 2 11 INACTIVE
已選擇6行。
下面關閉例項2:
SQL> host srvctl stop inst -d test -i test2
SQL> select thread#, sequence#, name from v$archived_log where name is not null;
THREAD# SEQUENCE# NAME
---------- ---------- ------------------------------------------------------------
1 14 /data/oracle/oradata/test/archivelog/1_14_684067893.dbf
2 11 /data/oracle/oradata/test/archivelog/2_11_684067893.dbf
1 15 /data/oracle/oradata/test/archivelog/1_15_684067893.dbf
2 12 /data/oracle/oradata/test/archivelog/2_12_684067893.dbf
SQL> select group#, thread#, sequence#, status from v$log;
GROUP# THREAD# SEQUENCE# STATUS
---------- ---------- ---------- ----------------
1 1 16 CURRENT
2 1 14 INACTIVE
3 1 15 INACTIVE
4 2 12 ACTIVE
5 2 10 INACTIVE
6 2 11 INACTIVE
已選擇6行。
SQL> host ls -l /data/oracle/oradata/test/archivelog
total 3762
-rw-r----- 1 oracle oinstall 1868288 May 15 17:09 1_14_684067893.dbf
-rw-r----- 1 oracle oinstall 41472 May 15 17:21 2_12_684067893.dbf
例項2的歸檔日誌在例項2關閉後也歸檔到了例項1的節點上。
這個特性在10g中還沒有,Oracle實現這個功能是為了更安全的實現備份,另外STANDBY環境也可以因此而獲益,避免STANDBY一直等待主節點關閉例項對應的歸檔日誌,而無法繼續應用新的日誌資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-598279/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rac 正常關閉例項service不會自動漂移,只有在例項異常abort才會發生自動failoverAI
- 2 Day DBA-管理Oracle例項-關於例項的啟動和關閉-關於例項啟動Oracle
- 2 Day DBA-管理Oracle例項-關閉和啟動Oracle例項-使用OEMDC關閉和啟動Oracle例項Oracle
- 2 Day DBA-管理Oracle例項-關於例項的啟動和關閉-關於例項關閉Oracle
- ASM CRS 例項啟動和關閉ASM
- Oracle例項的啟動和關閉Oracle
- oracle 例項啟動和關閉解讀Oracle
- Oracle單例項+ASM啟動與關閉Oracle單例ASM
- oracle rac及單例項開啟歸檔Oracle單例
- 2 Day DBA-管理Oracle例項-關於例項的啟動和關閉-管理啟動和關閉許可權Oracle
- 自動重新啟動oracle例項 for windowsOracleWindows
- Oracle 資料庫例項啟動關閉過程Oracle資料庫
- 例項管理及資料庫的啟動關閉資料庫
- 建立自啟動檔案指令碼的例項指令碼
- 配置單例項自動重啟單例
- 啟動CRS單例項、設定自動啟動單例
- Oracle9.2.0.7 RAC , 例項2的歸檔到了例項1的歸檔目錄 ?Oracle
- 【rac】實驗一:啟動關閉歸檔
- rac下啟動關閉與更改歸檔模式模式
- 【02】Oracle資料庫的例項啟動關閉詳解Oracle資料庫
- oracle11g RAC 啟動歸檔模式Oracle模式
- Oracle 10g RAC 系統 OS啟動時CRS及例項自動啟動指令碼Oracle 10g指令碼
- Solaris10上啟動Oracle11g例項遇到的一個bugOracle
- rac下啟動關閉與更改歸檔模式(zt)模式
- 3.1.5.1 關於啟動資料庫例項資料庫
- 使用SRVCTL啟動例項與使用sqlplus啟動例項的區別SQL
- RAC環境只啟動單例項資料庫單例資料庫
- 3.1.5.9 啟動遠端例項
- 啟動ASM 例項報錯ASM
- 在本地修改預設啟動的資料庫例項名資料庫
- 應用例項:VC++實現廣告視窗自動關閉(轉)C++
- RAC環境一個例項何時會歸檔另一個例項的日誌
- 怎樣在Mac上安排自動啟動或關閉,技巧來啦~Mac
- linux自動automatic啟動停止多個oracle例項LinuxOracle
- 3.1.5.5 啟動例項到限制模式模式
- 啟動oracle例項最少引數Oracle
- oracle多個例項啟動方法Oracle
- 在Windows平臺下修改Oracle例項不隨服務啟動WindowsOracle