Dropgoldengate用户时报ORA-00604ORA-20782ORA-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.

删除成功。

本文作者:黎俊杰(网名:踩点),从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作

欢迎加入 系统性能优化专业群,共同探讨性能优化技术。群号:258187244

作者:踩点
来源:CSDN
原文:https://blog.csdn.net/ljunjie82/article/details/43646705
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值