查杀Oracle RMAN备份任务进程【常见DBA实用应急处理】

在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;

©版权声明:本文为天凯DBS的原创文章,转载请附上原文出处链接及本声明,否则将追究法律责任。
原文链接:https://dbs-service.cn/a/210.html