[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
```