ORA-31635: unable to establish job resource synchronization
Cause: A lock used in synchronizing Data Pump resources during job creation and deletion could not be obtained during job creation. This indicates that a process for some other Data Pump job has not released the lock due to an internal error.
Action: Eliminate the processes for any failed Data Pump job and try to create the new job again. If the error continues to occur, contact Oracle Customer Support and report the error.
ORA-31635: 无法建立Job资源同步
错误说明
ORA-31635是Oracle数据库中常见的错误之一,当执行DBMS_SCHEDULER中设置的任务时可能会出现此错误。此错误提示,无法建立Job资源同步,可能是因为无法访问Job定义模式,该schema不存在,或是它的访问权限被更改。
常见案例
ORA-31635的一种常见情况是在更改数据库中SCHEMA的USER ID和用户名字后出现。例如,用户从userA变更到userB,并将其所有对象重命名为userB。在这种情况下,将会出现ORA-31635错误。
解决方法
步骤1:检查资源的当前用户是否存在
可以通过下面的语句检查资源的当前用户是否存在:
SELECT COUNT(*) FROM dba_users WHERE USERNAME =–> ;
步骤2:检查与资源的当前用户相关的对象是否存在
如果资源的当前用户存在,则需要检查与资源的当前用户相关的对象是否存在:
SELECT COUNT(*) FROM DBA_OBJECTS WHERE OWNER= –>
步骤3:重新生成DBMS_SCHEDULER所有程序包
如果资源的当前用户相关的对象不存在,则需要重新生成DBMS_SCHEDULER所有程序包。可以使用以下SQL语句重新生成所有的DBMS_SCHEDULER程序包:
BEGIN
DBMS_SCHEDULER.run_and_compile(TRUE);
END;
如果在执行上述任何步骤时出现任何问题,请联系技术支持。