如何kill掉RMAN备份进程
本文的目的就是在紧急状态下,需要立即终止正在进行的RMAN备份进程。 (1)查看RMAN分配的各个通道的进程号 SQL> SELECT sid, spid, client_info FROM v$process p, v$session s WHERE p.addr = s.paddr AND client_info LIKE '%rman%'; SID SPID CLIENT_INFO ---------- ------------------------ ------------------------- 525 26244 rman channel=t1 1023 26245 rman channel=t2 699 26246 rman channel=t3 (2)根据第(1)中得到的进程号,终止RMAN备份 注:这里既要kill 掉RMAN备份脚本的PID, 也要kill 掉RMAN中分配的各个通道的PID subsdb1:~ # ps -ef | grep 26244 Oracle 26244 26224 7 17:12 ? 00:01:49 oraclesubsdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) root 9877 9603 0 17:34 pts/11 00:00:00 grep 26244 subsdb1:~ # kill -9 26244 subsdb1:~ # ps -ef | grep 26245 oracle 26245 26224 5 17:12 ? 00:01:13 oraclesubsdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) root 9968 9603 0 17:35 pts/11 00:00:00 grep 26245 subsdb1:~ # kill -9 26245 subsdb1:~ # ps -ef | grep 26246 oracle 26246 26224 4 17:12 ? 00:01:03 oraclesubsdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) root 10009 9603 0 17:35 pts/11 00:00:00 grep 26246 subsdb1:~ # kill -9 26246 subsdb1:~ # ps -ef | grep rman oracle 26224 25962 0 17:11 pts/3 00:00:03 rman target / nocatalog root 10061 9603 0 17:35 pts/11 00:00:00 grep rman subsdb1:~ # kill -9 26224 subsdb1:~ # ps -ef | grep rman root 10102 9603 0 17:36 pts/11 00:00:00 grep rman subsdb1:~ # ps -ef | grep 26246 root 10213 9603 0 17:36 pts/11 00:00:00 grep 26246 此时RMAN备份操作已经被终止。查看(1)中的SQL语句时,结果为空。 说明:如果单单kill掉RMAN的进程号,那么RMAN备份并没有停止,而是要连channel进程也一起掉才可以! |