您的位置:首页 > 数据库

RAC 数据库的启动与关闭

2013-09-10 10:07 357 查看
RAC数据库与单实例的差异主要表现在多个实例通过集群件来统一管理共享的资源。因此原有的单实例的管理方式,如数据库、监听器等的关闭启动等可以使用原有的方式进行,也可以通过集群管理工具,命令行来集中管理,这也是推荐的管理方式。由于集群件crs位于数据库之上,即RAC数据库依赖于集群件,因此数据库的启动与关闭应该结合集群来考虑,下面以10g RAC来描述数据库启动与关闭过程,不涉及集群层的启动与关闭。

一、RAC 数据库启动与关闭顺序
1、关闭顺序
关闭OEM,关闭监听,关闭 Oracle 实例,关闭 ASM 实例,关闭节点应用程序
2、启动顺序
启动节点应用程序,启动ASM实例,启动oracle实例,启动监听,启动OEM<可选>
如果未使用ASM,则启动与关闭过程的有关ASM的操作可忽略
3、主要工具
srvctl,OEM,sqlplus。本文主要描述的是使用srvctl命令来完成

二、演示环境
1、环境
主机名 库名 实例名 asm实例
-------- ------ ------- --------
bo2dbp GOBO4 GOBO4A +ASM1
bo2dbs GOBO4 GOBO4B +ASM2

2、数据库状态
oracle@bo2dbp:~> ./crs_stat.sh
Resource name Target State
-------------- ------ -----
ora.GOBO4.GOBO4A.inst ONLINE ONLINE on bo2dbp
ora.GOBO4.GOBO4B.inst ONLINE ONLINE on bo2dbs
ora.GOBO4.db ONLINE ONLINE on bo2dbp
ora.bo2dbp.ASM1.asm ONLINE ONLINE on bo2dbp
ora.bo2dbp.LISTENER_BO2DBP.lsnr ONLINE ONLINE on bo2dbp
ora.bo2dbp.LISTENER_ORA10G_BO2DBP.lsnr ONLINE ONLINE on bo2dbp
ora.bo2dbp.gsd ONLINE ONLINE on bo2dbp
ora.bo2dbp.ons ONLINE ONLINE on bo2dbp
ora.bo2dbp.vip ONLINE ONLINE on bo2dbp
ora.bo2dbs.ASM2.asm ONLINE ONLINE on bo2dbs
ora.bo2dbs.LISTENER_BO2DBS.lsnr ONLINE ONLINE on bo2dbs
ora.bo2dbs.LISTENER_ORA10G_BO2DBS.lsnr ONLINE ONLINE on bo2dbs
ora.bo2dbs.gsd ONLINE ONLINE on bo2dbs
ora.bo2dbs.ons ONLINE ONLINE on bo2dbs
ora.bo2dbs.vip ONLINE ONLINE on bo2dbs
ora.ora10g.db ONLINE ONLINE on bo2dbs
ora.ora10g.hr_ora10g.cs ONLINE ONLINE on bo2dbp
ora.ora10g.hr_ora10g.ora10g1.srv ONLINE ONLINE on bo2dbp
ora.ora10g.ora10g1.inst ONLINE ONLINE on bo2dbp
ora.ora10g.ora10g2.inst ONLINE ONLINE on bo2dbs

上面的查询结果表明,当前集群中存在2个RAC数据库,一个是GOBO4,一个是ora10g
每个节点上配置了两个监听器,一个是缺省的1521端口监听器,一个是非缺省的监听器(LISTENER_ORA10G_BO2DBP)
数据库ora10g上创建了service为hr_ora10g

3、srvctl 命令
srvctl是管理RAC数据库使用最频繁的命令,是service control的缩写,基本的用法是srvctl <command> <object> [<options>]。
直接在命令行下输入srvctl 则出现该命令的用法说明
该命令方式可以操作下列资源
database,instance,asm,service,listener,node application(GSD,ONS,VIP)

三、关闭数据库
1、关闭oem服务(如果启动了oem,则应首先关闭oem服务,否则跳过)
export ORACLE_SID=GOBO4A
emctl stop dbconsole

