Oracle 数据泵管理参考

--数据泵管理参考

--所需权限
--数据泵权限
EXP_FULL_DATABASE
IMP_FULL_DATABASE
--OR
--赋予角色
DATAPUMP_EXP_FULL_DATABASE 
DATAPUMP_IMP_FULL_DATABASE

GRANTED_ROLE
------------------------------
CONNECT
RESOURCE
EXP_FULL_DATABASE


--查看进度
查看EXPDP/IMPDP的进度
1.两个视图
DBA_DATAPUMP_JOBS;
DBA_DATAPUMP_SESSIONS;

SET LINESIZE 150
COL OWNER_NAME FOR A15
COL STATE FOR A15
COL OPERATION FOR A10
SELECT OWNER_NAME,OPERATION,JOB_NAME,STATE,DEGREE FROM DBA_DATAPUMP_JOBS;

SET LINESIZE 150
COL OWNER_NAME FOR A15
SELECT * FROM DBA_DATAPUMP_SESSIONS;


2.EXPDP/IMPDP控制台查看进程状态
EXPDP ATTACH=JOB_NAME
IMPDP ATTACH=JOB_NAME

--总结交互命令
HELP
--分离和删除作业
KILL_JOB
--更改当前作业的活动 worker 的数目
PARALLEL=8
--启动/恢复当前作业,打开暂停的JOB(并未开始重新执行)
start_job
--通过此命令重新启动 "MY_JOB"
continue_client
--在开始作业之前将跳过作业停止时执行的任意操作
START_JOB=SKIP_CURRENT
--在默认值 (0)将显示可用时的新状态的情况下,要监视的频率 (以秒计)作业状态
STATUS
STATUS[=interval]
--顺序关闭执行的作业并退出客户机
STOP_JOB
--将立即关闭数据泵作业
STOP_JOB=IMMEDIATE


--清除错误的JOB(EXPDP/IMPDP)
--DBA_DATAPUMP_JOBS记录了使用数据泵(impdp/expdp)时的一些错误信息
--通过查询DBA_DATAPUMP_JOBS可以获得错误信息的具体情况:
SELECT OWNER_NAME, JOB_NAME, STATE FROM DBA_DATAPUMP_JOBS;

--定位
--locate Data Pump jobs:
SET LINES 200 
COL OWNER_NAME FORMAT A10;
COL JOB_NAME FORMAT A20 
COL STATE FORMAT A12 
COL OPERATION LIKE STATE 
COL JOB_MODE LIKE STATE 
COL OWNER.OBJECT FOR A50
  SELECT OWNER_NAME,
         JOB_NAME,
         RTRIM(OPERATION) "OPERATION",
         RTRIM(JOB_MODE) "JOB_MODE",
         STATE,
         ATTACHED_SESSIONS
    FROM DBA_DATAPUMP_JOBS
   WHERE JOB_NAME NOT LIKE 'BIN$%'
   ORDER BY 1, 2;

--LOCATE DATA PUMP MASTER TABLES: 
col OWNER.OBJECT for a35
  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;

--其中的JOB_NAME对应数据库中的一张表,这个表中的数据可以被清除掉
--获得清除表记录的SQL:
SELECT 'DROP TABLE ' || OWNER_NAME || '.' || JOB_NAME || ';'
  FROM DBA_DATAPUMP_JOBS;
--purge不放到回收站中,强制清除
SELECT 'DROP TABLE ' || OWNER_NAME || '.' || JOB_NAME || ' PURGE;'
  FROM DBA_DATAPUMP_JOBS;


--查询并行
select SLAVE_NAME,STATUS,SESSIONS from v$pq_slave;
--or
--查询trace文件(同时会产生n个并行进程的trace文件)sid_p*.trc


 

你可能感兴趣的:(Oracle)