基於單機的DataGuard切換文件
環境描述
以下環境根據各自環境自行填寫,DG 搭建更多的是資料庫級別的引數設定,所以並不存在AIX 及LINUX 等作業系統版本之分。
生產主機規劃:
主機名 |
型號 |
作業系統版本 |
|
X86 |
Centos6.8 |
備庫主機規劃:
主機名 |
型號 |
作業系統版本 |
|
X86 |
Centos6.8 |
規劃
目前生產主機IP 規劃:
IP |
Alias |
備註 |
|
|
本地物理IP( 內網) |
目前備庫主機IP 規劃:
IP |
Alias |
備註 |
|
|
本地物理IP( 內網) |
計劃性切換
主備切換測試之switchover
一般 SWITCHOVER 切換都是計劃中的切換 , 特點是在切換後 , 不會丟失任何的資料 , 而且這個過程是可逆的 , 整個 DATA GUARD 環境不會被破壞 , 原來 DATA GUARD 環境中的所有 STANDBY 都可以繼續工作。
在進行DATA GUARD的物理STANDBY切換前需要注意:
1)確認主庫和備庫間網路連線通暢;
2)確認沒有活動的會話連線在資料庫中;
3)PRIMARY資料庫處於開啟的狀態,STANDBY資料庫處於MOUNT/READ ONLY狀態
主庫切備庫
以下操作均在生產機進行
檢視切換狀態
SQL> SELECT DATABASE_ROLE,SWITCHOVER_STATUS FROM V$DATABASE; DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- PRIMARY TO STANDBY |
備註程式碼 : 附 : A:switchover_status 出現 session active/not allowed 當出現 session active 的時候表示還有活動的 session, 則執行 下面程式碼: Alter database commit to switchover to physical standby with session shutdown;
當出現not allowed時,在官方文件說轉換會不成功嘗試執行一下程式碼 B.ORA-01153: an incompatible media recovery is active 則 執行下面程式碼: Alter database recover managed standby database finish; 或者 Alter database recover managed standby database finish force; |
切換成備庫
SQL>Alter database commit to switchover to physical standby with session shutdown; 或者 SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY; Database altered. |
重啟資料庫
SQL> SHUTDOWN IMMEDIATE SQL> startup mount; SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; |
備庫切主庫
以下操作均在備機進行
檢視switchover狀態
SQL> SELECT DATABASE_ROLE,SWITCHOVER_STATUS FROM V$DATABASE; DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- STANDBY TO PRIMARY |
備註程式碼:
附 : 若不是用此語句切換 :ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY with session shutdown 補充 : 若出現 :ORA-16139: media recovery required 是因為沒有執行:alter database recover managed standby database disconnect from session; |
2. 切換成主庫
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; Database altered. SQL> shutdown immediate; SQL> startup; SQL> alter system switch logfile; |
驗證同步
驗證切換成功,在原先的備機上(即現在的生產機上)切換歸檔:
su - oracle sqlplus "/ as sysdba" SQL>alter system switch logfile; SQL>alter system switch logfile; |
在原生產機,檢查原先的生產庫告警日誌,觀察是否有新的歸檔傳輸過來
$ tail -f /oracle/app/diag/rdbms/kinton/kinton/trace/alert_kinton.log |
故障切換
主備切換之Failover
FAILOVER 切換一般是 PRIMARY 資料庫發生故障後的切換 , 這種情況下 STANDBY 資料庫發揮其作用。這種切換髮生後,可能會造成資料的丟失。而且這個過程不是可逆的,DATA GUARD環境會被破壞。
由於PRIMARY資料庫已經無法啟動,所以FAILOVER切換所需的條件並不多,只要檢查STANDBY是否執行在最大保護模式下,如果是的話,需要將其置為最大效能模式,否則切換到PRIMARY角色也無法啟動。
生產庫停止歸檔傳輸服務
該操作均在生產庫執行
$export ORACLE_SID=kinton $sqlplus / as sysdba 確認傳輸服務設在log_archive_dest_state_2 引數上 SQL> alter system set log_archive_dest_state_2=defer scope=both sid='*'; |
備庫強制Failover 開啟
以下操作均在備庫執行
停止應用歸檔: SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; Database altered.
備庫停止應用歸檔 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH; 或 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE; Database altered.
確認資料庫角色為STANDBY 確認資料庫保護模式為最大效能模式 SQL> select DATABASE_ROLE,PROTECTION_MODE,SWITCHOVER_STATUS from v$database; DATABASE_ROLE ---------------- PHYSICAL STANDBY 若資料庫非最大效能模式,則手動切換成最大效能模式,若是則跳過此步 SQL> alter database set standby database to maximize performance;
執行Failover切換 SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; Database altered.
切換完成之後重啟資料庫 SQL> shutdown immediate SQL> startup |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23732248/viewspace-2770906/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於多種場景DataGuard切換方案
- DATAGUARD失敗切換
- DATAGUARD強行切換
- Oracle 11.2.0.4 physical dataguard和snapshot dataguard切換Oracle
- oracle11g dataguard切換Oracle
- 【DATAGUARD】Oracle Dataguard物理備庫切換最佳實踐(sqlplus)OracleSQL
- DataGuard---->物理StandBy的角色切換之switchover
- Oracle 單機配置DataGuardOracle
- dg切換操作文件
- Oracle DataGuard 主備切換 (switchover) oracle11gOracle
- Oracle 單機切換為主備Oracle
- 高階切圖技巧!基於單張圖片的任意顏色轉換
- ORACLE 12C DATAGUARD環境搭建和主從切換Oracle
- 關於PHP的切換版本PHP
- 物理DataGuard客戶端無縫切換--客戶端TAF 配置客戶端
- 基於LINUX7的21C單機 標準化實施文件Linux
- docker Redis單機主從哨兵模式切換失敗DockerRedis模式
- 基於AOP的動態資料來源切換(附原始碼)原始碼
- RAC+單例項DG的切換單例
- 簡單實用的JDK版本切換JDK
- db_ha叢集安裝後的自動切換及切換後的判斷步驟說明文件
- vue切換元件基礎模板Vue元件
- 流暢切換的彩色選單欄:ColorfulNavigationBarNavigation
- 基於react-intl實現手動國際化切換React
- KindEditor如何切換成簡單模式??模式
- Selenium多表單切換switch_to.frame
- webpack介面環境切換的配置-超簡單Web
- angular5 基於ngx-translate實現多語言切換Angular
- win10開始選單樣式怎麼切換 win10開始選單樣式切換的方法Win10
- 程式切換(上下文切換)
- js隨機切換背景音樂JS隨機
- goroutine上下文切換機制Go
- ORACLE基於單機PSU應用方案Oracle
- 基於WebGL/Threejs技術的模型剖切WebJS模型
- 在windows下切換node版本,很簡單!Windows
- electron寫一個簡單host切換工具
- ABP VNext從單體切換到微服務微服務
- DG的切換操作