故障描述
数据库逻辑导入数据库无法创建 job
问题详细诊断过程
一、问题错误
执行expdp 出现下列错误
|
ORA-31626: job does not exist ORA-31637: cannot create job SYS_EXPORT_TABLE_03 for user SYSTEM ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95 ORA-06512: at "SYS.KUPV$FT_INT", line 798 ORA-39244: Event to disable dropping null bit image header during relational select ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86 ORA-06512: at "SYS.KUPC$QUE_INT", line 1825 ORA-24001: cannot create QUEUE_TABLE, SYS.KUPC$DATAPUMP_QUETAB_1 already exists |
二、处理方式
1 、查询无效对象
SQL>select object_name from all_objects where owner='SYS' and status='INVALID';
|
OBJECT_NAME ------------------------------ KUPC$DATAPUMP_QUETAB_1 SYSNTfVzZ/2KLQNTgQ8CoAAJA1A== SYSNTfVzZ/2KNQNTgQ8CoAAJA1A== SYSNTfVzZ/2KPQNTgQ8CoAAJA1A== AQ$_KUPC$DATAPUMP_QUETAB_V AQ$_KUPC$DATAPUMP_QUETAB_E AQ$_KUPC$DATAPUMP_QUETAB_F AQ$KUPC$DATAPUMP_QUETAB SBF_PUBLIC |
无效对象中有datapump 组件
2 、删除datapump queue 表
SQL>exec dbms_aqadm.drop_queue_table(queue_table =>'KUPC$DATAPUMP_QUETAB_2', force=> TRUE);
3 、编译无效对象
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
4 、检查无效组件
SQL>select object_name from all_objects where owner='SYS' and status='INVALID';
5 、到此没有无效组件,如果有,重启实例,继续报错
|
ORA-39006: internal error ORA-39065: unexpected master process exception in DISPATCH ORA-01403: no data found ORA-39097: Data Pump job encountered unexpected error 100 |
6 、执行 SQL>@$ORACLE_HOME/rdbms/admin/catmet2.sql
