oracle 共享硬盘主从,oracle 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了;
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的oracle 共享硬盘主从,oracle dataguard主从切换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】半监督学习
- 下一篇: 查看oracle监听服务状态,(总结)O