处理oracle逻辑备库不应用某一个特定dml语句

处理oracle逻辑备库不应用某一个特定dml语句

例如设置逻辑备库不应用update prod set id=1 where id=91

CREATE OR REPLACE PROCEDURE handle_sys_gen_big3 (statement IN VARCHAR2,
statement_type IN VARCHAR2,
schema IN VARCHAR2,
name IN VARCHAR2,
xidusn IN NUMBER,
xidslt IN NUMBER,
xidsqn IN NUMBER,
error IN VARCHAR2,
new_error OUT VARCHAR2) AS
BEGIN
-- Always make sure that the default is to use the original statement
IF upper(statement) LIKE '%update%PROD%BIG3%where%ID%= 91%'
THEN
--
-- Set NEW_ERROR to NULL to allow the apply to continue
--
new_error := NULL;
END IF;
END HANDLE_SYS_GEN_BIG3;
/

ALTER DATABASE STOP LOGICAL STANDBY APPLY;
exec dbms_logstdby.skip_error('DML','PROD','BIG3','HANDLE_SYS_GEN_BIG3');
ALTER DATABASE START LOGICAL STANDBY APPLY immediate ;

类似的还可以做逃过其他操作



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值