對于已經建立的rac dataguard 環境,standby rac和主庫對應擁有兩個節點并且可以應在一個節點用日志!在此情況下 啟用 adg 特性
主庫:rac1 rac2
備庫: rac3 rac4
<b>一 非dataguard·broker 情況下:</b>
1. 日志已經在rac3上應用,是以隻需在節點rac3上取消日志應用,注意:對于節點rac4 不用做任何操作!
rac3> alter database recover managed standby database cancel;
database altered.
2. since database added to cluster to startup default on mount mode with
打開資料庫至 read only 模式,需要注意的是向叢集添加節點的時候一般是以mount狀态啟動的,對于備庫要以read only 方式打開!
在節點rac3上
rac3> alter database open read only;
rac3> select open_mode from v$database;
open_mode
---------
read only
對節點rac3操作完之後,節點rac4依然是mounted狀态
rac4> select open_mode from v$database;
mounted
以read only方式打開節點rac4的執行個體
rac4> alter database open read only;
rac4> select open_mode from v$database;
3. 在一個節點上進行應用日志,執行如下指令:
rac3> alter database recover managed standby database using current logfile disconnect;
4. 在兩個備庫執行個體上檢視資料庫的打開方式:
--------------------
read only with apply
<b>二 如果配置的dataguard broker,并且已經應用日志了,按照如下方法進行:</b>
1.用dgmgrl 停止應用日志!
dgmgrl> edit database rac set state='apply-off';
succeeded.
dgmgrl> show database rac
database - rac
role: physical standby
intended state: apply-off
transport lag: 0 seconds
apply lag: 0 seconds
real time query: off
instance(s):
rac1 (apply instance)
rac2
database status:
success
2. 進行非dataguard broker的第二步!
alter database open read only;
3. 使用 dgmgrl 重新開始應用日志!
dgmgrl> edit database rac set state='apply-on';
<b>三 停止adg</b>
1. 取消日志應用!
open_mode 将由 read only with apply 變為 read only
2. 關閉并重新開機standby 至mount狀态!
srvctl stop database -d rac
srvctl start database -d rac
3. 重新開啟日志應用!