生产环境是AIX 6.1系统 oracle 11g 双节点rac 环境,两节点分布在两台独立的服务器上,目前其中一台服务器的CPU需要更换,需要停掉其中一个节点的服务,操作步骤,流程是怎样的呢,谢谢!
Oracle11gR1可以用上面方法, Oracle 11gR2的话,会简单一点。
就先停一个节点的实例
oracle用户下 srvctl stop instance -d <DATABASE NAME> -i <INSTANCE NAME>
或者直接用sqlplus / as sysdba 进去后
shutdown immediate
然后直接到grid用户下crsctl stop crs 即可,不需要再对nodeapp listner等资源进行操作。
然后就可以关机换CPU了。 换完成以后启动机器,注意检查存储状态,查看共享磁盘状态有无变化。
没有问题的话,如果 CRS 是自动启动的,那么等待一定时间后,除了数据库实例以外,其他的资源应该已经启动完毕。 如果CRS不是自动启动的,就用 crsctl start crs命令启动。
用 crs_stat -t 检查资源状态都没问题后,再启动这个节点上的数据库实例
oracle用户下 srvctl start instance -d <DATABASE NAME> -i <INSTANCE NAME>
或者直接用sqlplus / as sysdba 进去后
startup
流程虽然简单,但是建议有专业的DBA来配合,以防意外无法处理。
收起 CRS的启动:正常CRS是跟随系统同时启动的,也可以使用下面的命令启动
/../crs/bin/crsctl start crs
RAC数据库的启动,按照下面的顺序:
启动节点应用程序
srvctl start nodeapps -n rac1
srvctl start nodeapps -n rac2
启动侦听服务
srvctl start listener -n rac1
srvctl start listener -n rac2
启动数据库的所有实例
srvctl start database -d orcl
1.2 关闭RAC数据库
RAC数据库的关闭,按照下面的顺序:
关闭数据库的所有实例
srvctl stop database -d orcl
关闭侦听服务
srvctl stop listener -n rac1
srvctl stop listener -n rac2
关闭节点应用程序
srvctl stop nodeapps -n rac1
srvctl stop nodeapps -n rac2
CRS的关闭,使用下面的命令:
/../crs/bin/crsctl stop crs
1.3 其它常用命令
查询所有实例和服务的状态
$ srvctl
$ srvctl status instance -d orcl -i orcl2
$ srvctl status instance -d orcl -i orcl3
特定节点上节点应用程序的状态
$ srvctl status nodeapps -n rac1
列出配置的所有数据库
$ srvctl config database
显示 RAC 数据库的配置
$ srvctl config database -d orcl
显示指定集群数据库的所有服务
$ srvctl config service -d orcl
显示节点应用程序的配置 -(VIP、GSD、ONS、监听器)
$ srvctl config nodeapps -n rac1 -a -g -s -l
集群中所有正在运行的实例
SELECT
inst_id
, instance_number inst_no
, instance_name inst_name
, parallel
, status
, database_status db_status
, active_state state
, host_name host
FROM gv$instance
ORDER BY inst_id;
关闭一个节点参考以上命令。