重慶思莊oracle技術(shù)分享-備庫日志的實時應(yīng)用與非實時應(yīng)用
在Dataguard的備庫上應(yīng)用日志的時候,通常有兩個語句,但是這兩個語句是有區(qū)別的,一個是實時應(yīng)用,一個是非實時應(yīng)用。
alter database recover managed standby database disconnect from session;(非實時應(yīng)用)
alter database recover managed standby database using current logfile disconnect;(實時應(yīng)用)
測試
--在備庫上啟用實時應(yīng)用日志,并創(chuàng)建表
alter database recover managed standby database using current logfile disconnect;
19:23:46 SYS@test>create table zbb.t3(id number);
Table created.
Elapsed: 00:00:00.03
19:23:59 SYS@test>
--在備庫上查看表,立刻生效
ZBB@test_stdby>set time on
19:24:02 ZBB@test_stdby>desc t3
Name? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???Null?? ? Type
----------------------------------------- -------- ----------------------------
ID? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? NUMBER
19:24:04 ZBB@test_stdby>
--drop掉表,在備庫上啟用日志應(yīng)用,但不是實時的
drop table zbb.t3 purge;
alter database recover managed standby database cancel;
alter database recover managed standby database disconnect from session;
--在主庫上創(chuàng)建表
19:26:51 SYS@test>create table zbb.t3 (id number);
Table created.
Elapsed: 00:00:00.03
--在備庫上查看創(chuàng)建的表,表不存在
19:28:35 SYS@test>
19:28:38 ZBB@test_stdby>desc zbb.t3
ERROR:
ORA-04043: object zbb.t3 does not exist
19:28:41 ZBB@test_stdby>
19:30:04 ZBB@test_stdby>desc zbb.t3
ERROR:
ORA-04043: object zbb.t3 does not exist
19:30:08 ZBB@test_stdby>
--查看是否啟用實時應(yīng)用
select recovery_mode from v$archive_dest_status where dest_id=2;
19:28:35 SYS@test>select recovery_mode from v$archive_dest_status where dest_id=2;
RECOVERY_MODE
-----------------------
MANAGED
Elapsed: 00:00:00.01
19:31:34 SYS@test>
SYS@test>select recovery_mode from v$archive_dest_status where dest_id=2;
RECOVERY_MODE
-----------------------
MANAGED REAL TIME APPLY
SYS@test>