♣
题目部分
在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选项,表示强制关闭集群。
③ 对于集群而言,以上命令中的has、crs或cluster参数都适用。但是,对于单实例ASM而言,则只能使用has,而不能使用crs或cluster参数,否则会报如下的错误:
1CRS-4013: This command is not supported in a single-node configuration.
④ 使用命令“crsctl stop cluster -all”关闭集群后,集群还剩下的进程包括:ohasd、gipcd、gpnpd、mdnsd、ora.crf和ora.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程序员面试笔试宝典》,作者:小麦苗
详细内容可以添加麦老师微信或QQ私聊。
About Me:小麦苗
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:618766405
● 提供OCP、OCM和高可用部分最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
DBA宝典
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。