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, ONS:
$$ 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=en8、从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到其他节点
srvctl relocate service -d db_name -s service_name -I

CRS及相关服务的常用命令的演示
1、查看状态的命令
# su-oracle --先切换到oracle用户
$$ crs_stat -t --查看crs及所有的service的状态
$$ crsctl check crs --用crsctl命令,检查crs相关服务的状态
$$ srvctl status nodeapps -n db01 (db02) --使用srvctl查看所有节点上的服务是否正常
$$ srvctl status database -d db --使用srvctl查看数据库状态
$$ srvctl status asm -n pnode --使用srvctl查看asm状态
启动和关闭相关服务的命令
# 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 --停止数据库

修改VIP
srvctl modify nodeapps -n xxx1 -A 192.10.0.1/255.255.255.0