通过srvctl 来管理ASM
srvctl 可以用 status 命令查看ASM的服务状态,并使用类似于start、stop命令进行ASM组件的管理。
下面的示例显示了在节点cctt1上运行着实例cctt1,而在节点cctt2上运行着ASM实例ASM2
srvctl status asm -n cctt1
$ srvctl status asm -n cctt1
ASM instance +ASM1 is running on node cctt1.
$ srvctl status asm -n cctt2
ASM instance +ASM2 is running on node cctt2.
||||||||||||||||||||||||||||||||||||||||
使用srvctl config 命令可以检索集群数据库在OCR中存储的相关信息,例如
通过下面的查询来了解cctt数据库在两个节点上的安装信息
$ srvctl config database -d cctt
cctt1 cctt1 /oracle/product/db
cctt2 cctt2 /oracle/product/db
|||||||||||||||||||||||||||||||||||||
通过srvctl 禁用启用服务:(p508 文平)
在默认情况下,RAC集群中各种服务采用的方式是自动启动--随着系统的启动,Oracle集群和集群数据库将
自动启动,无须人工干预。
但在一些特殊情况下,这种自动化设置会带来不便,例如针对系统的某种维护和调整后,管理员可能并不希
望RAC集群在系统重启时同时启动。这时可以采用禁用服务的方法,将RAC服务暂时禁用掉,直到执行了重新启用的命令。
下面的命令首先关闭节点node_a上的实例orcl1,然后禁用实例。再关闭node_a上的ASM,最后禁用ASM:
$srvctl stop instance -d orcl -i orcl1
$srvctl disable instance -d orcl -i orcl1
$srvctl stop asm -n node_a -i ASM1
$srvctl disable asm -n node_a -i +ASM1
如果系统重新启动,上面被禁用的系统将不会自动启动。这就给管理员进行某种系统维护、升级、机器扩容
、应用切割等操作提供了机会。
如果要恢复已被禁用的服务,则使用 srvctl enable 命令重新激活服务即可。下面的过程 是针对前面示例的
反向过程---激活服务、启动服务:
$srvctl enable asm -n node_a -i +ASM1
$srvctl start asm -n node_a -i +ASM1
$srvctl enable instance -d orcl -i orcl1
$srvctl start instance -d orcl -i orcl1