查看原文
其他

Oracle 11gR2 RAC 集群服务启动与关闭总结

leonarding JiekeXu DBA之路 2024-03-03


引言:这篇文章主要是介绍了 Oracle RAC 集群服务的启动与关闭顺序,很多初学者不太理解  RAC,对 RAC 知识了解甚少对其启动与关闭的顺序和原理不是特别清晰。因此分享了这篇文章,感谢原作者辛苦的付出,更加地感谢大家对此篇文章的浏览

关闭过程(CRS集群关闭->关闭数据库)
1.关闭数据库:
用oracl用户执行srvctl命令
语法:srvctl stop database -d dbname [-o immediate]作用:可以一次性关闭dbname的所有实例
[oracle@rac1 ~]$ srvctl stop database -d racdb  -停止所有节点上的实例
然后查看状态:
[oracle@rac1 ~]$ srvctl status database -d racdb Instance rac1 is not running on node rac1Instance rac2 is not running on node rac2
2.停止HAS(High Availability Services),必须以root用户操作
[root@rac1 oracle]# cd /u01/grid/11.2.0/grid/bin[root@rac1 bin]# ./crsctl stop has -f[root@rac1 bin]# ./crsctl stop crs -f本命令只能关闭当前节点的CRS服务,因此需要在RAC的所有节点上执行,启动也一样。has与crs等同

3.停止节点集群服务,必须以root用户:
[root@rac1 oracle]# cd /u01/grid/11.2.0/grid/bin[root@rac1 bin]# ./crsctl stop cluster ----停止本节点集群服务 [root@rac1 bin]# ./crsctl stop cluster -all ---停止所有节点服务
也可以如下控制所停节点:
[root@rac1 bin]# crsctl stop cluster -n rac1 rac2CRS-2677: Stop of 'ora.cssd' on 'rac1' succeededCRS-2677: Stop of 'ora.cssd' on 'rac2' succeeded。。。。。。。。。。。省略日志输出。。。。。。。。。。。。。。

你如果想一条命令把所有的进程全部停止可以使用上述命令。如果不指定参数的话对当前节点有效,如果指定参数的话对相关参数节点有效。

4.检查集群进程状态
[root@rac1 bin]# crsctl check cluster详细输出
[root@rac1 bin]# crs_stat -t -v只检查本节点的集群状态
[root@rac1 bin]# crsctl check crs
启动过程(CRS集群启动->启动数据库)
1.启动 HAS
单一节点启动
[root@rac2 ~]# crsctl start has [root@rac2 ~]# crsctl start crs[root@rac2 ~]# crsctl check crsCRS-4638: Oracle High Availability Services is onlineCRS-4537: Cluster Ready Services is onlineCRS-4529: Cluster Synchronization Services is onlineCRS-4533: Event Manager is online所有节点启动
[root@rac1 bin]# crsctl start cluster -n rac1 rac2CRS-4123: Oracle High Availability Services has been started.[root@rac1 bin]# crsctl start cluster -all[root@rac2 ~]# crsctl check clusterCRS-4537: Cluster Ready Services is onlineCRS-4529: Cluster Synchronization Services is onlineCRS-4533: Event Manager is online此命令会在后台启动所有 RAC CRS 相关进程
[root@rac2 ~]# crs_stat -t -vCRS-0184: Cannot communicate with the CRS daemon.因为 start has 启动的 crs 进程比较多因此会启动的比较慢,我的机器等待了 5 分钟,在没有完全启动成功之前会报上述错误,需要耐心等待一段时间后执行下面命令即可查看到所有 CRS 相关进程服务已经启动。
[root@rac2 ~]# crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
ora.DATA.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    rac1        
ora....ER.lsnr ora....er.type 0/5    0/     ONLINE    ONLINE    rac1        
ora....N1.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac2        
ora....N2.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac1        
ora....N3.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac1        
ora.asm        ora.asm.type   0/5    0/     ONLINE    ONLINE    rac1        
ora.cvu        ora.cvu.type   0/5    0/0    ONLINE    ONLINE    rac1        
ora.gsd        ora.gsd.type   0/5    0/     OFFLINE   OFFLINE               
ora....network ora....rk.type 0/5    0/     ONLINE    ONLINE    rac1        
ora.oc4j       ora.oc4j.type  0/1    0/2    ONLINE    ONLINE    rac1        
ora.ons        ora.ons.type   0/3    0/     ONLINE    ONLINE    rac1        
ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    0/5    0/0    OFFLINE   OFFLINE               
ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1        
ora.rac1.vip   ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac1        
ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    0/5    0/0    OFFLINE   OFFLINE               
ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2        
ora.rac2.vip   ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac2        
ora....ry.acfs ora....fs.type 0/5    0/     ONLINE    ONLINE    rac1        
ora.scan1.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac2        
ora.scan2.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac1        
ora.scan3.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac1 

说明:

英文解释
ora.gsd is OFFLINE by default ifthere is no 9i database in the cluster.ora.oc4j is OFFLINE in 11.2.0.1 as DatabaseWorkload Management(DBWLM) is unavailable.  these can be ignored in11gR2 RAC.中文解释
ora.gsd 是集群服务中用于与 9i 数据库进行通信的一个进程,在当前版本中为了向后兼容才保存下来,状态为 OFFLINE 不影响 CRS 的正常运行与性能,我们忽略即可

