暂无图片
分享
2019-03-13
Oracle 11g R2集群的启停

因服务器调整,需要重启服务器。数据库为双节点rac,分别部署在两台独立的服务器上,现在还不确定是两节点服务器分别停机还是总体一起停,因为是第一次操作,写下操作步骤,不确定是否操作正确,请您审阅,还请指点其中的错误,感谢

情况一:两节点分开停机调整,保证业务不中断,以先停 实例一 ,停服务器,调整完一节点后再调整实例二

操作步骤:

  1. 先停节点一上的集群资源(root用户执行) 

    #crsctl stop crs

  2. 停实例一(oracle用户执行)

    $srvctl   stop  database   -d   dbname   -i    db1

  3. 可以关闭节点一所在的服务器

  4. 先启实例一 (oracle用户执行)

    $srvctl   start  database   -d   dbname   -i    db1

  5. 启节点一上的集群资源(root用户执行)

    #crsctl  start   crs

  6. 节点一调整完以此方法调整节点二


情况二:可以停业务,两节点同时停机,同时调整同时启动

操作步骤:

  1. 在每个节点上执行,停止每个节点上的的集群资源(root用户执行)

    #crsctl stop crs

  2. 在任意一个节点,以oracle用户执行,停止所有实例

    $srvctl   stop  database   -d   dbname

  3. 停止服务器,调整。

  4. 先启实例,在其中一个节点上,以oracle用户执行

    $srvctl   start  database   -d   dbname

  5. 在每个节点上执行,启动每个节点上的的集群资源(root用户执行)

    #crsctl stop crs


收藏
分享
6条回答
默认
最新
Moone

crsctl stop crs会关联停止所有实例、监听等资源,简单执行这个即可!

crsctl start crs会启动crs集群,数据库等资源要看是否配置自动启动。

暂无图片 评论
暂无图片 有用 1

感谢!!!

暂无图片 评论
暂无图片 有用 0
Kamus

image.png


这里有问题。首先最后一个命令应该是笔误,启动的话是start。

在没有启动crs之前,你是没有办法启动数据库的。所以4命令不应该在5命令之前。

crsctl start crs,就会拉起所有的资源,包括数据库实例,通常无需再去额外执行启动数据库的操作。因此,4命令通常不会用到。


另外,在停集群的时候,应该开启另外一个窗口,始终tail -f数据库实例的alert日志,一直等到明确看到database shutdown completely,然后ps -ef确认所有的ora进程确实已经停止。再重启服务器。


如果是小型机,长时间没有重启过,一定要做好心理准备,可能重启过程会有些艰难,当然也可能一帆风顺。祝平安。



暂无图片 评论
暂无图片 有用 1

您好  感谢Kamus的解答,

还有一点需要跟您确认一个问题

启/停集群时,在每个节点用root用户crsctl start/stop crs,就可以 拉起/关闭 包括数据库实例在内的所有集群资源,这个命令在版本为11g和12c都适用吗,这个命令 拉起/关闭 包括数据库实例在内的所有资源的策略是在哪配置的呢?还是装集群是默认的配置,不用单独配置?

 @Kamus

暂无图片 评论
暂无图片 有用 0
Kamus

请参考以下文档:

https://docs.oracle.com/en/database/oracle/oracle-database/19/cwadd/oracle-clusterware-control-crsctl-utility-reference.html#GUID-70E35C80-6FB4-4E98-9AA9-B641D5ABD761


到19c这个命令也还是适用的。

crsctl status resource

可以看到所有集群中配置的资源


暂无图片 评论
暂无图片 有用 0
章芋文
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