Oracle RAC启动及关闭步骤
一般情况下数据库很少会做关机重启操作,即便是有也需要DBA来执行,但如果在没有DBA的情况,只能由现场的运维工程师来执行(建议使用最后面的简单操作),重启之前务必先备份数据,Oracle RAC的关闭及启动,需要严格按照步骤来执行,以下就以一套实际的系统为例,来介绍RAC的关闭及启动过程:
目录
环境准备
主机名 | 实例名 | 监听端口 | 字符集 |
db-node1 | orcl1 | 1521 | ZHS16GBK |
db-node2 | orcl2 | 1521 | ZHS16GBK |
关闭顺序
- 关闭顺序:停止与数据库连接的session->停止监听程序->关闭数据库(实例)-> 关闭ASM实例 -> 关闭节点服务
查看状态: $ srvctl status database -d orcl
$ srvctl status database -d orcl
Instance orcl1 is running on node db-node1
Instance orcl2 is running on node db-node2
$crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM.lsnr ora....er.type ONLINE ONLINE db-node1
ora.CRS.dg ora....up.type ONLINE ONLINE db-node1
ora.DATA.dg ora....up.type ONLINE ONLINE db-node1
ora....ER.lsnr ora....er.type ONLINE ONLINE db-node1
ora....AF.lsnr ora....er.type ONLINE ONLINE db-node1
ora....N1.lsnr ora....er.type ONLINE ONLINE db-node2
ora.MGMTLSNR ora....nr.type ONLINE ONLINE db-node2
ora.asm ora.asm.type ONLINE ONLINE db-node1
ora.chad ora.chad.type ONLINE ONLINE db-node1
ora.cvu ora.cvu.type ONLINE ONLINE db-node2
ora....E1.lsnr application ONLINE ONLINE db-node1
ora....de1.ons application ONLINE ONLINE db-node1
ora....de1.vip ora....t1.type ONLINE ONLINE db-node1
ora....E2.lsnr application ONLINE ONLINE db-node2
ora....de2.ons application ONLINE ONLINE db-node2
ora....de2.vip ora....t1.type ONLINE ONLINE db-node2
ora.mgmtdb ora....db.type ONLINE ONLINE db-node2
ora....network ora....rk.type ONLINE ONLINE db-node1
ora.ons ora.ons.type ONLINE ONLINE db-node1
ora.orcl.db ora....se.type ONLINE ONLINE db-node1
ora.qosmserver ora....er.type ONLINE ONLINE db-node2
ora.scan1.vip ora....ip.type ONLINE ONLINE db-node2
- 停止与数据库连接的session
select * from v$session t where t.status='ACTIVE'and t.username is not null;--查看会话情况,两个节点都要看
- 停止监听程序
[root@db-node2~]# su - grid ##两台都停一下
- 关闭数据库:
$ srvctl stop database -d orcl
单台关闭$srvctl stop instance -d orcl -i orcl2
查看停止状态$ srvctl status database -d orcl
- 关闭ASM:
$ srvctl stop asm -n db-node1
$ srvctl stop asm -n db-node2
- 关闭各节点服务
$ srvctl stop nodeapps -n db-node1
$ srvctl stop nodeapps -n db-node2
停止完后用crs_stat -t --查看是否都是offline
db-node2:/home/grid$crs_stat -t
Ļ³Ġ `э Ŀ±螠 ״̬ »
------------------------------------------------------------
ora.DATA.dg ora....up.type OFFLINE OFFLINE
ora....ER.lsnr ora....er.type OFFLINE OFFLINE
ora....N1.lsnr ora....er.type OFFLINE OFFLINE
ora.OCR.dg ora....up.type OFFLINE OFFLINE
ora.asm ora.asm.type OFFLINE OFFLINE
ora.cvu ora.cvu.type OFFLINE OFFLINE
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora....SM1.asm application OFFLINE OFFLINE
ora....B1.lsnr application OFFLINE OFFLINE
ora....db1.gsd application OFFLINE OFFLINE
ora....db1.ons application OFFLINE OFFLINE
ora....db1.vip ora....t1.type OFFLINE OFFLINE
ora....SM2.asm application OFFLINE OFFLINE
ora....B2.lsnr application OFFLINE OFFLINE
ora....db2.gsd application OFFLINE OFFLINE
ora....db2.ons application OFFLINE OFFLINE
ora....db2.vip ora....t1.type OFFLINE OFFLINE
ora....network ora....rk.type OFFLINE OFFLINE
ora.oc4j ora.oc4j.type OFFLINE OFFLINE
ora.ons ora.ons.type OFFLINE OFFLINE
ora.scan1.vip ora....ip.type OFFLINE OFFLINE
ora....gsjs.db ora....se.type OFFLINE OFFLINE
db-node2:/home/grid$
开启顺序(一般开机自启动)
启动节点服务 -> 启动ASM实例 -> 启动数据库实例
- 启动各节点服务
$ srvctl start nodeapps -n db-node1
$ srvctl start nodeapps -n db-node2
- 启动AMS实例:
$ srvctl start asm -n db-node1
$ srvctl start asm -n db-node2
$ srvctl status asm -n db-node1
$ srvctl status asm -n db-node2
- 启动数据库实例
srvctl start database -d orcl
最简单的停机
$crs_stop -all
$crs_stat -t #查看是否全是OFFLINE
#crsctl stop crs #停止集群软件
#init 0(关机)或 init 6(重启)
最简单的启动:
# crsctl start crs #开启集群软件root用户下执行
$ crs_start –all
$ crs_stat -t