监控Oracle数据泵状态

2020-08-19 16:21:36 浏览数 (2)

这节内容为如何查看和监控数据泵的状态

1. 监控操作系统进程

代码语言:javascript复制
ps -ef |grep expdp

ps -ef |grep impdp

2. 查看日志文件

注意如果查看的是import日志记得加feedback=1000 参数

这样使其每insert 1000行才显示

代码语言:javascript复制
tail -f expdp.log

3. 查看相关视图

3.1 DBA_DATAPUMP_JOBS

该视图显示所有的数据泵任务和它们的状态

3.2 USER_DATAPUMP_JOBS

查看当前用户的数据泵任务和它们的状态

3.3 DBA_DATAPUMP_SESSIONS

这里可以根据SADDR定位的SID

代码语言:javascript复制
select 
   sid, 
   serial#
from 
   v$session s, 
   dba_datapump_sessions d
where 
   s.saddr = d.saddr;

·

3.4 V$SESSION_LONGOPS

这里可以也可以看到一些数据泵的踪迹

代码语言:javascript复制
select 
   sid, 
   serial#, 
   sofar, 
   totalwork
from 
   v$session_longops;

4. 交互命令模式

4.1 当前会话进入

我们这里使用Ctrl C 进入命令模式

4.2 其他会话进入

我们知道expdp/impdp实际上是Job

查看当前运行的Job名称

代码语言:javascript复制
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);

之后根据Job name进入

代码语言:javascript复制
expdp system/mypassword attach=SYSTEM.SYS_EXPORT_SCHEMA_01;

impdp同理

代码语言:javascript复制
impdp user/password
attach='job_user.job_name'

之后查看状态

代码语言:javascript复制
impdp> status

0 人点赞