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 |
由于在安装OGG时,配置并开启了DDL捕获功能,而OGG的DDL捕获,是依赖DDL触发器实现的,DDL处于enabled状态,drop goldengate user操作也属于DDL操作,所以产生ORA-00604 ORA-20782错误
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 |
SQL>drop trigger sys.GGS_DDL_TRIGGER_BEFORE
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 |
再次报错,但是报错内容发生了改变
报错意思为:试图创建,更改或删除正在使用的临时表中的索引
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')));
SQL> drop user goldengate cascade;
User dropped.
删除成功。
本文作者:黎俊杰(网名:踩点),从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作
欢迎加入 系统性能优化专业群,共同探讨性能优化技术。群号:258187244