oracle的后台进程杀掉会有什么影响

以下练习出自于DBA思想的天空:

数据库版本为:

	10.2.0.1.0
在启动数据库之后,出现的进程为

oracle   20037     1  0 06:46 ?        00:00:00 ora_pmon_orcl
oracle   20039     1  0 06:46 ?        00:00:00 ora_psp0_orcl
oracle   20041     1  0 06:46 ?        00:00:00 ora_mman_orcl
oracle   20043     1  0 06:46 ?        00:00:00 ora_dbw0_orcl
oracle   20045     1  0 06:46 ?        00:00:00 ora_lgwr_orcl
oracle   20047     1  0 06:46 ?        00:00:00 ora_ckpt_orcl
oracle   20049     1  0 06:46 ?        00:00:00 ora_smon_orcl
oracle   20051     1  0 06:46 ?        00:00:00 ora_reco_orcl
oracle   20053     1  0 06:46 ?        00:00:00 ora_cjq0_orcl
oracle   20055     1  0 06:46 ?        00:00:00 ora_mmon_orcl
oracle   20057     1  0 06:46 ?        00:00:00 ora_mmnl_orcl
oracle   20059     1  0 06:46 ?        00:00:00 ora_d000_orcl
oracle   20061     1  0 06:46 ?        00:00:00 ora_s000_orcl
oracle   20081     1  0 06:46 ?        00:00:00 ora_arc0_orcl
oracle   20083     1  0 06:46 ?        00:00:00 ora_arc1_orcl
oracle   20085     1  0 06:46 ?        00:00:00 ora_arc2_orcl
oracle   20097     1  0 06:46 ?        00:00:00 ora_qmnc_orcl
oracle   20107     1  0 06:46 ?        00:00:00 ora_q000_orcl
oracle   20109     1  0 06:46 ?        00:00:00 ora_q001_orcl
oracle   20114     1  0 06:47 ?        00:00:00 ora_j000_orcl

1、 shared server和dedicated server连接方式不同,进程会有所有不同

shared  server 比dedicated server要多两个进程,进程名字分别为

		ora_s001_orcl
		ora_s002_orcl
2、 杀掉各种进程产生的不同后果

2.1 kill dbw0 process

Tue May 14 03:57:32 2013
Errors in file /home/oracle/admin/orcl/bdump/orcl_pmon_5562.trc:
ORA-00471: Message 471 not found; No message file for product=RDBMS, facility=ORA
Tue May 14 03:57:32 2013
PMON: terminating instance due to error 471
Instance terminated by PMON, pid = 5562

杀掉进程DBWR会导致实例关闭,此进程执行将数据块缓冲区写入数据文件的工作

2.2  kill lgwr process

Tue May 14 04:00:09 2013
Errors in file /home/oracle/admin/orcl/bdump/orcl_pmon_5792.trc:
ORA-00470: Message 470 not found; No message file for product=RDBMS, facility=ORA
Tue May 14 04:00:09 2013
PMON: terminating instance due to error 470
Instance terminated by PMON, pid = 5792

杀掉进程lgwr会导致实例关闭,此进程负责将redo log buffer中的数据写入到redo log 文件中

2.3 kill ckpt process

Tue May 14 04:01:31 2013
Errors in file /home/oracle/admin/orcl/bdump/orcl_pmon_5906.trc:
ORA-00469: Message 469 not found; No message file for product=RDBMS, facility=ORA
Tue May 14 04:01:31 2013
PMON: terminating instance due to error 469
Instance terminated by PMON, pid = 5906

杀掉进程CKPT会导致实例关闭,此进程负责在检查点出现时,对全部数据文件的文件头进行修改,并在控制文件中记录该检查点

2.4 kill pmon process

Tue May 14 04:04:10 2013
PSP0: terminating instance due to error 472
Instance terminated by PSP0, pid = 6163

