實戰dataguard主從切換
前言:
眾所周知DataGuard一般的切換分成兩種,一種是系統正常的情況下的切換這種方式為:switchover是無損切換,不會丟失資料;另外一種方式屬於災難情況下的切換,這種情況下一般主庫已經啟動不起來了,為failover,有可能會丟失資料,並且切換後原primary 資料庫也不再是該data guard 配置的一部分了。
本文先簡單的介紹在正常情況下執行的系統切換測試;
整個dataguard的搭建,請參考實戰ORACLE DataGuard不停機的配置,只要按照該文件操作,保證沒有問題;
環境資訊:
hostname | db_name | db_unique_name | role |
dg2 | orcl | orcldg2 | PRIMARY |
dg1 | orcl | orcldg1 | STANDBY |
切換步驟:
一、主庫的操作
1、主資料庫的狀態檢查
指令碼:SQL> select switchover_status from v$database;
說明:如果該列值為"TO STANDBY"則表示primary 資料庫支援轉換為standby 角色,否則的話你就需要重新檢查一下Data Guard 配置,比如看看LOG_ARCHIVE_DEST_n 之類引數值是否正確有效等等。
2、首先將primary 轉換為standby 的角色
指令碼:SQL> alter database commit to switchover to physical standby;
說明:PRIMARY進行轉換完畢後,檢視狀態會變成RECOVERY NEEDED;
3、重啟動到mount --原primary 資料庫操作
SQL> shutdown immediate
ORA-01507: 未裝載資料庫
ORACLE 例程已經關閉。
SQL> startup mount
ORACLE 例程已經啟動
二、備庫切換成主庫的操作
完成以上操作後,變可以進行以下備庫的操作
1、檢查備庫的狀態
指令碼:指令碼:SQL> select switchover_status from v$database;
2、確認沒有問題後,可以進行切換轉換standby 到primary 角色
指令碼:SQL> alter database commit to switchover to primary;
3、完成轉換,開啟新的primary 資料庫
SQL> alter database open;
4、檢視當前系統的狀態
指令碼:select name,open_mode,database_role,protection_mode,SWITCHOVER_STATUS From v$database;
三、原主庫切換成備庫
當前的備庫是mount狀態了,執行以下語句
1、執行日誌的運用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
2、取消日誌的運用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
3、開啟資料庫
SQL> ALTER DATABASE OPEN;
4、在open狀態下執行日誌的即時運用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
四、測試
1、在dg1上面插入一個表test,並插入數值1
2、在dg2上面檢查
大功告成了,資料馬上傳送到dg2了;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12679300/viewspace-1130135/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DataGuard主備庫切換步驟
- ORACLE 12C DATAGUARD環境搭建和主從切換Oracle
- StoneDB 主從切換實踐方案
- Redis主從切換Redis
- MySQL主從切換MySql
- Dataguard failover切換實驗AI
- 手工切換MySQL主從MySql
- Redis sentinel主從切換Redis
- mysql主從搭建切換MySql
- oracle dataguard 切換Oracle
- Oracle DataGuard 主備切換 (switchover) oracle11gOracle
- mysql主從複製+主備切換MySql
- mysql for linux主從切換MySqlLinux
- nginx keepalived 主從切換Nginx
- ostgreSQL主從切換-手動SQL
- Redis 哨兵模式實現主從故障互切換Redis模式
- DataGuard切換(主庫為Rac+備庫為Rac)
- keepalived配置redis主從切換Redis
- Dledger是如何實現主從自動切換的
- dataguard主備switchover互切實驗及理解
- Oracle DataGuard切換步驟Oracle
- DataGuard切換保護模式模式
- oracle 之dataguard standby 切換Oracle
- 【DATAGUARD】Oracle Dataguard物理備庫切換最佳實踐(sqlplus)OracleSQL
- REDIS主從頻繁切換事件排查Redis事件
- Mongodb資料同步和主從切換MongoDB
- Redis叢集的主從切換研究Redis
- oracle 11g datagurd主從切換Oracle
- 【DataGuard】Oracle DataGuard 資料保護模式切換Oracle模式
- 備庫的切換狀態為SWITCHOVER PENDING時進行dataguard主備庫角色切換
- Oracle 10g DataGuard物理主備切換-switchover與failoverOracle 10gAI
- RAC和Dataguard環境下主備庫切換演練模板
- 【DataGuard】10g物理standby主備switchover方式切換詳述
- oracle11g dataguard切換Oracle
- Oracle 11.2.0.4 physical dataguard和snapshot dataguard切換Oracle
- 5.6 MySql主從自動切換指令碼MySql指令碼
- mysql mha 主從自動切換 高可用MySql
- 一個月後,我們又從 MySQL 雙主切換成了主 - 從!MySql