【DB笔试面试712】在Oracle中,启动和关闭集群的命令是什么?


题目部分

在Oracle中,启动和关闭集群的命令是什么?

     

答案部分

对于单机ASM或集群可以使用如下的命令启动和关闭集群或单机ASM资源

1crsctl start has
2crsctl stop has -f

对于集群可以使用如下的命令启动和关闭集群

1crsctl start crs
2crsctl stop crs -f

只有ohasd运行的时候才可以使用如下的命令启动和关闭集群:

1crsctl start cluster -all
2crsctl stop cluster -all -f

对于以上命令,需要注意以下几点:

① 若使用crsctl直接关闭集群或单实例的ASM,则对于数据库资源都是直接执行的abort(类似于断电)操作,可能会导致坏块。因此,对于生产库,在关闭集群之前,一定首先要确保数据库资源已经正常关闭。

② 以上crsctl stop命令后都可以跟-f选项,表示强制关闭集群。

③ 对于集群而言,以上命令中的hascrscluster参数都适用。但是,对于单实例ASM而言,则只能使用has,而不能使用crscluster参数,否则会报如下的错误:

1CRS-4013: This command is not supported in a single-node configuration.

④ 使用命令crsctl stop cluster -all”关闭集群后,集群还剩下的进程包括:ohasdgipcdgpnpdmdnsdora.crfora.drivers.acfs等,详情如下:

 1[root@lhr-11gR2-rac1 ~]# ps -ef|grep d.bin
 2root     13395     1  0 16:15 ?        00:00:02 /u01/app/11.2.0/grid/bin/ohasd.bin reboot
 3grid     13514     1  0 16:15 ?        00:00:01 /u01/app/11.2.0/grid/bin/oraagent.bin
 4grid     13526     1  0 16:15 ?        00:00:00 /u01/app/11.2.0/grid/bin/mdnsd.bin
 5grid     13536     1  0 16:15 ?        00:00:00 /u01/app/11.2.0/grid/bin/gpnpd.bin
 6root     13546     1  0 16:15 ?        00:00:01 /u01/app/11.2.0/grid/bin/orarootagent.bin
 7grid     13549     1  0 16:15 ?        00:00:01 /u01/app/11.2.0/grid/bin/gipcd.bin
 8root     13560     1  0 16:15 ?        00:00:02 /u01/app/11.2.0/grid/bin/osysmond.bin
 9root     13883     1  0 16:17 ?        00:00:00 /u01/app/11.2.0/grid/bin/ologgerd -M -d /u01/app/11.2.0/grid/crf/db/lhr-11gr2-rac1
10root     15004 13305  0 16:26 pts/0    00:00:00 grep d.bin
11[root@lhr-11gR2-rac1 ~]# 

集群的相关后台进程查看命令:ps -ef|grep d.bin,该命令输出结果如下所示:

 1[ZHLHRDB01:root]/]> ps -ef|grep d.bin
 2    root 12910838        1  31 16:12:12      -  0:00 /u01/app/11.2.0/grid/bin/ologgerd -m zlhrcb2101 -r -d /u01/app/11.2.0/grid/crf/db/zlhrcb1101
 3    root  6553890        1   6 16:11:35      -  0:01 /u01/app/11.2.0/grid/bin/ohasd.bin reboot
 4    grid  6684956        1   5 16:12:03      -  0:00 /u01/app/11.2.0/grid/bin/gipcd.bin
 5    root  6750494        1   8 16:12:03      -  0:00 /u01/app/11.2.0/grid/bin/osysmond.bin
 6    root  6816030        1   0 16:12:05      -  0:00 /bin/sh /u01/app/11.2.0/grid/bin/ocssd
 7    root  3342930        1   0 16:12:05      -  0:00 /u01/app/11.2.0/grid/bin/cssdagent
 8    grid  3408448  6816030  11 16:12:05      -  0:00 /u01/app/11.2.0/grid/bin/ocssd.bin
 9    root  3670608        1   0 16:12:03      -  0:00 /u01/app/11.2.0/grid/bin/orarootagent.bin
10    grid  3736148        1   0 16:11:59      -  0:00 /u01/app/11.2.0/grid/bin/mdnsd.bin
11    grid  8061810        1   0 16:11:59      -  0:00 /u01/app/11.2.0/grid/bin/oraagent.bin
12    root  8127338        1   0 16:12:04      -  0:00 /u01/app/11.2.0/grid/bin/cssdmonitor
13    grid  8192874        1   6 16:12:01      -  0:00 /u01/app/11.2.0/grid/bin/gpnpd.bin

可以使用如下的命令暴力关闭集群:

1kill -9 `ps -ef|grep d.bin| grep -v grep | awk '{print $2}'`
2ps -ef |grep d.bin|grep -v grep|awk '{print $2}' | xargs kill -9

需要注意的是,以上命令在生产库禁用。

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

---------------优质麦课------------

【DB笔试面试712】在Oracle中,启动和关闭集群的命令是什么?_第1张图片

详细内容可以添加麦老师微信或QQ私聊。

About Me:小麦苗

 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

 版权所有,欢迎分享本文,转载请保留出处

 QQ:646634621  QQ群:618766405

 提供OCP、OCM和高可用部分最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

DBA宝典

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。

你可能感兴趣的:(【DB笔试面试712】在Oracle中,启动和关闭集群的命令是什么?)