首页 > 其他分享 >OGG-误删DDL触发器ggs_ddl_trigger_before恢复

OGG-误删DDL触发器ggs_ddl_trigger_before恢复

时间:2022-09-29 12:07:37浏览次数:87  
标签:触发器 ggs DDL 误删 trigger ddl OGG before


1.说明

在RAC环境中,由于两个节点都部署了OGG,而且部署同一套。而其中一个节点的OGG后期不需要了,需要卸载掉。

在卸载时候忽略了一个问题,把触发器ggs_ddl_trigger_before给删掉了,由于触发器名称相同,所以另一个节点的OGG就无法正常捕获DDL操作。
通过实验证明这个触发器的名称ggs_ddl_trigger_before对于DDL操作并没有影响。
OGG-ggs_ddl_trigger_before触发器名称对于DDL同步没有影

2.恢复

恢复方法就是重新创建触发器并启用即可,但是通过官方脚本ddl_setup.sql来创建触发器会报错,因为当前OGG已运行(哪怕关闭抽取进程),OGG用户下的表会有锁。而对于kill会话操作,可能会对ogg有影响。所以我这里直接把创建触发器的语句给提了出来,就单纯的创建触发器就行了。
创建触发器脚本:​​https://pan.baidu.com/s/1vSWv5N7abP8d_CJzdR6ocg​​
然后将脚本中的管理OGG的用户名替换为你环境中的用户名即可。默认是:ogg

  • 1)创建触发器
    SQL> @ggs_ddl_trigger_before.sql
    Trigger created.
  • 2)启用触发器
    SQL> ALTER TRIGGER sys.ggs_ddl_trigger_before ENABLE;
    Trigger altered.
  • 3)验证
    源库:新建一个表t2
    SQL> create table t2(id int);
    Table created.

目标库:

SQL> desc t2;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(38)

恢复成功。


标签:触发器,ggs,DDL,误删,trigger,ddl,OGG,before
From: https://blog.51cto.com/u_12946336/5722424

相关文章