浅谈Oracle RAC -- RAC DB 简介

浅谈Oracle RAC – RAC DB 简介

小伙伴好久不见。
前面我们写了很多关于集群软件的知识,了解之前的内容,在维护RAC环境时是必不可少的技能。今天我们来写一些关于数据库层面的知识。

1.RAC DB 与 GI 的关系

正如之前我们谈到的GI软件是甲骨文开发的集群软件,这个集群软件可以管理众多资源。这里所说的资源包括各种应用程序(当然也可以包括客户自定义的程序)。在介绍CRS的博文中,我们介绍到GI软件中的CRS组件是管理资源的重要组件。它可以对资源进行 CHECK,START,STOP,ABORT 等操作。那么Oracle数据库当然也可以被GI所管理,Oracle数据库以ora.<数据库名>.db的资源名的形式存在于GI管理的资源中。我们通过以下命令可以看到CRSD下面所管理的Oracle数据库的名字。

# crsctl stat res ora.test.db -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.test.db
      1        ONLINE  ONLINE       node2                    Open                
      2        ONLINE  ONLINE       node1                    Open    

以上的例子说明TEST是个2节点的RAC数据库,其两个instance分别存在于node1和node2上。

以上除了STATE和STATE_DETAILS之外的信息都保存在OCR中。而STATE和STATE_DETAILS的信息则是由CRSD的oraagent监测到的当前TEST数据库的状态。

既然RAC DB被CRSD组件管理,那么我们可以通过GI层面的命令srvctl来操作RAC DB。比如:

$srvctl start|stop database -db <数据库名>

以上命令可以通过CRSD将所有节点的数据库启动和关停。为什么可以这样做?因为CRSD是一个在所有节点上都存在的分布式组件。

关于stop命令需要注意一点,在不指定关闭数据库的mode时,srvctl默认采用是immediate。也就是说srvctl内部会执行类似于shutdown immediate的命令。
如果你需要强制停止数据库时,可以在srvctl后面加-o abort.

$srvctl stop database -db <数据库名> -o abort

还有其它的操作mode,就不一一列举了。

另外,可以用以下命令启动或关闭特定节点上的实例。

$srvctl start|stop instance -db <数据库名> -node <节点名>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值