在短暂的时间还能进入sqlplus,然后进行简单的查询操作,但是不会很久,然后实例被关闭

PMON进程负责在用户进程出现故障时执行进程恢复,负责清理存储区和释放该进程所使用的资源。

2.5 kill smon process

Tue May 14 04:05:57 2013
Errors in file /home/oracle/admin/orcl/bdump/orcl_pmon_6380.trc:
ORA-00474: Message 474 not found; No message file for product=RDBMS, facility=ORA
Tue May 14 04:05:57 2013
PMON: terminating instance due to error 474
Instance terminated by PMON, pid = 6380
杀掉进程SMON会导致实例关闭,此进程负责在实例启动时执行实例恢复,并清理不在使用的临时段。

2.6 kill reco process

Tue May 14 04:07:19 2013
Errors in file /home/oracle/admin/orcl/bdump/orcl_pmon_6501.trc:
ORA-00476: Message 476 not found; No message file for product=RDBMS, facility=ORA
Tue May 14 04:07:19 2013
PMON: terminating instance due to error 476
Instance terminated by PMON, pid = 6501

杀掉进程RECO会导致实例关闭,此进程能够自动解决分布式事务中的故障。

2.7 kill mman process

Tue May 14 04:18:37 2013
Errors in file /home/oracle/admin/orcl/bdump/orcl_pmon_6604.trc:
ORA-00822: Message 822 not found; No message file for product=RDBMS, facility=ORA
Tue May 14 04:18:37 2013
PMON: terminating instance due to error 822
Instance terminated by PMON, pid = 6604
杀掉进程MMAN会导致实例关闭,此进程实现共享内存自动管理的功能。

2.8 kill psp0 process

Tue May 14 07:05:28 2013
Errors in file /home/oracle/admin/orcl/bdump/orcl_pmon_20037.trc:
ORA-00490: Message 490 not found; No message file for product=RDBMS, facility=ORA
Tue May 14 07:05:28 2013
PMON: terminating instance due to error 490
Instance terminated by PMON, pid = 20037
杀掉进程PSP0进程会导致实例关闭,此进程主要负责启动其他的进程

2.9 kill cjq0 process

Tue May 14 04:13:10 2013
Restarting dead background process CJQ0
CJQ0 started with pid=10, OS id=6845

杀掉此进程无影响,过会进程会自动启动;

另外产生的进程ora_j000_orcl 等都是可以杀的、、、、也是可以自动重启的。

CJQ是一个任务调度进程,J000是调动的job进程。

ARCH进程杀掉之后,也是可以自动重启的

QMON进程是队列监控同步进程(QMNC)和队列服务进程(QXXX)的统称,都是可以杀掉然后自动重启的

MMON进程是管理监控进程,也是可以杀掉然后自动重启的

Dispatcher进程DXXXX,共享服务进程SXXX,并行进程PXXXX/PZXX。高级队列从属进程QXXX,均是可以杀掉,然后自动重启的进程。


————————————————————————

在独立服务器中,有8个核心进程是不能杀掉的,其余的均是可以杀掉,然后回自动重启

不能杀掉的进程分别为:

DBWR,LGWR,CKPT,PMON,SMON,RECO,MMAN,PSP0,

在杀掉进程之后,都是PMON和PSP0来将实例终止,从而同时杀掉PMON和PSP0进程,发现DBWR会将实例终止

当将PMON、PSP0、DBWR进程同时杀死之后,MMAN进程会将实例终止

当将PMON、PSP0、DBWR、MMAN进程同时杀死之后,LGWR进程会将实例终止

当将8个核心进程同时杀掉之后,CJQ0会将实例终止


如果将所有关键进程都关闭的情况下,会出现:

Tue May 14 19:19:47 2013
USER: terminating instance due to error 472
Instance terminated by USER, pid = 5138
从而,实例会被用户关闭。

for linux and python
原文地址:https://www.cnblogs.com/kellyseeme/p/5525200.html