当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-06-13

    本文导语: 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:...

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.

删除成功。


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.sound.midi类sequence的类成员方法: smpte_30drop定义及介绍
  • Drop Down Panel script
  • java命名空间java.awt.dnd类droptarget的类成员方法: drop定义及介绍
  • 响应式 jQuery 插件 Tipue drop
  • java命名空间java.awt.dnd接口droptargetlistener的类成员方法: drop定义及介绍
  • jQuery 下拉列表 Custom Drop
  • Mega Drop Down Menus
  • jQuery Drop Line Menu
  • jQuery下拉菜单插件 jQuery Simple Drop Down Menu
  • 浅析删除表的几种方法(delete、drop、truncate)
  • oracle drop table(表)数据恢复方法
  • iptables在使用drop的默认规则下,如何打开DNS服务
  • sql中的truncate、delete及drop的区别
  • drop,truncate与delete的区别
  • 详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始
  • sqlserver 日志恢复方法(搞定drop和truncate)
  • 一次 sql server 日志恢复的记录(搞定drop和truncate)
  • 为什么使用iptables -A INPUT -p tcp --dport 7777 -j DROP指令后,只是过滤端口而不是关闭?
  • 浅析drop user与delete from mysql.user的区别
  • 关于iptables -P 如何将IP地址过滤功能的默认处理方式设置为DROP?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,