ora.oc4j 是在11.2.0.2 以上版本中有效的服务进程,用于 DBWLM 的资源管理,因此在11.2.0.1 以下版本并没有使用

2.启动数据库:
oracle 用户执行 srvctl 命令:

语法:srvctl start|stop|status database -d dbname [-o immediate]作用:可以一次性启动 dbname 的所有实例
[oracle@rac1 ~]$ srvctl start database -d racdb -启动所有节点上的实例然后查看状态:
[oracle@rac1 ~]$ srvctl status database -d racdb
3.详细输出资源全名称并检查状态
crsctl status resource -tcrsctl status resource4.常用 srvctl 命令
指定 dbname 上某个实例
srvctl start|stop|status instance -d -i5.显示 RAC 下所有实例配置与状态
srvctl status|config database -d6.显示所有节点的应用服务(VIP,GSD,listener,ONS)
srvctl start|stop|status nodeapps -n7.ASM 进程服务管理
srvctl start|stop|status|config asm -n [-i ] [-o]srvctl config asm -asrvctl status asm -a8.可以获取所有的环境信息:
srvctl getenv database -d [-i]9.设置全局环境和变量:
srvctl setenv database -d -t10.在 OCR 中删除已有的数据库信息
srvctl remove database -d11.向 OCR 中添加一个数据库的实例:
srvctl add instance -d -i -n srvctl add instance -d -i -n12.检查监听的状态
srvctl status listener srvctl config listener -aSCAN 配置信息
srvctl config scanSCAN listener 状态信息
srvctl status scan

小结:crsctl 命令是一个集群级别命令,可以对所有集群资源进行统一启动、停止等管理操作
         srvctl 命令是一个服务级别命令,可以对单一服务资源进行统一启动、停止等管理操作

附:srvctl 命令启动与停止的详细帮助
[root@rac2 ~]# srvctl start -h

The SRVCTL start command starts, Oracle Clusterware enabled, non-running objects.

Usage: srvctl start database -d [-o ] [-n ]
Usage: srvctl start instance -d {-n [-i ] | -i } [-o ]
Usage: srvctl start service -d [-s "" [-n | -i ] ] [-o ]
Usage: srvctl start nodeapps [-n ] [-g] [-v]
Usage: srvctl start vip { -n | -i } [-v]
Usage: srvctl start asm [-n ] [-o ]
Usage: srvctl start listener [-l ] [-n ]
Usage: srvctl start scan [-i ] [-n ]
Usage: srvctl start scan_listener [-n ] [-i ]
Usage: srvctl start oc4j [-v]
Usage: srvctl start home -o -s -n 
Usage: srvctl start filesystem -d [-n ]
Usage: srvctl start diskgroup -g [-n ""]
Usage: srvctl start gns [-l ] [-n ] [-v]
Usage: srvctl start cvu [-n ]
For detailed help on each command and object and its options use:
  srvctl -h

[root@rac2 ~]# srvctl stop -h

The SRVCTL stop command stops, Oracle Clusterware enabled, starting or running objects.

Usage: srvctl stop database -d [-o ] [-f]
Usage: srvctl stop instance -d {-n | -i }  [-o ] [-f]
Usage: srvctl stop service -d [-s "" [-n | -i ] ] [-f]
Usage: srvctl stop nodeapps [-n ] [-g] [-f] [-r] [-v]
Usage: srvctl stop vip { -n  | -i } [-f] [-r] [-v]
Usage: srvctl stop asm [-n ] [-o ] [-f]
Usage: srvctl stop listener [-l ] [-n ] [-f]
Usage: srvctl stop scan [-i ] [-f]
Usage: srvctl stop scan_listener [-i ] [-f]
Usage: srvctl stop oc4j [-f] [-v]
Usage: srvctl stop home -o -s -n [-t ] [-f]
Usage: srvctl stop filesystem -d [-n ] [-f]
Usage: srvctl stop diskgroup -g [-n ""] [-f]
Usage: srvctl stop gns [-n ] [-f] [-v]
Usage: srvctl stop cvu [-f]
For detailed help on each command and object and its options use:
  srvctl -h

作者:leonarding

原文链接:

http://blog.itpub.net/26686207/viewspace-1604807/


推荐阅读:

万字详解Oracle架构、原理、进程,学会世间再无复杂架构

Windows 环境下 Oracle11gR2 的安装与卸载

关系型数据库 Oracle 之 resetlogs 的意义

史上最全的 OGG 基础知识整理


资源分享:


5T 技术资源大放送!包括但不限于:Linux,Python,Oracle,MySQL,Java,前端,大数据,具体获取方式可关注本公众号或者添加我微信获取~~~

长按添加微信,可加群(备注加群)

获取更多付费资源



码字不易,点赞、转发是一种对作者的鼓励!

如果觉得还不错,点个“在看”后转发 

继续滑动看下一个

Oracle 11gR2 RAC 集群服务启动与关闭总结

向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存