一、使用srvctl管理RAC数据库
[root@NODE01 bin]# pwd
/orac/crs/bin # srvctl在$CRS_HOME/bin目录下,它可以在任何节点上维护。
[root@NODE01 bin]# ./srvctl
Usage: srvctl <command> <object> [<options>]
command: enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config
objects: database|instance|service|nodeapps|asm|listener
For detailed help on each command and object and its options use:
srvctl <command> <object> -h
常用的命令主要如下:
1、使用srvctl status命令
查看数据库的状态:
[root@NODE01 bin]# ./srvctl status database -d racdb
Instance RACDB1 is running on node node01
Instance RACDB2 is running on node node02
查看数据库实例的状态:
[root@NODE01 bin]# ./srvctl status instance -d racdb -i racdb1,racdb2
Instance racdb1 is running on node node01
Instance racdb2 is running on node node02
查看ASM实例的状态:
[root@NODE01 bin]# ./srvctl status asm -n node01
ASM instance +ASM1 is running on node node01.
[root@NODE01 bin]# ./srvctl status asm -n node02
ASM instance +ASM2 is running on node node02.
查看节点应用程序(VIP、GSD、Listener、ONS)的状态:
[root@NODE01 bin]# ./srvctl status nodeapps -n node01
VIP is running on node: node01
GSD is running on node: node01
Listener is running on node: node01
ONS daemon is running on node: node01
[root@NODE01 bin]#
[root@NODE01 bin]# ./srvctl status nodeapps -n node02
VIP is running on node: node02
GSD is running on node: node02
Listener is running on node: node02
ONS daemon is running on node: node02
以上的命令在任何节点上都可以执行。其中-d表示数据库的名字,-i表示instance名称,-n表示节点的主机名。
2、使用srvctl start/stop命令
srvctl start asm –n node01 # to start the ASM instance
srvctl stop asm –n node01 # to stop the ASM instance
srvctl start asm –n node02 # to start the ASM instance
srvctl stop asm –n node02 # to stop the ASM instance
# 这里的node01和node02是这个节点的机器名称,通过以上命令,可以在任何节点上执行,用来关闭与启动任何节点上的ASM。
srvctl start database –d racdb # to start the database instance
srvctl stop database –d racdb # to stop the database instance
# for instance 1
srvctl start instance –d racdb –i racdb1
srvctl stop instance –d racdb –i racdb1
# for instance 2
srvctl start instance –d racdb –i racdb2
srvctl stop instance –d racdb –i racdb2
3、使用srvctl config命令
查看数据库的配置:
[root@NODE01 bin]# ./srvctl config database
RACDB
[root@NODE01 bin]# ./srvctl config database -d racdb
node01 RACDB1 /orac/orahome/oracle/product/10.2.0/db_1
node02 RACDB2 /orac/orahome/oracle/product/10.2.0/db_1
查看ASM实例的配置:
[root@NODE01 bin]# ./srvctl config asm -n node01
+ASM1 /orac/orahome/oracle/product/10.2.0/db_1
[root@NODE01 bin]# ./srvctl config asm -n node02
+ASM2 /orac/orahome/oracle/product/10.2.0/db_1
查看节点应用程序(VIP、GSD、Listener、ONS)的配置:
[root@NODE01 bin]# ./srvctl config nodeapps -h
Usage: srvctl config nodeapps -n <node_name> [-a] [-g] [-o] [-s] [-l]
-n <node> Node name
-a Display VIP configuration
-g Display GSD configuration
-s Display ONS daemon configuration
-l Display listener configuration
-h Print usage
[root@NODE01 bin]#
[root@NODE01 bin]# ./srvctl config nodeapps -n node01
node01 RACDB1 /orac/orahome/oracle/product/10.2.0/db_1
[root@NODE01 bin]#
[root@NODE01 bin]# ./srvctl config nodeapps -n node01 -a -g -s -l
VIP exists.: /vip01/192.168.1.170/255.255.255.0/eth0
GSD exists.
ONS daemon exists.
Listener exists.
[root@NODE01 bin]# ./srvctl config nodeapps -n node02 -a -g -s -l
VIP exists.: /vip02/192.168.1.171/255.255.255.0/eth0
GSD exists.
ONS daemon exists.
Listener exists.
二、管理OCR和Voting Disk
Clusterware由2个部分组成,分别是Voting Disk和OCR。一旦它们丢失或者损坏的话,Clusterware将无法启动,这样整个RAC都将无法启动。
1、Voting Disk(表决磁盘方面)
Voting Disk里面记录着节点成员信息,比如说RAC数据库中有哪些节点成员,节点增加或者删除时也同样会将信息记录进来。Voting Disk必须存放在共享存储上,通常来说是存放在裸设备上。为保证Voting Disk的安全,需要配置多个Voting Disk,Oracle建议Voting Disk的个数应该配置为奇数个,每个Voting Disk的大小约为20MB。
查看Voting Disk位置:
[root@NODE01 bin]# crsctl query css votedisk
0. 0 /orac/orahome/clusterdata/votedisk
located 1 votedisk(s).
[root@NODE01 bin]# ll /orac/orahome/clusterdata/votedisk
-rw-rw---- 1 oracle oinstall 10240000 Dec 25 02:13 /orac/orahome/clusterdata/votedisk
如果需要更改Voting Disk的配置,对Voting Disk的更改必须以root用户进行修改。如:
添加一个Voting Disk成员:crsctl add css votedisk ‘/dev/raw/raw3’
删除一个Voting Disk成员:crsctl delete css votedisk ‘/dev/raw/raw3’
Voting Disk的备份与恢复可以通过dd命令来操作。
备份Voting Disk:dd if=/dev/rhdisk3 of=/tmp/votedisk.bak
恢复Voting Disk:dd if=/tmp/votedisk.bak of=/dev/rhdisk3
2、OCR方面
OCR记录的是节点成员的配置信息,比如数据库、ASM、实例、监听、VIP等CRS资源的配置信息,CRS进程管理的信息来自于OCR的内容。OCR记录这CRS进程管理资源的所有配置信息,大小约为100MB。
默认情况下RAC会在其中一个节点每4个小时都自动进行一次OCR的备份,并且保留最近的3次备份。可以通过命令ocrconfig –showbackup来查看。
[root@NODE01 bin]# ocrconfig -showbackup
node02 2008/12/19 03:38:17 /orac/crs/cdata/crs
node02 2008/12/18 20:23:45 /orac/crs/cdata/crs
node01 2008/12/18 04:15:47 /orac/crs/cdata/crs
node01 2008/12/18 04:15:47 /orac/crs/cdata/crs
node01 2008/12/14 04:21:00 /orac/crs/cdata/crs
[root@NODE01 bin]#
[root@NODE01 bin]# ll /orac/crs/cdata/crs/
total 15696
-rw-r--r-- 1 root root 4014080 Dec 18 04:15 backup00.ocr
-rw-r--r-- 1 root root 4014080 Dec 14 04:21 backup01.ocr
-rw-r--r-- 1 root root 4014080 Dec 18 04:15 day.ocr
-rw-r--r-- 1 root root 4014080 Dec 14 04:21 week.ocr
OCR默认的备份路径为$CRS_HOME/cdata/crs,可以通过ocrconfig –backuploc来更改OCR的备份路径;
可以通过ocrconfig –export来导出OCR的内容;
可以通过ocrconfig –import导入OCR的内容;
可以通过ocrconfig –restore命令对OCR进行恢复。
3、其它一些常用命令:
$ORA_CRS_HOME/bin/crsctl check crs # 用于检查后台进程状态
$ORA_CRS_HOME/bin/crsctl start resources # 启动crs资源
$ORA_CRS_HOME/bin/crsctl start crs # 启动crs,需要超级用户操作
$ORA_CRS_HOME/bin/crsctl stop crs # 关闭crs,需要超级用户操作
$ORA_CRS_HOME/bin/crs_unregister # 取消注册crs
$ORA_CRS_HOME/bin/ocrcheck # 检查ocr设置信息用ocrcheck
$ORA_CRS_HOME/bin/crsctl query css votedisk # 检查表决磁盘信息
注意:
执行crsctl命令的可以是root用户,也可以是oracle用户,如果是root用户要指定绝对路径,但是对于crsctl start crs和crsctl stop crs必须是root用户来执行。
crs主要进程:
(1)crsd
负责管理ha操作
管理crs资源,如listener,vip,ons,gsn等
由root用户管理、启动
(2)ocssd
管理各节点的关系,用于节点间通信
由oracle用户运行管理
(3)oprocd
集群进程管理 —Process monitor for the cluster.
仅在没有使用vendor的集群软件状态下运行
(4)evmd
事件检测进程,由oracle用户运行管理
(5)主要log位置
$ORA_CRS_HOME/log/节点主机名/racg
$ORA_CRS_HOME/log/节点主机名/crsd
$ORA_CRS_HOME/crs/init
$ORA_CRS_HOME/css/log
$ORA_CRS_HOME/css/init
$ORA_CRS_HOME/evm/log
$ORA_CRS_HOME/evm/init
$ORA_CRS_HOME/srvm/log