一、排除某些对象(表、索引、包 等)
使用EXCLUDE参数,用法如下:
EXCLUDE=object_type[:name_clause] [, ...]
示例:
1、使用par文件,新建一个.par文件,文件名随意如exclude.par,内容如下示例
EXCLUDE=FUNCTION
EXCLUDE=PROCEDURE
EXCLUDE=PACKAGE
EXCLUDE=INDEX:"LIKE 'EMP%' "
2、在impdp命令中加入参数使用par文件,示例如下:
impdp system DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp PARFILE=exclude.par
注意:引号需使用转义方式,示例如下:
EXCLUDE=TABLE:\"IN (\'TABLE1\', \'TABLE2\')\"
二、查询导入任务的状态:
1、确定job名称,导入日志的开头会显示job名称,如下:
2、使用如下命令查询当前job的状态:
impdp system attach=JOBNAME
三、清除DBA_DATAPUMP_JOBS视图中的异常数据泵作业
DBA_DATAPUMP_JOBS视图中可查询数据泵作业的信息,因为强行终端导入导出任务等原因有时会产生异常作业,可用以下步骤清除:
1、查找在数据库中有哪些数据泵作业:
set lines 200 pages 200
COL owner_name FORMAT a10;
COL job_name FORMAT a20
COL state FORMAT a12
COL operation LIKE state
COL job_mode LIKE state
SELECT owner_name, job_name, operation, job_mode,
state, attached_sessions
FROM dba_datapump_jobs
WHERE job_name NOT LIKE 'BIN$%'
ORDER BY 1,2;
OWNER_NAME JOB_NAME OPERATION JOB_MODE STATE ATTACHED_SESSIONS
---------- -------------------- ------------ ------------ ------------ -----------------
SYS CSBLOG_JOB EXPORT SCHEMA NOT RUNNING 0
确保查询出的作业不是活动的数据泵作业,状态应该是“NOT RUNNING”,而且是非暂停作业。
2、查找相关的master表
col "OWNER.OBJECT" for a30
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;
STATUS OBJECT_ID OBJECT_TYPE OWNER.OBJECT
------- ---------- ------------------- ------------------------------
VALID 252249 TABLE SYS.CSBLOG_JOB
3、对于以前终止的或者以后不会再启动的作业,删除它对应的master表
drop table SYS.CSBLOG_JOB purge;
4、再次检查,确认作业不再存在。