配置Oracle Streams时在删除进程出错ORA-26663


配置Streams时在删除进程出错ORA-26663:
SQL> exec dbms_apply_adm.drop_apply('TARGET_APPLY_STREAM');
BEGIN dbms_apply_adm.drop_apply('TARGET_APPLY_STREAM'); END;

*
ERROR at line 1:
ORA-26663: error queue for apply process ORA-26663: error queue for apply
process TARGET_APPLY_STREAM must be empty
must be empty
ORA-06512: at "SYS.DBMS_APPLY_ADM_INTERNAL", line 359
ORA-06512: at "SYS.DBMS_APPLY_ADM_INTERNAL", line 334
ORA-06512: at "SYS.DBMS_APPLY_ADM", line 690
ORA-06512: at line 1

这些需要删除表中的错误信息:
select * from dba_apply_error
exec DBMS_APPLY_ADM.DELETE_ALL_ERRORS(apply_name=>'TARGET_APPLY_STREAM')

再次执行可以
 exec dbms_apply_adm.drop_apply('TARGET_APPLY_STREAM');

删除配置的进程如下:
select capture_name from dba_capture
exec dbms_capture_adm.drop_capture('CAPTURE_STREAM')

select propagation_name from dba_propagation
exec dbms_propagation_adm.drop_propagation('SOURCE_TO_TARGET')

select apply_name from dba_apply
exec dbms_apply_adm.drop_apply('TARGET_APPLY_STREAM')

清除整个streams配置:(这会删除整个数据库中的Streams配置,如果有两个streams的用户,会把这两个用户的进程删清楚掉)
exec dbms_streams_adm.remove_streams_configuration;

相关内容