[TOC] 这节内容为如何查看和监控数据泵的状态 ## 1. 监控操作系统进程 ``` ps -ef |grep expdp ps -ef |grep impdp ``` ##2. 查看日志文件 注意如果查看的是import日志记得加feedback=1000 参数 这样使其每insert 1000行才显示 ``` tail -f expdp.log ``` ##3. 查看相关视图 ###3.1 DBA_DATAPUMP_JOBS 该视图显示所有的数据泵任务和它们的状态 [image:113 size:orig] ###3.2 USER_DATAPUMP_JOBS 查看当前用户的数据泵任务和它们的状态 ###3.3 DBA_DATAPUMP_SESSIONS [image:114 size:orig] 这里可以根据SADDR定位的SID ``` select sid, serial# from v$session s, dba_datapump_sessions d where s.saddr = d.saddr; ``` · ###3.4 V$SESSION_LONGOPS 这里可以也可以看到一些数据泵的踪迹 ``` select sid, serial#, sofar, totalwork from v$session_longops; ``` [image:115 size:orig] ## 4. 交互命令模式 ###4.1 当前会话进入 我们这里使用Ctrl+C 进入命令模式 [image:116 size:orig] ###4.2 其他会话进入 我们知道expdp/impdp实际上是Job 查看当前运行的Job名称 ``` SELECT j.owner_name, j.job_name, j.job_mode, j.state, s.session_type, s.saddr FROM dba_datapump_jobs j,dba_datapump_sessions s WHERE UPPER(j.job_name) = UPPER(s.job_name); ``` [image:117 size:orig] 之后根据Job name进入 ``` expdp system/mypassword attach=SYSTEM.SYS_EXPORT_SCHEMA_01; ``` [image:118 size:orig] impdp同理 ``` impdp user/password attach='job_user.job_name' ``` 之后查看状态 ``` impdp> status ```