2、关闭Oracle实例
srvctl stop instance -d GOBO4 -i GOBO4A

3、关闭ASM实例
srvctl stop asm -n bo2dbp

4、关闭节点服务(此操作将关闭指定节点的所有监听以及GSD,ONS,VIP)
srvctl stop nodeapps -n bo2dbp

节点bo2dbp关闭后的结果
oracle@bo2dbp:~> ./crs_stat.sh
Resource name Target State
-------------- ------ -----
ora.GOBO4.GOBO4A.inst OFFLINE OFFLINE
ora.GOBO4.GOBO4B.inst ONLINE ONLINE on bo2dbs
ora.GOBO4.db ONLINE ONLINE on bo2dbs
ora.bo2dbp.ASM1.asm OFFLINE OFFLINE
ora.bo2dbp.LISTENER_BO2DBP.lsnr OFFLINE OFFLINE
ora.bo2dbp.LISTENER_ORA10G_BO2DBP.lsnr OFFLINE OFFLINE
ora.bo2dbp.gsd OFFLINE OFFLINE
ora.bo2dbp.ons OFFLINE OFFLINE
ora.bo2dbp.vip OFFLINE OFFLINE
ora.bo2dbs.ASM2.asm ONLINE ONLINE on bo2dbs
ora.bo2dbs.LISTENER_BO2DBS.lsnr ONLINE ONLINE on bo2dbs
ora.bo2dbs.LISTENER_ORA10G_BO2DBS.lsnr ONLINE ONLINE on bo2dbs
ora.bo2dbs.gsd ONLINE ONLINE on bo2dbs
ora.bo2dbs.ons ONLINE ONLINE on bo2dbs
ora.bo2dbs.vip ONLINE ONLINE on bo2dbs
ora.ora10g.db ONLINE ONLINE on bo2dbs
ora.ora10g.hr_ora10g.cs ONLINE ONLINE on bo2dbs
ora.ora10g.hr_ora10g.ora10g1.srv ONLINE ONLINE on bo2dbs
ora.ora10g.ora10g1.inst OFFLINE OFFLINE #注,由于bo2dbp上的ASM被关闭,所以实例ora10g1也被关闭
ora.ora10g.ora10g2.inst ONLINE ONLINE on bo2dbs

如果是关闭整个数据库,则使用如下命令
srvctl stop database -d <db_name>
上述命令使用后则,所有该数据库上的实例都将被关闭以及对应的.db的服务也会被关闭,如下
oracle@bo2dbp:~> ./crs_stat.sh
Resource name Target State
-------------- ------ -----
ora.GOBO4.GOBO4A.inst OFFLINE OFFLINE
ora.GOBO4.GOBO4B.inst OFFLINE OFFLINE
ora.GOBO4.db OFFLINE OFFLINE

对于监听器也可以使用srvctl来完成
srvctl stop listener -n bo2dbp #关闭节点上缺省端口的监听器
srvctl stop listener -n bo2dbp -l LISTENER_ORA10G_BO2DBP #此监听器为非缺省的,因此指定-l 加监听器的名字

四、启动数据库
1、启动节点服务
srvctl start nodeapps -n bo2dbp
2、启动ASM实例
srvctl start asm -n bo2dbp
3、启动Oracle实例
srvctl start instance -d GOBO4 -i GOBO4A
4、启动OEM
export ORACLE_SID=GOBO4A
emctl start dbconsole

如果是启动整个数据库,则使用如下命令
srvctl start database -d <db_name>

五、小结
1、RAC数据库的启动需要考虑各个层次之间的依赖关系。集群数据库依赖于集群件上的服务,因此必须先启动集群上的相关服务(ONS,GSD,VIP)
2、接下来在集群件服务之下的为ASM,ASM为共享存储提供统一管理,因此需要于实例先启动
3、启动实例,将数据库切换到open 模式
4、RAC数据库的关闭则正好与之相反,同样是按逐层递进的关系来进行

oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息