oracle 11gR2 RAC 停库和启库

grid设置环境变量后可以在任意目录下执行,如root没设置的话需要带绝对路径
export oracle_home=/u01/app/11.2.0/grid
export path=$oracle_home/bin:$path
–/u01/app/11.2.0/grid/bin/crsctl或srvctl

查看集群的状态
[grid@testdb1 ~]$ crs_stat -t -v
[grid@testdb1 ~]$ srvctl status database -d testdb
[grid@testdb1 ~]$ srvctl status diskgroup -g data -n testdb2,testdb1
[grid@testdb1 ~]$ srvctl status asm
[grid@testdb1 ~]$ srvctl status asm -n testdb1

1、停监听
[grid@testdb1 ~]$ crsctl status res -t
[grid@testdb1 ~]$ srvctl stop scan_listener
[grid@testdb1 ~]$ srvctl stop listener

2、杀会话/两个节点
select ‘alter system disconnect session ”’ ||sid||’,’||serial#||”’ immediate;’ from v$session where type=’user’;

3、做检查点操作/两个节点
alter system switch logfile;
alter system checkpoint;

4、关闭数据库和crs
关库/任一节点即可 -o immediate 立即停止
[grid@testdb1 ~]$ srvctl stop database -d testdb -o immediate
或者每个节点登录数据库后执行sql>shutdown immediate

关crs/两个节点都执行下
【root用户】
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs
[root@testdb2 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs

5、停asm/两个节点
如果要停asm,【root用户】
[root@testdb1 ~]# /etc/init.d/oracleasm stop
dropping oracle asmlib disks: [ ok ]
shutting down the oracle asmlib driver: [ ok ]
[root@testdb2 ~]# /etc/init.d/oracleasm stop
dropping oracle asmlib disks: [ ok ]
shutting down the oracle asmlib driver: [ ok ]

6、启库
与停库顺序相反

11gr2的rac,如果是用shutdown immediate而不是用srvctl stop database -d xxx -o immediate停库,那么在启crs后也需要手动把库启起来
如果手动把实例启起来后,在crsctl status res -t显示某个实例还是instance shutdown的话,但实际上实例是已经启起来了,可用命令 srvctl start instance -d xxx -n xxx解决。

/*
启动
每个节点执行
[root@testdb1 ~]# /etc/init.d/oracleasm start
initializing the oracle asmlib driver: [ ok ]
scanning the system for oracle asmlib disks: [ ok ]

[root@testdb2 ~]# /etc/init.d/oracleasm start

–关闭/启动crs,只需要在其中一个节点执行
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/crsctl stop/start crs
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster

任一个节点执行
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/srvctl start database -d testdb
*/
grid用户下执行的部分命令
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/crsctl status/start/stop res -t
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/srvctl stop scan_listener
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/srvctl stop listener

[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/srvctl stop database -d testdb -o immediate

[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/srvctl start database -d mydb

////////////////////////////////////////////////////////////////////////////

【关闭顺序】
关db
srvctl stop database -d testdb -o immediate

停has (用root)
/u01/app/11.2.0/grid/bin/crsctl stop has -f

停集群 (用root)
–停所有节点
/u01/app/11.2.0/grid/bin/crsctl stop cluster -all
–停止本地节点
/u01/app/11.2.0/grid/bin/crsctl stop cluster
–控制相关节点
/u01/app/11.2.0/grid/bin/crsctl cluster -n rac1 rac2

【启动顺序】
11g r2默认开机自启动,手动启动cluster/has/database
启集群
–所有节点
/u01/app/11.2.0/grid/bin/crsctl start cluster -all
–指定某节点/2节点同时启动
/u01/app/11.2.0/grid/bin/crsctl start cluster -n rac1 rac2

启has (用root)分别在每个节点执行
/u01/app/11.2.0/grid/bin/crsctl start has

启database
–所有节点启动
/u01/app/11.2.0/grid/bin/srvctl start database -d testdb
或每个节点sql>startup;
或者/u01/app/11.2.0/grid/bin/srvctl start instance -d testdb -i testdb1

验证
/u01/app/11.2.0/grid/bin/crs_stat -t -v
或/u01/app/11.2.0/grid/bin/crsctl resource -t
crsctl check cluster
检查本节点集群状态
crsctl check crs

/*
禁止crs自启动
./crsctl disable crs
检查是否自启动
./crsctl config crs
设置自启动/每个节点执行
crs enables crs

grid ocr/votedisk检查
crsctl query css votedisk;
ocrcheck
*/

crsctl 命令是一个集群级别命令,可以对所有集群资源进行统一启动、停止等管理操作
srvctl 命令是一个服务级别命令,可以对单一服务资源进行统一启动、停止等管理操作
其中
-d,即database name,表示数据库名称
-n,即node name,表示节点名称
-i,即instance name,表示实例名称

oracle 11g rac的体系结构与启动顺序
https://blog.csdn.net/xianjuke008/article/details/84283458

rac 管理(crs_stat、crsctl、srvctl)
http://www.voidcn.com/article/p-okvacbgg-cr.html

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