Usage: srvctl <command> <object> [<options>]
objects: database|instance|service|nodeapps|asm|listener
For detailed help on each command and object and its options use:
srvctl <command> <object> -h
第一步是停止Oracle实例.当此实例(和相关服务)关闭后,关闭ASM实例.
最后,关闭节点应用程序(虚拟IP,GSD,TNS 监听器和 ONS).
emctl stop dbconsole
srvctl stop instance -d devdb -i devdb1
srvctl stop asm -n rac1
srvctl stop nodeapps -n rac1
关闭监听器
node1-> srvctl stop listener -n node1
node1-> srvctl stop listener -n node2
关闭数据库
node2-> srvctl stop database -d racdb
关闭asm
node1-> srvctl stop asm -n node1
node1-> srvctl stop asm -n node2
关闭资源
node1-> srvctl stop nodeapps -n node1
node1-> srvctl stop nodeapps -n node2
关闭crs
[root@node1 ~]# /etc/init.d/init.crs stop
[root@node2 ~]# /etc/init.d/init.crs stop
第一步是启动节点应用程序(虚拟IP,GSD,TNS监听器和ONS)
当成功启动节点应用程序后,启动 ASM 实例.
最后,启动 Oracle 实例(和相关服务)以及企业管理器数据库控制台.
export ORACLE_SID=devdb1
srvctl start nodeapps -n rac1
srvctl start asm -n rac1
srvctl start instance -d devdb -i devdb1
emctl start dbconsole
srvctl start database -d devdb
srvctl stop database -d devdb
srvctl status instance -d devdb -i devdb1
srvctl status service -d devdb -s orcltest
[oracle@rac1 ~]$ srvctl status nodeapps -n rac1
VIP is running on node: rac1
GSD is running on node: rac1
Listener is running on node: rac1
ONS daemon is running on node: rac1
12.显示所有节点的私有、VIP名及节点名
$olsnodes -n -p -i
rac1 1 rac1-priv rac1-vip.mycorpdomain.com
rac2 2 rac2-priv rac2-vip.mycorpdomain.com
13.查看节点应用程序(VIP、GSD、Listener、ONS)的配置
$./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
[oracle@rac1 srvm]$ srvctl config nodeapps -n rac1
rac1 devdb1 /u01/app/oracle/product/10.2.0/db_1
[oracle@rac1 srvm]$ srvctl config nodeapps -n rac1 -a -g -s -l
VIP exists.: /rac1-vip.mycorpdomain.com/192.168.2.31/255.255.255.0/eth0
GSD exists.
ONS daemon exists.
Listener exists.
$crsctl query css votedisk
0. 0 /ocfs/clusterware/votingdisk
located 1 votedisk(s).
-rw-r--r-- 1 oracle oinstall 10240000 Mar 26 21:14 /ocfs/clusterware/votingdisk
#crsctl add css votedisk '/dev/raw/raw3'
#crsctl delete css votedisk '/dev/raw/raw3'
恢复Voting Disk:
15. 查看数据库上的service运行情况
node2-> srvctl status service -d racdb
Service s1 is running on instance(s) racdb1
Service s2 is running on instance(s) racdb2
16.添加service_name
node1>srvctl add service -d racdb -s s11 -r "racdb1" -a "racdb2"
在节点1上创建service_name=s11
-d : 数据库名称
-r : 首选节点列表
-a : 备用节点列表
srvctl add service -d db_unique_name -s service_name {-r "preferred_list"
[-a "available_list"] [-P {BASIC | NONE | PRECONNECT}] | -g server_pool
[-c {UNIFORM | SINGLETON]} [-k network_number]
[-l [PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY]
[-y {AUTOMATIC | MANUAL}] [-q {TRUE | FALSE}] [-x {TRUE | FALSE}]
[-j {SHORT | LONG}][-B {NONE | SERVICE_TIME | THROUGHPUT}]
[-e {NONE | SESSION | SELECT}] [-m {NONE | BASIC}] [-z failover_retries]
[-w failover_delay]
修改服务属性
Declare
Begin
Dbms_Service.Modify_Service(Service_Name => 's11',
Failover_Method => Dbms_Service.Failover_Type_None,
Failover_Type => Dbms_Service.Failover_Type_Select,
failover_retries => 180,
failover_delay => 20);
End;
17.服务切换
node1-> srvctl relocate service -d racdb -s s11 -i racdb2 -t racdb1
将服务从节点2切换到节点1
-d db_unique_name Unique name for the database
-s service_name Service name
-c source_node Name of the node where the service is currently running
-n target_node Name of node where the service should be relocated
-i old_instance_name Old instance name
-t new_instance_name New instance name
-f Disconnect all sessions during stop or relocate service operations
18.手工启动服务
查看offline的服务
node2-> crs_stat -v
具体指定某个服务启动
node2-> crs_start ora.racdb.s1.racdb1.srv
手工创建的service_name,记得有一次手工启动数据库的时候没有自动启动,后来逐个进行启动。
或是
node1-> srvctl start service -d racdb -s s1
node1-> srvctl start service -d racdb -s s2
node1-> srvctl start service -d racdb -s s11
19.查看数据库上的服务情况
node1-> srvctl config service -d racdb
s1 PREF: racdb1 AVAIL:
s2 PREF: racdb2 AVAIL:
s11 PREF: racdb1 AVAIL: racdb2
$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
$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
2.检查所有节点的ocr情况
[grid@node1 ocrbak]$ cluvfy comp ocr -n all
Verifying OCR integrity
Checking OCR integrity...
Checking the absence of a non-clustered configuration...
All nodes free of non-clustered, local-only configurations
ASM Running check passed. ASM is running on all cluster nodes
Checking OCR config file "/etc/oracle/ocr.loc"...
OCR config file "/etc/oracle/ocr.loc" check successful
Disk group for ocr location "+crs" available on all the nodes
Checking size of the OCR location "+crs" ...
Size check for OCR location "+crs" successful...
Size check for OCR location "+crs" successful...
WARNING:
This check does not verify the integrity of the OCR contents. Execute 'ocrcheck' as a privileged user to verify the contents of OCR.
OCR integrity check passed
Verification of OCR integrity was successful.
[grid@node1 ocrbak]$ more /etc/oracle/ocr.loc
ocrconfig_loc=+crs
local_only=FALSE
3.添加ocr镜像
[root@node1 bin]#/u01/app/oracle/product/10.2.0/crs_1/bin/ocrconfig -replace ocrmirror /dev/raw/raw3
[root@node1 bin]# /u01/app/oracle/product/10.2.0/crs_1/bin/ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 1043916
Used space (kbytes) : 4860
Available space (kbytes) : 1039056
ID : 1781838267
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File Name : /dev/raw/raw3
Device/File integrity check succeeded
Cluster registry integrity check succeeded
[root@node1 oracle]# more /etc/oracle/ocr.loc
#Device/file getting replaced by device /dev/raw/raw3
ocrconfig_loc=/dev/raw/raw1
ocrmirrorconfig_loc=/dev/raw/raw3
local_only=false
删除ocr镜像
[root@node1 oracle]# /u01/app/oracle/product/10.2.0/crs_1/bin/ocrconfig -replace ocrmirror
[root@node1 oracle]# more /etc/oracle/ocr.loc
#Device/file /dev/raw/raw3 being deleted
ocrconfig_loc=/dev/raw/raw1
local_only=false
[root@node1 oracle]#
4.删除ocr
删除ocr后,ocr镜像会自动转换为ocr.
node1-> /u01/app/oracle/product/10.2.0/crs_1/bin/ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 1043916
Used space (kbytes) : 4868
Available space (kbytes) : 1039048
ID : 1781838267
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File Name : /dev/raw/raw3
Device/File integrity check succeeded
Cluster registry integrity check succeeded
[root@node1 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/ocrconfig -replace ocr
[root@node1 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 1043916
Used space (kbytes) : 4868
Available space (kbytes) : 1039048
ID : 1781838267
Device/File Name : /dev/raw/raw3
Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded
5.添加vote磁盘
最好先关闭crs
[root@node1 oracle]# /etc/init.d/init.crs stop
[root@node2 oracle]# /etc/init.d/init.crs stop
[root@node1 oracle]# /u01/app/oracle/product/10.2.0/crs_1/bin/crsctl add css votedisk /dev/raw/raw21
Cluster is not in a ready state for online disk addition
需要添加force参数
[root@node1 oracle]# /u01/app/oracle/product/10.2.0/crs_1/bin/crsctl add css votedisk /dev/raw/raw21 -force
Now formatting voting disk: /dev/raw/raw21
successful addition of votedisk /dev/raw/raw21.
[root@node1 oracle]# /u01/app/oracle/product/10.2.0/crs_1/bin/crsctl add css votedisk /dev/raw/raw22 -force
Now formatting voting disk: /dev/raw/raw22
successful addition of votedisk /dev/raw/raw22.
6. 获取css相关设置
node1-> crsctl get css misscount
60
node1-> crsctl get css disktimeout
200
node1-> crsctl get css reboottime
3
16.停止启动具体某个资源
[oracle@node2 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.node1.gsd application ONLINE UNKNOWN node1
ora.node1.ons application ONLINE UNKNOWN node1
ora.node1.vip application ONLINE ONLINE node1
ora.node2.gsd application ONLINE UNKNOWN node2
ora.node2.ons application ONLINE UNKNOWN node2
ora.node2.vip application ONLINE ONLINE node2
----------stop-----------------
crs_stop ora.node1.gsd
crs_stop ora.node1.ons
crs_stop ora.node2.gsd
crs_stop ora.node2.ons
--------start------------------
crs_start ora.node1.gsd
crs_start ora.node1.ons
crs_start ora.node2.gsd
crs_start ora.node2.ons
17.重启动CRS(各节点上root用户下执行)
#/etc/init.d/init.crs stop
#/etc/init.d/init.crs start
#/etc/init.d/init.crs enable //随系统启动而自启动,默认选项
#/etc/init.d/init.crs disenable//系统启动后不自动启动
二、Oracle RAC常用的日志文件
1.db的alertlog文件:
$ORACLE_BASE/admin/orcl/bdump/
$ORACLE_BASE/admin/ams/bdump/
$ORACLE_CRS_HOME/crs/log
$ORACLE_CRS_HOME/css/log
$ORACLE_CRS_HOME/evm/log
$ORACLE_CRS_HOME/srvm/log