對于已經建立的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. 重新開啟日志應用!