最佳实践:巧妙kill CRS进程而不导致主机重启

张大朋(Lunar)Oracle 资深技术专家

Lunar 拥有超过十年的 ORACLE SUPPORT 从业经验,曾经服务于ORACLE ACS部门,现就职于 ORACLE Sales Consultant 部门,负责的产品主要是 Exadata,Golden Gate,Database 等。

我们都知道,在RAC环境中,如果kill ocssd.bin进程,会引起主机重启。 但是有时候系统已经异常了了,且CRS不能正常关闭,而主机可能是几年没重启的老系统,没人敢重启,现在怎么办?

我们只能尝试手工kill进程的方式,然后手工修复CRS(注意,在10.2 RAC中,只有3个d.bin进程)。

测试环境:操作系统是OEL 6.6

这套RAC的CRS版本是11.2.0.4:

查看当前CRS的状态:

查看当前所有的CRS进程:

我们开始模拟kill进程。首先kill 掉/u01/app/11.2.0.4/grid/bin/ohasd.bin

如果大家了解11.2RAC的启动过程,我们会知道,kill后会自动重启 。

然后,我们kill cssdmonitor:

这里没有这个进程,表示cssdmonitor进程被重启过了

检查进程

上面进程启动时间在20:04~20:07之间的,都是被/u01/app/11.2.0.4/grid/bin/ohasd.bin进程重启后,自动后台重启的。

现在,我们kill mdnsd gpnpd gipcd osysmond。这4个进程中,前面3个是CRS启动除了ohasd以外,最早启动的几个进程。

如果kill这些进程,ohasd都会重启的:

这里我们看到,刚才kill 的4 进程都没起来,怎么回事?别急,还没到时间,ohasd需要check后才启动。

然后,我们kill 监听:

我们看到,刚才kill的进程都被重启了,11.2的RAC真强悍啊。

现在我们kill /etc/init.d/init.ohasd进程:

’这里我们看到的就是/etc/init.d/init.ohasd被系统自动重启的过程。这些信息会记录在/var/log/message/中:

而且他进程都被自动重启了(注意这是crsd进程还没被重启):

现在我们依次kill:evmlogger.bin gpnpd.bin mdnsd.bin gipcd.bin evmd.bin oraagent.bin scriptagent.bin oraagent.bin orarootagent.bin和两个lisnterner

然后,kill osysmond.bin ologgerd cssdmonitor cssdagent :

现在就剩下一个ocssd.bin了:

现在我们kill 传说中一旦被kill就会引起主机重启的进程 ocssd.bin :

好了,我们的系统都还好好的,没有重启,资源也都释放干净了:

如果要恢复,很简单,只要直接重启crs就ok了:

检查进程:

检查集群状态

这里只显示了节点1,因为节点2我关闭了。 测试证明,只要先kill cssdmonitor 和 cssdagent进程(准确的说是cssagent),再kill ocssd.bin进程,系统是不会重启的。

另外,12.1普通RAC(非Flex Cluster)的情况根本文一样,处理思路和过程也一样。

----the end

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2016-10-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT技术精选文摘

Presto内存调优及原理(基础篇)

Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。Presto支持在线数据查询,包括Hive, Cassandra,...

1485
来自专栏阿北的知识分享

浅谈csrf攻击以及yii2对其的防范措施

今天北哥就给大家普及下csrf是啥?如果你已经知道了可以直接拉文章到底部点个赞。:smile:

1856
来自专栏云加头条

小程序测试方案初探

对于小程序如何做测试,依然是一头雾水,直到做了不少的项目,积累的一些经验和开源库之后才理清如何做测试,下面将会介绍如何对小程序做 UI 测试和单元测试。

2.1K3
来自专栏张善友的专栏

TCPView for Windows

TCPView是一个用来显示系统中所有的TCP和UDP端点(endpoint)列表的Windows程序,包括本地和远程的网络地址,以及TCP连接的状态。在Win...

2147
来自专栏Kubernetes

原 荐 基于Kubernetes的ESaaS

概述 ESaaS(ElasticSearch as a Service)是ElasticSearch on Kubernetes的产品实现,是利用Docker和...

3186
来自专栏公有云大数据平台弹性 MapReduce

Presto内存调优及原理(基础篇)

Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。

1.5K8
来自专栏啸天"s blog

安卓百度网盘Aria2下载脚本

2292
来自专栏代码永生,思想不朽

TCP流量复制工具,另一个tcpcopy

很多年以前,网易推了一个tcp流量复制工具叫tcpcopy。2013年07月我入职新公司,大概10月份接触到tcpcopy,为tcpcopy修了两个bug,一个...

1.4K7
来自专栏繁花云

[技巧]腾讯云服务器自助更换IP教程(无需任何费用)

选择确定转换,这时我们的IP已经转换成弹性IP(EIP)了,接着我们进入EIP控制继续操作:

8530
来自专栏FreeBuf

Arp欺骗原理及Android环境下的检测方法

测试环境说明 网关: IP:172.20.150.1 mac:24050FCE53 靶机(手机): IP:172.20.150.20 mac:000822...

36610

扫码关注云+社区