在ORACLE做RMAN备份的过程中,如果数据量较大,备份时间会非常耗时,并且对IO性能有较大影响,下面脚本可以查看RMAN的备份进度,从而估算剩余备份时间:
–查看RMAN备份进度
SELECT inst_id,
sid,
serial#,
opname,
ROUND(SOFAR / TOTALWORK * 100, 2) "%_COMPLETE"
FROM gV$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%'
--AND OPNAME NOT LIKE '%aggregate%'
AND TOTALWORK != 0
AND SOFAR <> TOTALWORK;
若在生产环境上进行RMAN备份,如果时间较长,并且对业务性能影响较大,需要临时中断RMAN备份任务,由于RMAN进程是在后台运行,所以需要找出相应的RMAN后台进程并KILL掉,下面脚本是定位正在运行的RMAN进程:
–查杀RMAN进程:
Select s.sid, s.serial#, p.spid, s.client_info
from v$process p, v$session s
where p.addr = s.paddr
and s.program like '%rman%';
找到进程号,直接kill掉
–另外下面脚本是针对EXPDP备份进程的定位:
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') "DATE", s.program, s.sid,
s.status, s.username, d.job_name, p.spid, s.serial#, p.pid
from v$session s, v$process p, dba_datapump_sessions d
where p.addr=s.paddr and s.saddr=d.saddr;
发表评论 取消回复