转:http://blog.sina.com.cn/s/blog_4d22b9720100ezf4.html
使用秘诀:
srvctl +<command:status,start,stop,config,modify,relocate>+<object:database,service,instance,nodeapps> + <option: -i ,-d,-s,-n>
srvctl -h
srvctl stop instance -h
srvctl relocate service -h
eg:
AEG2_DB2:/oracle/product/10.2.0/crs>srvctl relocate service -h
Usage: srvctl relocate service -d <name> -s <service_name> -i <old_inst_name> -t <new_inst_name> [-f]
-d <name> Unique name for the database
-s <service> Service name
-i <old_inst> Old instance name
-t <new_inst> New instance name
-f Disconnect all sessions during stop or relocate service operations
-h Print usage
根据你写出的长度不同的命令,会具体给出这个命令对应的作用的使用方法,非常好用。
---------------------Start/Stop Instance--------------------
$ srvctl status database -d racdb
$ srvctl stop instance -d racdb -i racdb1 -o abort
$ srvctl status database -d racdb
$ srvctl start instance –d db –i db02
-------------------Start/Stop CRS--------------------------
$ crsctl check crs
$ crsctl stop crs
$ /etc/init.crs stop
$ crs_stop –all
$ crsctl start crs
$ /etc/init.crs start
$ /etc/init.crs disable
$ /etc/init.crs enable
-----------------CRS Resource-----------------------------
$ crs_stat
$ crs_stat -t
$ crsctl check boot
$ crsctl check crs
# /etc/init.crs disable
# /etc/init.crs stop
# su – oracle
$ cd $ORA_CRS_HOME/bin
$./ocrconfig -restore /opt/app/oracle/crs/cdata/crs/week.ocr
# /etc/init.crs enable
$ crsctl
Usage: crsctl check
SRVCTL命令介绍
SRVCTL命令可以控制RAC数据库中的instance,listener以及services。
通常SRVCTL在ORACLE用户下执行。下面我们来介绍srvctl命令。
1、通过SRVCTL命令来start/stop/check所有的实例:
$ srvctl start|stop|status database -d <db_name> |
2、start/stop指定的实例:
$ srvctl start|stop|status instance -d <db_name> -i <instance_name> |
3、列出当前RAC下所有的
$ srvctl config database -d <db_name> |
4、start/stop/check 所有的nodeapps,比如:VIP, GSD, listener, ON
$ srvctl start|stop|status nodeapps -n <node_name> |
5、如果你使用ASM,srvctl也可以start/stop ASM实例:
$ srvctl start|stop asm -n <node_name> [-i <asm_inst_name>] [-o<oracle_home>] |
6、可以获取所有的环境信息:
$ srvctl getenv database -d <db_name> [-i <instance_name>] |
7、设置全局环境和变量:
$ srvctl setenv database -d <db_name> -t LANG=en |
8、从OCR中删除已有的数据库:
$ srvctl remove database -d <db_name> |
9、向OCR中添加一个数据库:
$ srvctl add database -d <db_name> -o <oracle_home> [-m <domain_name>] [-p<spfile>] [-A <name|ip>/netmask] [-r {PRIMARY | PHYSICAL_STANDBY |LOGICAL_STANDBY}] [-s <start_options>] |
10、向OCR中添加一个数据库的实例:
$ srvctl add instance -d <db_name> -i <instance_name> -n <node1> $ srvctl add instance -d <db_name> -i <instance_name> -n <node2> |
11、向OCR中添加一个ASM实例:
$ srvctl add asm -n <node_name> -i <asm_inst_name> -o <oracle_home> |
12、添加一个service
$ srvctl add service -d <db_name> -s <service_name> -r <preferred_list> |
[-a <available_list>] [-P <TAF_policy>] [-u] |
13、修改在其他节点上的service(修改的是配置,此时使用的实例不变)
$ srvctl modify service -d <db_name> -s <service_name> -I <orig_instance_name> -t <target_instance_name> |
14、relocate 某个节点的service到其他节点(当taf转到avail实例上后,又想转到pre的实例上,用relocate)
srvctl relocate service -d <db_name> -s <service_name> -I <orig_instance_name> -t <target_instance_name> |
SRVCTL相关的选项
SRVCTL START/STOP/STATUS options: -d database name -i instance name -n node name (for nodeapps) |
SRVCTL ADD options: -A vip range, node, and database, address specification. The format of address string is: [<logical host name>]/<VIP address>/<net mask> [/<host interface1 [ | host interface2 |..]>] [,] [<logical host name>]/<VIP address>/<net mask> [/<host interface1[ | host interface2 |..]>] -a for services, list of available instances, this list cannot include preferred instances -m domain name with the format “us.domain.com” -n node name that will support on -o $ORACLE_HOME to locate Oracle binaries -P for services, TAF preconnect policy - NONE, PRECONNECT -r for services, list of preferred instances, this list cannot include available instances. -s spfile name -u updates the preferred or available list for the service to support the specified instance. On support the service should not be included. |
SRVCTL MODIFY options: -i <instance-name> -t <instance-name> : the instance name (-i) is replaced by the instance name (-t) -i <instance-name> -r : the named instance is modified to be a preferred instance -A address-list for VIP application, at node level -s <asm_inst_name> : add or remove ASM dependency |
SRVCTL RELOCATE options: -i <instance-name> -t <instance-name> : the instance name (-i) is replaced by the instance name (-t) |
CRS及相关服务的常用命令
1、查看状态的命令
# su – oracle -- 先切换到oracle用户 $ crs_stat -t -- 查看crs及所有的service的状态 Name Type Target State Host ------------------------------------------------------------ ora.oradb.db application ON ora....radb.cs application ON ora....db1.srv application ON ora....db2.srv application ON ora....b1.inst application ON ora....b2.inst application ON ora....C1.lsnr application ON ora.db01.gsd application ON ora.db01.on ora.db01.vip application ON ora....C2.lsnr application ON ora.db02.gsd application ON ora.db02.on ora.db02.vip application ON $ crsctl check crs -- 用crsctl命令,检查crs相关服务的状态 CSS appears healthy CRS appears healthy EVM appears healthy $ srvctl status nodeapps -n db01 (db02) -- 使用srvctl查看所有节点上的服务是否正常 VIP is running on node:db01 GSD is running on node:db01 Listener is running on node:db01 ON $ srvctl status database -d db -- 使用srvctl查看数据库状态 Instance db01 is running on node db01 Instance db02 is running on node db02 |
2、启动和关闭相关服务的命令
# su – oracle $ crs_start –all --启动所有的crs服务 $ crs_stop –all --停止所有的crs服务 $ crsctl start crs --启动crs服务 $ crsctl stop crs --停止crs服务 |
$ srvctl start nodeapps -n db01(db02) --启动某节点上所有的应用 $ srvctl stop nodeapps -n db01(db02) --停止某节点上所有的应用 $ srvctl start listener -n db01(db02) --启动某个节点的listener $ srvctl stop listener -n db01(db02) --停止某个节点的listener $ srvctl start instance –d db –i db01(db02) --启动某个instance $ srvctl stop instance –d db –i db01(db02) --停止某个instance $ srvctl start database –d db --启动数据库 $ srvctl stop database –d db --停止数据库 |