邏輯Data Guard主備庫的轉換
邏輯DG主備庫的轉換
SQL> show parameter FAL;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_client string orcl_p.1_tns
fal_server string orcl_s.2_tns
SQL> show parameter log_archive_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string location=/u01/arch
log_archive_dest_10 string
log_archive_dest_2 string service=orcl_s.2_tns arch vali
d_for=(online_logfiles, primar
y_role) db_unique_name=orcl2
log_archive_dest_3 string
log_archive_dest_4 string
log_archive_dest_5 string
log_archive_dest_6 string
log_archive_dest_7 string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_8 string
log_archive_dest_9 string
log_archive_dest_state_1 string enable
log_archive_dest_state_10 string enable
log_archive_dest_state_2 string ENABLE
log_archive_dest_state_3 string enable
log_archive_dest_state_4 string enable
log_archive_dest_state_5 string enable
log_archive_dest_state_6 string enable
log_archive_dest_state_7 string enable
log_archive_dest_state_8 string enable
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_9 string enable
SQL> alter system set log_archive_dest_3='location=/u01/arch1 valid_for=(online_logfiles, all_roles) db_unique_name=orcl1' ;
System altered.
SQL> alter system set log_archive_dest_3='location=/u01/arch2 valid_for=(standby_logfiles, standby_role) db_unique_name=orcl1' ;
System altered.
SQL> show parameter log_archive_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string location=/u01/arch
log_archive_dest_10 string
log_archive_dest_2 string service=orcl_s.2_tns arch vali
d_for=(online_logfiles, primar
y_role) db_unique_name=orcl2
log_archive_dest_3 string location=/u01/arch2 valid_for=
(standby_logfiles, standby_rol
e) db_unique_name=orcl1
log_archive_dest_4 string
log_archive_dest_5 string
。。。。。。
建立三組standby 的 redolog (至少也要兩組)
SQL> alter database add standby logfile group 4 '/u01/app/oracle/oradata/orcl/stdredo01.log' size 50m;
Database altered.
SQL> alter database add standby logfile group 5 '/u01/app/oracle/oradata/orcl/stdredo02.log' size 50m;
Database altered.
SQL> alter database add standby logfile group 6 '/u01/app/oracle/oradata/orcl/stdredo03.log' size 50m;
Database altered.
檢視一下primary是switchover狀態,結果為TO STANDBY或者SESSIONS ACTIVE視為正常
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
將primary資料庫置為將要裝換的狀態
SQL> alter database prepare to switchover to logical standby;
Database altered.
檢視當前資料庫狀態
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
PREPARING SWITCHOVER
將邏輯standby資料庫轉換為primary
STANDBY > alter database prepare to switchover to primary;
Database altered.
檢視備份資料庫的狀態
STANDBY > select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
PREPARING SWITCHOVER
此時檢視primary資料庫的轉換狀態
PRIMARY >select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO LOGICAL STANDBY
將primary資料庫轉換為邏輯的standby
PRIMARY >alter database commit to switchover to logical standby;
Database altered.
返回再去看看原standby資料庫的狀態,很神奇
STANDBY > select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
將該standby資料庫轉換為primary
STANDBY > alter database commit to switchover to primary;
Database altered.
邏輯standby轉換完成,注意將新轉換來的standby啟動SQL應用
PRIMARY >set sqlprompt 'NEW_STANDBY > '
NEW_STANDBY > alter database start logical standby apply immediate;
Database altered.
在心的primary端新增資料進行檢測:
STANDBY > set sqlprompt 'NEW_PRIMARY > '
NEW_PRIMARY > select * from scott.dg_test;
ID
----------
DG_TEST_1
DG_TEST_2
DG_TEST_3
DG_TEST_4
NEW_PRIMARY > insert into scott.DG_TEST
2 values('DG_TEST_5')
3 /
1 row created.
NEW_PRIMARY > select * from scott.DG_TEST;
ID
----------
DG_TEST_1
DG_TEST_2
DG_TEST_3
DG_TEST_4
DG_TEST_5
NEW_PRIMARY > commit;
Commit complete.
NEW_PRIMARY > alter system switch logfile;
System altered.
在新的standby端檢視資料是否接收
NEW_STANDBY > select * from scott.dg_test;
ID
----------
DG_TEST_1
DG_TEST_2
DG_TEST_3
DG_TEST_4
DG_TEST_5
小結:
1、在進行轉換前,要確定備庫的設定健全,比如幾個不同日誌存放目錄的設定
2、在將資料庫置為開始轉換狀態時,由於,或因某些原因另一資料庫無法自動到’TO STANDBY’或’TO PRIMAYR’狀態,可用下列語句取消轉換狀態:
alter database prepare to switchover cancel;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29320885/viewspace-1101687/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Data Guard主備庫切換
- 邏輯DG主備庫轉換的failoverAI
- 【DG】Data Guard主備庫Switchover切換
- Oracle Data Guard主庫備庫角色切換(Switchovers)Oracle
- 【DG】Data Guard主備庫Failove切換AI
- 邏輯Data Guard的物件操作物件
- DATA GUARD物理備庫的SWITCHOVER切換
- 【ASK_ORACLE】Oracle Data Guard(三)邏輯備庫的概念和優勢Oracle
- 10g Data Guard physical standby的主備庫角色轉換測試(switchover & failover)AI
- 搭建邏輯Data Guard 12c
- Oracle 12c Data guard 物理主備庫正常切換(switchover)流程Oracle
- Oracle 11g Data guard 物理主備庫正常切換(switchover)流程Oracle
- 管理邏輯STANDBY資料庫——DATA GUARD概念和管理資料庫
- 建立邏輯STANDBY資料庫——DATA GUARD概念和管理資料庫
- data guard物理備份方式中的switchover轉換
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(1)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(2)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(3)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(4)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(5)
- 【新炬網路名師大講堂】Data Guard–物理主備庫切換
- 玩轉Data Guard的switchover後切不回主庫
- Data Guard物理備庫read/write後,切換回備庫狀態
- 資料庫邏輯備份(轉)資料庫
- ORACLE資料庫的邏輯備份(轉)Oracle資料庫
- Data Guard 環境下 主備庫Redo log 的新增與刪除
- 邏輯備庫Switchover
- 配置物理備庫+邏輯備庫
- Data Guard broker系列之五:資料庫角色轉換資料庫
- Data Guard 主庫建立表空間,備庫MRP無法啟動
- 12c data guard 使用 sqlplus 主備切換最佳實踐SQL
- Data Guard交換控制檔案實現主備切換實現步驟
- 11 管理邏輯備庫
- 主備庫記憶體不一致的Data Guard環境搭建記憶體
- Data guard 配置之搭建物理備庫
- Oracle 12c Data guard 物理備庫應急切換(failover)流程OracleAI
- Oracle 11g Data guard 物理備庫應急切換(failover)流程OracleAI
- 【轉載】Oracle Data Guard 主庫 歸檔檔案 刪除策略Oracle