ORA-26863: Job “string” showing as an active job in DBA_STREAMS_SPLIT_MERGE does not exist in DBA_SCHEDULER_JOBS. ORACLE 报错 故障修复 远程处理
文档解释
ORA-26863: Job “string” showing as an active job in DBA_STREAMS_SPLIT_MERGE does not exist in DBA_SCHEDULER_JOBS.
Cause: An active job showing in DBA_STREAMS_SPLIT_MERGE did not exist. It may have been dropped accidently or something was wrong with it.
Action: Check trace to identify the problem and call DBMS_STREAMS_ADM.RECOVER_OPERATION() for error recovery.
答:
ORA-26863: Job “String” 是官方报出的一个错误,表示DBA_STREAMS_SPLIT_MERGE中的已被标记为活跃作业的Job“String”,实际上却不存在于 DBA_SCHEDULER_JOBS中。
造成该错误的原因是DBMS_SCHEDULER的一个Bug,会在在DBMS_SCHEDULER的JOBS表上把已删除JOB标记为运行中而留在内存中,因而产生上述冲突。
一般处理方法及步骤
1.首先确定该JOB存在于DBMS_SCHEDULER:
SELECT * from DBA_SCHEDULER_JOBS where job_name = ‘string’
2.如果查询显示Job不存在,那么应优先查看DBMS_SCHEDULER是否正常启动。
3.即使DBMS_SCHEDULER已启动,也可能要求关闭相应的实例,然后重新启动。
4.一旦实例启动,应首先检查DBMS_SCHEDULER是否正在正常运行,并确保已将Job ‘String’从DBMS_SCHEDULER中删除。
5.最后可以前往DBA_STREAMS_SPLIT_MERGE表以确认以“String”标记的Job已从表中删除,从而解决ORA-26863报错。