天天看点

srvctl 命令详解

srvctl 命令周详说明文件(译)

简介:

srvctl是oracle9i rac集群设置管理的工具。本文是对srvctl的所有命令进行周详说明的一篇参考文件。

读者对象:oracle9i rac数据库集群管理员。

注:

rac:     real application clusters

srvm:   server management

-------------------------------------------------------------------------------

l         srvctl add

添加数据库或实例的设置信息。在增加实例中,和-i一起指定的名字应该和instance_name 和 oracle_sid参数匹配。

srvctl add database -d database_name [-m domain_name] -o oracle_home [-s spfile]

srvctl add instance -d  database_name  -i instance_name -n node_name  

表4-5 srvctl add命令周详选项

-------------------------------------------------------------------------------

命令   选项

-------------------------------------------------------------------------------

-m     数据库域名  格式如"us.mydomain.com"

  -m 选项指定的数据库域名必须匹配数据库init.ora或spfile中db_domain 和db_name参数。在增加数据库时,-d指定的数据库名必须和db_name参数匹配

-n     实例节点名

-o     $oracle_home(用来确定lsnrctl和oracle等命令路径)

-s     spfile 文件名

-------------------------------------------------------------------------------

实例:添加一个新的数据库

srvctl add  database  -d mydb -o /ora/ora9

实例:向数据库添加实例

srvctl add instance -d mydb -i  mydb01 -n gm01

srvctl add instance -d mydb -i  mydb02 -n gm02

srvctl add instance -d mydb -i  mydb03 -n gm03 

srvctl config

显示保存在srvm设置文件中的设置信息

srvctl config database

显示数据库设置列表

srvctl config database -d database_name

数据库设置信息显示的格式:

nodename1 instancename1 oraclehome

nodename2 instancename2 oraclehome

实例:显示数据库设置信息

srvctl config database -d mydb

 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,...]]

实例:列出数据库的所有环境变量

srvctl getenv database -d mydb

srvctl modify

修改实例的节点设置信息。这些修改会在程式下次重新启动后生效。修改后的信息将永久保存。

srvctl modify instance -d database_name -i instance_name -n node_name

实例:修改实例到另一个节点

srvctl modify  instance  -d mydb  -n my_new_node

 srvctl remove

这是用来删除srvm库中设置信息的命令。对象相关的环境设置也同样删除。如果你未使用强制标志(-f),oracle将提示你确认是否删除。

使用强制选项(-f),删除操作将不进行提示

srvctl remove database -d database_name [-f]

srvctl remove instance  -d database_name -i instance_name [-f]

srvctl remove命令周详选项

-------------------------------------------------------------------------------

-f 强制删除应用时不进行确认提示

-------------------------------------------------------------------------------

实例:删除数据库

srvctl remove  database  -d mydb

实例:删除数据库实例

srvctl remove instance -d mydb -i  mydb01

srvctl remove instance -d mydb -i  mydb02

srvctl remove instance -d mydb -i  mydb03 

l         srvctl setenv

设置srvm设置文件中的环境变量值。

srvctl setenv database -d database_name -t name=value [,name=value,...]

srvctl setenv instance -d database_name [-i instance_name] -t name=value [,name=value,...]

实例:设置数据库环境变量

srvctl setenv database -d mydb -t / as sysdba"在实例上执行相关的操作。另外,要执行类似的操作,你必须是osdba组的成员。关于更多的osdba组权限信息,请参考oracle9i的安装指南。

-------------------------------------------------------------------------------

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]

表4-6 srvctl start命令周详选项

-------------------------------------------------------------------------------

命令   选项

-------------------------------------------------------------------------------

-o     在sql*plus直接传递的startup命令选项,能包括pfile

-c     使用sql*plus连接数据库实例的连接字符串

-------------------------------------------------------------------------------

实例:启动数据库及所有的实例

srvctl start database -d mydb

实例:启动指定的实例

srvctl start instance  -d mydb -i mydb1,mydb4

l         srvctl status

显示指定数据库的当前状态

srvctl status database -d database_name

srvctl status instance -d database_name -i instance_name [,instance_name-list]

实例:显示数据和所有实例状态

srvctl status database -d mydb

实例:显示指定实例的状态

srvctl status instance -d mydb -i mydb1,mydb2

l         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]

表4-7 srvctl stop命令周详选项

-------------------------------------------------------------------------------

命令   选项

-------------------------------------------------------------------------------

-c     使用sql*plus连接数据库实例的连接字符串

-o     在sql*plus直接传递的shutdown命令选项

-------------------------------------------------------------------------------

实例:停止数据库所有的实例

srvctl stop database -d mydb

实例:停止指定实例

srvctl stop instance  -d mydb -i mydb1

l         srvctl unsetenv

取消srvm设置文件中环境变量定义值

srvctl unsetenv database -d database_name-t name[,name,...]

srvctl unsetenv instance -d database_name[-i instance_name] -t name[,name,...]

实例:取消环境变量,回到缺省值

srvctl unsetenv database -d mydb -t classpath

l         使用srvconfig导入和导出raw设备设置信息

你可使用srvconfig导入和导出raw设备设置信息,不管设置文件是在集群文件系统上还是在raw设备上。你能使用这种方法来备份和恢复srvm设置信息。

例如:

下面的命令用来导出设置信息的内容到你指定文件名的文本文件中。

srvconfig -exp file_name

下面的命令用来从指定文本文件中导入设置信息到到你运行命令的rac环境设置信息库。

srvconfig -imp file_name