有的时候因为某些原因需要KILL掉RMAN进程。但是直接KILL掉RMAN进程的pid还是不能彻底杀掉,而是要连channel进程也一起KILL才可以!下面提供一个彻底KILL的方法供参考。
1、看一下KILL掉RMAN进程的pid的效果
-
[oracle@test backup]$ ps -ef|grep rman
-
oracle 15172 15039 0 Aug14 pts/0 00:00:00 sh rmanbak.sh
-
oracle 15174 15172 0 Aug14 pts/0 00:00:04 rman le/db/bin/rman target / log /backup/rmanlog_2015-08-14_2117
-
oracle 31163 15039 0 09:20 pts/0 00:00:00 grep rman
-
[oracle@test backup]$ kill 15174
-
[oracle@test backup]$ ps -ef|grep rman
-
oracle 31172 15039 0 09:20 pts/0 00:00:00 grep rman
-
[1]+ Exit 143 nohup sh rmanbak.sh > rmanbak.log
-
[oracle@test backup]$
-
[oracle@test backup]$ ps -ef|grep rman --------这里看到rman进程已经没有了
-
oracle 31174 15039 0 09:20 pts/0 00:00:00 grep rman
-
[oracle@test backup]$ ls -l ./data/*
-
-rw-r----- 1 oracle oinstall 7259655680 Aug 14 21:50 ./data/arch_20150814_25
-rw-r----- 1 oracle oinstall 3811864064 Aug 14 21:30 ./data/arch_20150814_26
-rw-r----- 1 oracle oinstall 3586004992 Aug 14 21:32 ./data/arch_20150814_27
-rw-r----- 1 oracle oinstall 214711808 Aug 14 21:31 ./data/arch_20150814_28
-rw-r----- 1 oracle oinstall 53685395456 Aug 15 02:18 ./data/full_20150814_31
-rw-r----- 1 oracle oinstall 32226762752 Aug 15 04:49 ./data/full_20150815_31
-rw-r----- 1 oracle oinstall 32511107072 Aug 15 09:20 ./data/full_20150815_32
[oracle@test backup]$ ls -l ./data/*
-rw-r----- 1 oracle oinstall 7259655680 Aug 14 21:50 ./data/arch_20150814_25
-rw-r----- 1 oracle oinstall 3811864064 Aug 14 21:30 ./data/arch_20150814_26
-rw-r----- 1 oracle oinstall 3586004992 Aug 14 21:32 ./data/arch_20150814_27
-rw-r----- 1 oracle oinstall 214711808 Aug 14 21:31 ./data/arch_20150814_28
-rw-r----- 1 oracle oinstall 53685395456 Aug 15 02:18 ./data/full_20150814_31
-rw-r----- 1 oracle oinstall 32226762752 Aug 15 04:49 ./data/full_20150815_31
-rw-r----- 1 oracle oinstall 32537321472 Aug 15 09:20 ./data/full_20150815_32
[oracle@test backup]$ ls -l ./data/*
-rw-r----- 1 oracle oinstall 7259655680 Aug 14 21:50 ./data/arch_20150814_25
-rw-r----- 1 oracle oinstall 3811864064 Aug 14 21:30 ./data/arch_20150814_26
-rw-r----- 1 oracle oinstall 3586004992 Aug 14 21:32 ./data/arch_20150814_27
-rw-r----- 1 oracle oinstall 214711808 Aug 14 21:31 ./data/arch_20150814_28
-rw-r----- 1 oracle oinstall 53685395456 Aug 15 02:18 ./data/full_20150814_31
-rw-r----- 1 oracle oinstall 32226762752 Aug 15 04:49 ./data/full_20150815_31
-rw-r----- 1 oracle oinstall 32548855808 Aug 15 09:21 ./data/full_20150815_32
-
这个文件还在不断的增加大小,说明后台rman还在备份。
2、找到channel的进程号
我的备份设置了3个通道,因为有2个通道报错,所以我才要停掉RMAN,下面找出3个channel。
-
SQL> SELECT sid, spid, client_info
-
2 FROM v$process p, v$session s
-
3 WHERE p.addr = s.paddr
-
4 AND client_info LIKE '%rman%';
-
-
SID SPID CLIENT_INFO
-
---------- ------------ ------------------------------
-
614 15182 rman channel=c1
-
648 15183 rman channel=c2
-
781 15184 rman channel=c3
3、杀掉channel的进程
下面就杀掉3个channel的进程,这样才能完全停止rman。
-
[oracle@test backup]$ ps -ef|grep 15182
-
oracle 15182 1 72 Aug14 ? 08:41:15 oracleoutdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
-
oracle 31192 15039 0 09:21 pts/0 00:00:00 grep 15182
-
[oracle@test backup]$ kill -9 15182
-
[oracle@test backup]$ ps -ef|grep 15183
-
oracle 15183 1 69 Aug14 ? 08:20:20 oracleoutdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
-
oracle 31234 15039 0 09:22 pts/0 00:00:00 grep 15183
-
[oracle@test backup]$ kill -9 15183
-
[oracle@test backup]$ ps -ef|grep 15184
-
oracle 15184 1 75 Aug14 ? 09:08:47 oracleoutdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
-
oracle 31248 15039 0 09:22 pts/0 00:00:00 grep 15184
-
[oracle@test backup]$ kill -9 15184
-
[oracle@test backup]$
-
[oracle@test backup]$ ls -l ./data/*
-
-rw-r----- 1 oracle oinstall 7259655680 Aug 14 21:50 ./data/arch_20150814_25
-
-rw-r----- 1 oracle oinstall 3811864064 Aug 14 21:30 ./data/arch_20150814_26
-
-rw-r----- 1 oracle oinstall 3586004992 Aug 14 21:32 ./data/arch_20150814_27
-
-rw-r----- 1 oracle oinstall 214711808 Aug 14 21:31 ./data/arch_20150814_28
-
-rw-r----- 1 oracle oinstall 53685395456 Aug 15 02:18 ./data/full_20150814_31
-
-rw-r----- 1 oracle oinstall 32226762752 Aug 15 04:49 ./data/full_20150815_31
-
-rw-r----- 1 oracle oinstall 32956751872 Aug 15 09:23 ./data/full_20150815_32
-
[oracle@test backup]$
-
[oracle@test backup]$ ls -l ./data/*
-
-rw-r----- 1 oracle oinstall 7259655680 Aug 14 21:50 ./data/arch_20150814_25
-
-rw-r----- 1 oracle oinstall 3811864064 Aug 14 21:30 ./data/arch_20150814_26
-
-rw-r----- 1 oracle oinstall 3586004992 Aug 14 21:32 ./data/arch_20150814_27
-
-rw-r----- 1 oracle oinstall 214711808 Aug 14 21:31 ./data/arch_20150814_28
-
-rw-r----- 1 oracle oinstall 53685395456 Aug 15 02:18 ./data/full_20150814_31
-
-rw-r----- 1 oracle oinstall 32226762752 Aug 15 04:49 ./data/full_20150815_31
-
-rw-r----- 1 oracle oinstall 32956751872 Aug 15 09:23 ./data/full_20150815_32
-
-------KILL了3个channel进程后,文件不在增加
-
SQL> SELECT sid, spid, client_info
2 FROM v$process p, v$session s
3 WHERE p.addr = s.paddr
4 AND client_info LIKE '%rman%';
no rows selected
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
[oracle@test backup]$ ps -ef|grep rman
-
oracle 31258 15039 0 09:23 pts/0 00:00:00 grep rman
这样整个RMAN进程就停了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/205377/viewspace-1772779/
,如需转载,请注明出处,否则将追究法律责任。