expdep
我正在尝试在 Oracle 数据库上运行架构导出:
expdp somedatabase/something directory=EXP_DIR schemas=someschema dumpfile=dumpfile.dmp logfile=logfile.log
上述命令(虽然为了发布这个问题而进行了编辑)之前一直有效,但现在我收到此错误:
ORA-31626: job does not exist
ORA-31633: unable to create master table "SOMEDATABASE.SYS_EXPORT_SCHEMA_09"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT", line 1161
ORA-01658: unable to create INITIAL extent for segment in tablespace USERS
ORA-06512: at "SYS.KUPV$FT", line 1054
ORA-06512: at "SYS.KUPV$FT", line 1042
我有理由相信,根本原因是与早期数据泵相关的作业已停滞,这些作业被半中止(ctrl+c),并且其目标文件已被删除。
我该如何清除这些作业以便可以从头开始重新启动数据泵?
从外观上看,我在 Centos 上运行的是 12.2.0.1 版本。
答案1
我设法在谷歌搜索结果深处找到了解决方案。这对我有用:
步骤 1:查找停滞的作业:
SELECT o.status, o.object_id, o.object_type, o.owner||'.'||object_name "OWNER.OBJECT" FROM dba_objects o, dba_datapump_jobs j WHERE o.owner=j.owner_name AND o.object_name=j.job_name AND j.job_name NOT LIKE 'BIN$%' ORDER BY 4,2;
第 2 步,删除它们:
drop table TABLENAME_RETURNED_IN_STEP_1;
此后我就能像以前一样进行导出了。