9204RAC到單例項的SWITCHOVER切換
以前做過9i DATA GUARD的SWITCHOVER,也做過10g的RAC環境到單例項的SWITCHOVER,但是9204上RAC環境到單例項DATA GUARD的SWITCHOVER還是第一次。
這個9204上的RAC環境到單例項的STANDBY環境是我前一段時間搭建的,RAC到單例項的DATA GUARD環境配置其實和普通的DATA GUARD環境區別不是很大。
而對於9204RAC環境到單例項的SWITCHOVER而言,和以往記錄的SWITCHOVER都有明顯的區別,因此簡單記錄一下步驟。
首先仍然是進行DATA GUARD的物理STANDBY切換前的常規檢查:
確認主庫和備庫間網路連線通暢;
確認沒有活動的會話連線在資料庫中;
PRIMARY資料庫處於開啟的狀態,STANDBY資料庫處於MOUNT狀態;
確保STANDBY資料庫處於ARCHIVELOG模式;
如果設定了REDO應用的延遲,那麼將這個設定去掉;
確保配置了主庫和從庫的初始化引數,使得切換完成後,DATA GUARD機制可以順利的執行。
對於RAC環境而言,還需要注意,需要關閉其他節點,在切換過程中僅保留一個例項。
登入節點2伺服器,關閉資料庫例項:
[oracle@db2 ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on 星期六 1月 15 09:58:10 2011
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
下面登入節點1伺服器:
SQL> select count(*) from v$session;
COUNT(*)
----------
303
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1545149056 bytes
Fixed Size 453248 bytes
Variable Size 704643072 bytes
Database Buffers 838860800 bytes
Redo Buffers 1191936 bytes
Database mounted.
Database opened.
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
------------------
SESSIONS ACTIVE
SQL> select count(*) from v$session where username is not null;
COUNT(*)
----------
12
SQL> select username, program from v$session where username is not null;
USERNAME PROGRAM
------------------------------ ------------------------------------------------
SYS sqlplus@db1 (TNS V1-V3)
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
------------------
TO STANDBY
由於資料庫中存在大量的會話,為了快速的關閉所有的會話選擇了關閉資料庫並重新啟動。
如果資料庫中除了當前會話外,還有其他的非系統的活動會話,資料庫的SWITCHOVER_STATUS列的值是SESSION_ACTIVE,而如果除了當前連線外,資料庫中已經沒有非系統活動會話,資料庫的SWITCHOVER_STATUS狀態會變為TO STANDBY,這說明主資料庫已經做好了SWITCHOVER到STANDBY資料庫的準備了。
SQL> alter database commit to switchover to physical standby;
Database altered.
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 1545149056 bytes
Fixed Size 453248 bytes
Variable Size 704643072 bytes
Database Buffers 838860800 bytes
Redo Buffers 1191936 bytes
SQL> alter database mount standby database;
Database altered.
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
------------------
TO PRIMARY
執行主庫的SWITCHOVER切換操作,然後啟動到NOMOUNT狀態,利用ALTER DATABAE MOUNT STANDBY DATABASE命令載入資料庫,檢查資料庫的切換狀態,這時資料庫已經處於STANDBY角色,因此切換狀態變為TO PRIMARY。
下面登入原STANDBY資料庫:
執行切換到主庫的操作:
SQL> select open_mode, database_role, switchover_status from v$database;
OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
---------- ---------------- ------------------
MOUNTED PHYSICAL STANDBY TO PRIMARY
SQL> alter database commit to switchover to primary;
Database altered.
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1545149056 bytes
Fixed Size 453248 bytes
Variable Size 704643072 bytes
Database Buffers 838860800 bytes
Redo Buffers 1191936 bytes
Database mounted.
Database opened.
SQL> select open_mode, database_role, switchover_status from v$database;
OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
---------- ---------------- ------------------
READ WRITE PRIMARY TO STANDBY
檢查資料庫的切換狀態,資料庫狀態為TO PRIMARY,說明STANDBY資料庫做好了切換到主庫的準備,如果這裡的狀態是SWITCHOVER PENDING,說明備庫接收到了SWITCHOVER切換的命令,但是還沒有作出處理,這多半是由於資料庫沒有處於應用日誌的狀態,執行ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION語句後,正常情況下,資料庫將會處於TO PRIMARY狀態。
執行SWITCHOVER到主庫的操作,然後需要關閉資料庫。這和10g有所區別,在10g中這時主庫就可以直接開啟了,但是9i必須關閉資料庫然後重新啟動。之所以先shutdown immediate然後shutdown abort,是因為9i這種狀態下可能例項無法完全關閉,當然也可以直接使用shutdown abort來關閉例項。
重啟後資料庫處於PRIMARY角色。
下面登入原來的主庫也就是新的備庫,將資料庫恢復開啟:
SQL> alter database recover managed standby database disconnect from session;
Database altered.
最後檢查DATA GUARD應用日誌是否正常,檢查alert檔案是否存在錯誤,確認SWITCHOVER操作後,DATA GUARD環境工作正常。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-684590/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle DataGuard switchover切換一例Oracle
- RAC+單例項DG的切換單例
- 單節點DG的switchover切換介紹
- 單例項DG切換中的虛擬IP單例
- 【DATAGUARD】物理dg的switchover切換(五)
- DATA GUARD物理STANDBY的 SWITCHOVER切換
- RAC環境STANDBY的SWITCHOVER切換
- js圖片切換例項JS
- javascript實現的圖片簡單切換程式碼例項JavaScript
- DATA GUARD物理備庫的SWITCHOVER切換
- DATA GUARD物理STANDBY的 SWITCHOVER切換[zt]
- tab選項卡切換例項程式碼
- RAC環境的物理STANDBY的 SWITCHOVER切換
- DataGuard---->物理StandBy的角色切換之switchover
- RAC環境LOGICAL STANDBY的SWITCHOVER切換
- 【DG】Data Guard主備庫Switchover切換
- 純CSS的導航欄Tab切換例項CSS
- vue移動端路由切換完整例項Vue路由
- 導航欄背景切換程式碼例項
- 再次使用DGbroker做switchover主備切換
- jQuery選項卡切換圖片效果程式碼例項jQuery
- rac恢復到單例項單例
- 搭建RAC到單例項DG單例
- rac到單例項的rman恢復單例
- div的顯示和隱藏切換程式碼例項
- Oracle DataGuard 主備切換 (switchover) oracle11gOracle
- DATAGUARD在做SWITCHOVER切換時遇到問題總結
- openGauss主備切換之switchover與failoverAI
- js內容左右滑動切換的選項卡程式碼例項JS
- 滑鼠虛滑過選項卡切換效果程式碼例項
- 備庫的切換狀態為SWITCHOVER PENDING時進行dataguard主備庫角色切換
- 點選enter回車能夠切換表單元素焦點程式碼例項
- OGG搭建(rac到-->單例項)單例
- RAC asm恢復到單例項ASM單例
- MySQL高可用之MHA切換測試(switchover & failover)MySqlAI
- dataguard手動switchover切換步驟及注意的問題 轉
- oracle 9iDATA GUARD物理STANDBY的 SWITCHOVER切換步驟Oracle
- 物理dataguard 正常切換 角色轉換,switchover_status 狀態改變