因有要求要在逻辑备库上有指定表不应用,现做测试如下:
涉及到计费的表有:
charge_dtl
charge_group
charge_instr
charge_ref
cfs_tariff
liner_tariff
trk_tariff
一.前提条件,正常通讯的两台主备库
查询逻辑备库上正在执行归档量
select sequence#,first_change#,next_change#,timestamp,applied from dba_logstdby_log order by sequence# ;
查看主库的归档量
Archive log list;
检测是否备库与主库相同的归档量。
二.对于逻辑备库上:
1.停止正在应用的进程
SQL>alter database stop logical standby apply;
Database altered.
2.执行要在备库上应用跳过的表
SQL>execute dbms_logstdby.skip('DML','CTMS','CFS_TARIFF');
PL/SQL procedure successfully completed.
SQL> execute dbms_logstdby.skip('DML','CTMS','LINER_TARIFF');
PL/SQL procedure successfully completed.
SQL> execute dbms_logstdby.skip('DML','CTMS','TRK_TARIFF');
PL/SQL procedure successfully completed.
3.开启逻辑应用
SQL> alter database start logical standby apply immediate;
Database altered.
4.查询是否运用命令成功
SQL> select * from dba_logstdby_skip where owner='CTMS';
ERROR STATEMENT_OPTOWNERNAMEUSE_LIKE ESC PROC
------- ----------------------------- -----------------------------------
NDMLCTMSCFS_TARIFFY
NDMLCTMSLINER_TARIFFY
NDMLCTMSTRK_TARIFFY
5.若要取消的话,用
execute dbms_logstdby.unskip('DML','CTMS','LINER_TARIFF');
[@more@]
test