ITPub博客

首页 > 数据库 > Oracle > OGG 中 SUPPRESSTRIGGERS参数的用法

OGG 中 SUPPRESSTRIGGERS参数的用法

Oracle 作者:caisanpx 时间:2016-10-09 11:12:58 0 删除 编辑
SUPPRESSTRIGGERS:该参数是suppress triggers两个单词合并而来,可以理解为抑制触发器。当我们做OracleGoldengate初始化时,灾备端的复制进程Replicat启动之前必须要做的一个步骤就是禁用触发器(为什么要这么做暂不讨论)。常用的做法是在灾备端sqlplus中执行语句来禁止触发器,例如:

SQL> declare
v_sql varchar2(2000);
CURSOR c_trigger IS SELECT 'alter trigger '||owner||'.'||trigger_name||' disable' from dba_triggers where owner in ('EPM_HA','XEPMA_HA','EPM_SEC','EPM_DE_HA','EPM_LOADC_HA','EPM_IC_HA','EPM_CP','FLOW_HA','EPM_HIS_HA','EPM_ERP_HA','EPM_BANK_HA','SYSODM','EPC_HA','EPSA_HA','EPM_RPT_HA');
BEGIN
OPEN c_trigger;
LOOP
FETCH c_trigger INTO v_sql;
EXIT WHEN c_trigger%NOTFOUND;
execute immediate v_sql;
end loop;
close c_trigger;
end;
/

如果使用SUPPRESSTRIGGERS参数就简单的多,只需要在目标端添加DBOPTIONS SUPPRESSTRIGGERS。该参数支持Oraclean10.2.0.5和11.2.0.2或更高版本,不支持11.1版本,需要注意。还有一点需要注意的时USERID,SOURCEDB参数在要写在DBOPTIONS SUPPRESSTRIGGERS之前。

GGSCI> EDIT PARAMS rt1

REPLICAT rt1
SETENV (NLS_LANG = "American_America.UTF8")
USERID oggadmin, PASSWORD AACAAAAAAAAAAAIARFBCXDACYBXIVCND, ENCRYPTKEY default
DBOPTIONS SUPPRESSTRIGGERS
GETTRUNCATES
REPORT AT 06:00
REPORTCOUNT EVERY 30 MINUTES, RATE
REPORTROLLOVER AT 02:00
REPERROR DEFAULT, ABEND
--HANDLECOLLISIONS
ALLOWNOOPUPDATES
DISCARDFILE ./dirrpt/repsa.dsc, APPEND, MEGABYTES 1024M
DISCARDROLLOVER AT 02:00
ASSUMETARGETDEFS
MAP snow.*, TARGET snow.*;


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26844646/viewspace-2125977/,如需转载,请注明出处,否则将追究法律责任。

下一篇: goldengate(24)
请登录后发表评论 登录
全部评论

注册时间:2012-04-12

  • 博文量
    165
  • 访问量
    443015