前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle 11gR2 RAC 集群服务启动与关闭总结

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

作者头像
JiekeXu之路
发布2019-06-20 17:26:48
2.8K0
发布2019-06-20 17:26:48
举报
文章被收录于专栏:JiekeXu之路JiekeXu之路

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

关闭过程(CRS集群关闭->关闭数据库)

1.关闭数据库: 用oracl用户执行srvctl命令

代码语言:javascript
复制
语法:srvctl stop database -d dbname [-o immediate]

作用:可以一次性关闭dbname的所有实例

代码语言:javascript
复制
[oracle@rac1 ~]$ srvctl stop database -d racdb  -停止所有节点上的实例

然后查看状态:

代码语言:javascript
复制
[oracle@rac1 ~]$ srvctl status database -d racdb     
Instance rac1 is not running on node rac1
Instance rac2 is not running on node rac2

2.停止HAS(High Availability Services),必须以root用户操作

代码语言:javascript
复制
[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用户:

代码语言:javascript
复制
[root@rac1 oracle]# cd /u01/grid/11.2.0/grid/bin
[root@rac1 bin]# ./crsctl stop cluster  ----停止本节点集群服务 
[root@rac1 bin]# ./crsctl stop cluster -all   ---停止所有节点服务

也可以如下控制所停节点:

代码语言:javascript
复制
[root@rac1 bin]# crsctl stop cluster -n rac1 rac2
CRS-2677: Stop of 'ora.cssd' on 'rac1' succeeded
CRS-2677: Stop of 'ora.cssd' on 'rac2' succeeded

。。。。。。。。。。。省略日志输出。。。。。。。。。。。。。。

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

4.检查集群进程状态

代码语言:javascript
复制
[root@rac1 bin]# crsctl check cluster

详细输出

代码语言:javascript
复制
[root@rac1 bin]# crs_stat -t -v

只检查本节点的集群状态

代码语言:javascript
复制
[root@rac1 bin]# crsctl check crs

启动过程(CRS集群启动->启动数据库)

1.启动 HAS 单一节点启动

代码语言:javascript
复制
[root@rac2 ~]# crsctl start has 
[root@rac2 ~]# crsctl start crs
[root@rac2 ~]# crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online

所有节点启动

代码语言:javascript
复制
[root@rac1 bin]# crsctl start cluster -n rac1 rac2
CRS-4123: Oracle High Availability Services has been started.
[root@rac1 bin]# crsctl start cluster -all
[root@rac2 ~]# crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online

此命令会在后台启动所有 RAC CRS 相关进程

代码语言:javascript
复制
[root@rac2 ~]# crs_stat -t -v
CRS-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

说明:

英文解释

代码语言:javascript
复制
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 命令:

代码语言:javascript
复制
语法:srvctl start|stop|status database -d dbname [-o immediate]

作用:可以一次性启动 dbname 的所有实例

代码语言:javascript
复制
[oracle@rac1 ~]$ srvctl start database -d racdb  -启动所有节点上的实例

然后查看状态:

代码语言:javascript
复制
[oracle@rac1 ~]$ srvctl status database -d racdb

3.详细输出资源全名称并检查状态

代码语言:javascript
复制
crsctl status resource -t
crsctl status resource

4.常用 srvctl 命令 指定 dbname 上某个实例

代码语言:javascript
复制
srvctl start|stop|status instance -d -i

5.显示 RAC 下所有实例配置与状态

代码语言:javascript
复制
srvctl status|config database -d

6.显示所有节点的应用服务(VIP,GSD,listener,ONS)

代码语言:javascript
复制
srvctl start|stop|status nodeapps -n

7.ASM 进程服务管理

代码语言:javascript
复制
srvctl start|stop|status|config asm -n [-i ] [-o]
srvctl config asm -a
srvctl status asm -a

8.可以获取所有的环境信息:

代码语言:javascript
复制
srvctl getenv database -d [-i]

9.设置全局环境和变量:

代码语言:javascript
复制
srvctl setenv database -d -t

10.在 OCR 中删除已有的数据库信息

代码语言:javascript
复制
srvctl remove database -d

11.向 OCR 中添加一个数据库的实例:

代码语言:javascript
复制
srvctl add instance -d -i -n 
srvctl add instance -d -i -n

12.检查监听的状态

代码语言:javascript
复制
srvctl status listener 
srvctl config listener -a

SCAN 配置信息

代码语言:javascript
复制
srvctl config scan

SCAN listener 状态信息

代码语言:javascript
复制
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/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JiekeXu之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档