RAC常⽤开启关闭命令–SRVCTL⽤法
上周⼜做了⼀次ASM+RAC的实验,这次体验了srvctl这个强⼤的⼯具来管理RAC,对srvctl命令使⽤总结了⼀下:
SRVCTL是ORACLE RAC集配置管理的⼯具
SRVM  server management:
1. SRVCTL  Add命令
添加数据库或实例的配置信息。在增加实例中,与-i⼀起指定的名字应该与INSTANCE_NAME 和 ORACLE_SID参数匹配。
srvctl add database -d <database name> [-m domain_name] -o <ORACLE_HOME path> -p <spfile location and name>
oracle登录命令srvctl add instance -d <database name> -i <instance 1 name> -n <node 1 name >
srvctl add instance -d <database name> -i <instance 2 name> -n <node 2 name >
命令参数:
-m  数据库域名 格式如”us.oracle”
指定的数据库域名必须匹配数据库INIT.ORA或者SPFILE中DB_DOMAIN 和DB_NAME参数。在增加数据库时,-d指定的数据库名必须与DB_NAME参数匹配
-n  实例节点名
-o  $ORACLE_HOME(⽤来确定lsnrctl和Oracle等命令路径)
-p  SPFILE ⽂件名
Eg:
$srvctl  add database -d RAC -o /u01/oracle/product/10.2.0/db_1 -p +RAC_DISK/a
$srvctl  add  instance  -d RAC  -i rac1  -n node1
$srvctl  add  instance  -d RAC  -i rac2  -n node2
2.SRVCTL Config命令
显⽰保存在SRVM配置⽂件中的配置信息
srvctl config database
显⽰数据库配置列表
srvctl config database -d database_name
数据库配置信息显⽰的格式:
nodename1 instancename1 oraclehome
nodename2 instancename2 oraclehome
Eg:
$ srvctl config database
RAC
$srvctl config database -d rac
node1 rac1 /u01/oracle/product/10.2.0/db_1
node2 rac2 /u01/oracle/product/10.2.0/db_1
3.SRVCTL Modify命令
修改实例的节点配置信息,这些修改会在程序下次重新启动后⽣效,修改后的信息将永久保存。
srvctl modify instance -d database_name -i instance_name -n node_name
Eg:
$srvctl modify instance -d rac -n new_node
4.SRVCTL Remove命令
这是⽤来删除SRVM库中配置信息的命令,对象相关的环境设置也同样删除,如果你未使⽤强制标志(-f),ORACLE将提⽰你确认是否删除。
使⽤强制选项(-f),删除操作将不进⾏提⽰
srvctl remove database -d database_name [-f]
srvctl remove instance -d database_name -i instance_name [-f]
命令参数:
-f 强制删除应⽤时不进⾏确认提⽰
Eg:
$srvctl remove database -d rac
$srvctl remove instance -d rac -i rac1
$srvctl remove instance -d rac -i rac2
5.SRVCTL Start命令
启动数据库,所有实例或指定的实例,及启动所有相关未启动的监听。
注:对于start命令和其它⼀些可以使⽤连接字符串的操作,如果你不提供连接字符串,那么ORACLE会使⽤”/ as sysdba”在实例上执⾏相关的操作。另外,要执⾏类似的操作,你必须是OSDBA组的成员。
srvctl start database -d database_name [-o start_options] [-c connect_string]
srvctl start instance -d database_name -i instance_name [,instance_name-list] [-o start_options][-c connect_string]
命令参数:
-o  在SQL*Plus直接传递的startup命令选项,可以包括PFILE
-c  使⽤SQL*Plus连接数据库实例的连接字符串
Eg:
$srvctl start database -d rac
$ srvctl stop database -d rac -c “SYS/SYS_password as SYSDBA”
$srvctl start instance -d rac -i rac1,rac2
>>>>>>>>>>>>##
$srvctl start listener -n node1
$srvctl stop listener -n node2
$ srvctl stop listener -n node [-l listenername]
如果⽤srvctl关闭监听后,再⽤lsnrctl start打开监听。这时srvctl仍然认为监听已经关闭。因此,再次使⽤srvctl关闭监听,似乎srvctl根本没有去执⾏。如果希望srvctl可以关闭监听,那么需要先⽤srvctl启动监听,然后再关闭。搜索了⼀下metalink,没有发现关于这个问题的说明。⽽且,这个问题只在关闭监听时出现,启动监听则没有问题。svrctl显然只记录它⾃⼰的操作,⽽不去检查listener真正的状态。
>>>>>>>>>>>>##
6.SRVCTL Status命令
显⽰指定数据库的当前状态
srvctl status database -d database_name
srvctl status instance -d database_name -i instance_name [,instance_name-list]
Eg:
$srvctl status database -d rac
$srvctl status instance -d rac -i rac1,rac2
7.SRVCTL Stop命令
停⽌数据库所有实例可者指定实例
srvctl stop database -d database_name [-o stop_options] [-c connect_string]
srvctl stop instance -d database_name -i instance_name [,instance_name_list] [-o stop_options][-c connect_string]
命令参数:
-c  使⽤SQL*Plus连接数据库实例的连接字符串
-o  在SQL*Plus直接传递的shutdown命令选项
Eg:
$srvctl stop database -d rac
$srvctl stop instance -d rac -i rac2
$ srvctl stop service -d db_name [-s service_name_list [-i inst_name]]
$ srvctl stop asm -n node
8.使⽤SRVCONFIG导⼊和导出RAW设备配置信息
你可使⽤SRVCONFIG导⼊和导出RAW设备配置信息,不管配置⽂件是在集⽂件系统上还是在RAW设备上。你可以使⽤这种⽅法来备份与恢复SRVM配置信息。
Eg:
下⾯的命令⽤来导出配置信息的内容到你指定⽂件名的⽂本⽂件中。
$srvconfig -exp file_name
下⾯的命令⽤来从指定⽂本⽂件中导⼊配置信息到到你运⾏命令的RAC环境配置信息库。
$srvconfig -imp file_name
9.SRVCTL Getenv命令
getenv操作⽤来从SRVM配置⽂件中获取与显⽰环境变量
srvctl getenv database -d database_name [-t name[,name,……]]
srvctl getenv instance -d database_name -i instance_name [-t name[,name,……]]
Eg:
$srvctl getenv database -d rac
10.SRVCTL Setenv命令
设置SRVM配置⽂件中的环境变量值。
srvctl setenv database -d database_name -t [,name=value,……]
srvctl setenv instance -d database_name [-i instance_name] -t [,name=value,……]
Eg:
$srvctl setenv database -d rac -t LANG=en
11.SRVCTL Unsetenv命令
取消SRVM配置⽂件中环境变量定义值
srvctl unsetenv database -d database_name-t name[,name,……]
srvctl unsetenv instance -d database_name[-i instance_name] -t name[,name,……]
Eg:
$srvctl unsetenv database -d rac -t CLASSPATH
Updated @ 11-12-09 11:43
Example:In windows, the correct startup/shutdown steps is: STARTUP:
node1$srvctl start nodeapps -n rac1
node1$srvctl start nodeapps -n rac2
node1$srvctl start asm -n rac1
node1$srvctl start asm -n rac2
node1$srvctl start database -d rac
node1$srvctl start service -d rac
node1$crs_stat -t
SHUTDOWN:
node1$srvctl stop service -d rac
node1$srvctl stop database -d rac
node1$srvctl stop asm -n rac2
node1$srvctl stop asm -n rac1
node1$srvctl stop nodeapps -n rac2
node1$srvctl stop nodeapps -n rac1
node1$crs_stat -t
-The End-

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论