單機Linux平臺Oracle 10g DataGuard Physical Standby 搭建例項(6)
單機Linux平臺Oracle 10g DataGuard Physical Standby 搭建例項(1):http://space.itpub.net/81227/viewspace-701181
單機Linux平臺Oracle 10g DataGuard Physical Standby 搭建例項(2):http://space.itpub.net/81227/viewspace-701198
單機Linux平臺Oracle 10g DataGuard Physical Standby 搭建例項(3):http://space.itpub.net/81227/viewspace-701231
單機Linux平臺Oracle 10g DataGuard Physical Standby 搭建例項(4):http://space.itpub.net/81227/viewspace-701293
單機Linux平臺Oracle 10g DataGuard Physical Standby 搭建例項(5):http://space.itpub.net/81227/viewspace-702254
這部分講述switchover
Switchover
一般SWITCHOVER切換都是計劃中的切換,特點是在切換後,不會丟失任何的資料,而且這個過程是可逆的,整個DATA GUARD環境不會被破壞,原來DATA GUARD環境中的所有物理和邏輯STANDBY都可以繼續工作。
在進行DATA GUARD的物理STANDBY切換前需要注意:
1)確認主庫和從庫間網路連線通暢;
2)確認沒有活動的會話連線在資料庫中;
3)PRIMARY資料庫處於開啟的狀態,STANDBY資料庫處於MOUNT狀態;
4)確保STANDBY資料庫處於ARCHIVELOG模式;
5)如果設定了REDO應用的延遲,那麼將這個設定去掉;
6)確保配置了主庫和從庫的初始化引數,使得切換完成後,DATA GUARD機制可以順利的執行。
主庫:
1. 檢視switchover 狀態
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
2 切換成備庫
SQL> Alter database commit to switchover to physical standby with session shutdown;
或者
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
Database altered.
3 啟動到mount和應用日誌狀態
SQL> SHUTDOWN IMMEDIATE
SQL> startup nomount;
SQL> alter database mount standby database;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
4. 檢視資料庫模式
SQL>select dest_name, status, database_mode, recovery_mode, protection_mode from v$archive_dest_status;
SQL>select status,database_mode from v$archive_dest_status;
SQL> SELECT DATABASE_ROLE FROM V$DATABASE;
DATABASE_ROLE
----------------
PHYSICAL STANDBY
備庫:
1.檢視switchover狀態
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
TO PRIMARY
2. 切換成主庫
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
Database altered.
SQL> shutdown immediate;
SQL> startup;
SQL> alter system switch logfile;
3. 檢視資料庫模式
SQL>select dest_name, status, database_mode, recovery_mode, protection_mode from v$archive_dest_status;
SQL>select status,database_mode from v$archive_dest_status;
SQL> SELECT DATABASE_ROLE FROM V$DATABASE;
DATABASE_ROLE
----------------
PRIMARY
切換成功。
Failovers:
FAILOVER切換一般是PRIMARY資料庫發生故障後的切換,這種情況是STANDBY資料庫發揮其作用的情況。這種切換髮生後,可能會造成資料的丟失。而且這個過程不是可逆的,DATA GUARD環境會被破壞。
由於PRIMARY資料庫已經無法啟動,所以FAILOVER切換所需的條件並不多,只要檢查STANDBY是否執行在最大保護模式下,如果是的話,需要將其置為最大效能模式,否則切換到PRIMARY角色也無法啟動。
1.檢視是否有日誌GAP,沒有應用的日誌:
SQL> SELECT UNIQUE THREAD#, MAX(SEQUENCE#) OVER(PARTITION BY THREAD#) LAST FROM V$ARCHIVED_LOG;
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
如果有,則複製過來並且註冊
SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE '路徑';
重複檢視直到沒有應用的日誌:
2. 然後停止應用歸檔:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
Database altered.
3. 下面將STANDBY資料庫切換為PRIMARY資料庫:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
或 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;
Database altered.
SQL> SELECT DATABASE_ROLE FROM V$DATABASE;
DATABASE_ROLE
----------------
PHYSICAL STANDBY
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
Database altered.
SQL> ALTER DATABASE OPEN; 或者 shutdown immediate+startup
Database altered.
檢查資料庫是否已經切換成功:
SQL> SELECT DATABASE_ROLE FROM V$DATABASE;
DATABASE_ROLE
----------------
PRIMARY
至此,FAILOVER切換完成。這個時候應該馬上對新的PRIMARY資料庫進行備份。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/81227/viewspace-702263/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【DG】在Linux平臺上搭建單例項的dataguard--duplicateLinux單例
- 【DG】在Linux平臺上搭建單例項的dataguard--rman還原方式Linux單例
- 搭建windows到linux的oracle 12c physical standby備庫WindowsLinuxOracle
- Oracle DG建立Physical Standby DatabaseOracleDatabase
- 【DG】Data Guard搭建(physical standby)
- Oracle 11.2.0.4 physical dataguard和snapshot dataguard切換Oracle
- dataguard 搭建 oracle_sid相同 2節點 primary+standbyOracle
- dataguard 搭建 oracle_sid不同 2節點 primary+standbyOracle
- Oracle 單機配置DataGuardOracle
- Convert a Physical Standby Database into a Snapshot Standby DatabaseDatabase
- Oracle 12.2 physical standby備庫收集AWR報告Oracle
- 單例項Primary快速搭建Standby RAC參考手冊(19.16 ADG)單例
- Oracle dataguard報錯:Error 1017 received logging on to the standbyOracleError
- oracle資料庫跨平臺(AIX)從RAC恢復至(linux)下的單例項Oracle資料庫AILinux單例
- Performing a Failover to a Physical Standby DatabaseORMAIDatabase
- Oracle 19C CBD Active DataGuard Standby passwd file 注意事項 ORA-01017Oracle
- ORACLE-LINUX環境字元介面單例項安裝OracleLinux字元單例
- Oracle 11.2 DataGuard RAC To RAC搭建Oracle
- 搭建ELK日誌平臺(單機)
- 【DG】Oracle11g異構平臺之Linux To Windows DataGuard安裝配置--duplicateOracleLinuxWindows
- 搭建自己的直播平臺,實現exe單例模式單例模式
- Linux平臺Oracle開機自啟動設定LinuxOracle
- oracle之 單例項監聽修改埠Oracle單例
- linux監控平臺搭建Linux
- DATAGUARD手記(PRIMARY+2STANDBY)(一)
- DATAGUARD手記(PRIMARY+2STANDBY)(二)
- oracle 10g在linux下的安裝及簡單命令Oracle 10gLinux
- Oracle Physical Database LimitsOracleDatabaseMIT
- 跨平臺級聯dataguard配置
- Physical Standby Switchover_status Showing Not Allowed. (Doc ID 1392763.1)
- 【DATAGUARD】Oracle21c Dataguard建立注意事項及主要引數介紹Oracle
- Oracle 12C RAC的單機Standby returning error ORA-16191OracleError
- 從nub備份恢復(同平臺)恢復RAC至單例項單例
- Oracle 11g RAC到單例項OGG同步Oracle單例
- 【Dataguard】DataGuard運維注意事項運維
- 4.1. Oracle例項Oracle
- Oracle Far Sync例項Oracle
- DataGuard---->物理StandBy的角色切換之switchover
- standby_file_management為manual造成dataguard延遲