• Drop goldengate用户时报ORA-00604 ORA-20782 ORA-06512问题解决


    1、问题现象
    SQL> drop user goldengate cascade;
    Drop goldengate用户时,报ORA-00604 ORA-20782 ORA-06512错误,具体报错内容如下:
    drop user goldengate cascade
    *
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 2
    ORA-20782: Oracle GoldenGate DDL Replication Error: Code :ORA-20782: Cannot
    DROP object used in Oracle GoldenGate replication while trigger is enabled.
    Consult Oracle GoldenGate documentation and/or call Oracle GoldenGate Technical
    Support if you wish to do so., error stack: ORA-06512: at line 261
    ORA-06512: at line 1111

    2、原因分析
    由于在安装OGG时,配置并开启了DDL捕获功能,而OGG的DDL捕获,是依赖DDL触发器实现的,DDL处于enabled状态,drop goldengate user操作也属于DDL操作,所以产生ORA-00604 ORA-20782错误

    3、验证DDL触发器状态

    SQL> set linesize 999
    SQL>select owner,trigger_name,trigger_type,triggering_event,status from dba_triggers where trigger_name like 'GGS%';
    OWNER TRIGGER_NAME TRIGGER_TYPE TRIGGERING_EVENT STATUS
    ----------------- --------------------------- ----------------------- ----------------------------- ---------
    SYS GGS_DDL_TRIGGER_BEFORE BEFORE EVENT DDL ENABLED

    4、删除触发器
    SQL>drop trigger sys.GGS_DDL_TRIGGER_BEFORE

    5、再次尝试删除用户
    SQL> drop user goldengate cascade;
    drop user goldengate cascade
    *
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-14452: attempt to create, alter or drop an index on temporary table already in use
    再次报错,但是报错内容发生了改变
    报错意思为:试图创建,更改或删除正在使用的临时表中的索引

    6、找出正在使用临时表的会话,并killsession
    SQL>select 'alter system kill session '''||sid||','||serial#||'''' from v$session where sid in
    (select sid from v$lock where id1 in
    (select object_id from dba_objects where object_name in (select table_name from dba_tables where owner='GOLDENGATE')));

    7、再次删除用户
    SQL> drop user goldengate cascade;
    User dropped.
    删除成功.

  • 相关阅读:
    动态加载配置文件
    Split Full Name as First and Last
    MM03物料主数据视图中某些视图或者某些字段的控制方法
    如何用《老友记》学英语?
    FOR ALL ENTRIES IN的用法
    [转载]MBEWH表数据更新逻辑
    如何学习《六人行》??
    英语口语练习方法
    SAP收货时自动创建采购订单
    BAPI_PO_CREATE1 创建采购订单时价格的处理函数
  • 原文地址:https://www.cnblogs.com/hxlasky/p/12489079.html
Copyright © 2020-2023  润新知