SRVCTL 命令详细说明文档(原译)

** SRVCTL ** ** 命令详细说明文档(译) ** **

**

简介:

SRVCTL 是 ORACLE9i RAC 集群配置管理的工具。本文是对 SRVCTL 的所有命令进行详细说明的一篇参考文档。

读者对象: ORACLE9i RAC 数据库集群管理员。

注:

R AC: 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

l ** SRVCTL Config

**

显示保存在 SRVM 配置文件中的配置信息

srvctl config database

显示数据库配置列表

srvctl config database -d database_name

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

nodename1 instancename1 oraclehome

nodename2 instancename2 oraclehome

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

srvctl config database -d mydb

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

l ** SRVCTL Modify

**

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

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

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

srvctl modify instance -d mydb -n my_new_node

l ** 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 LANG=en

l ** SRVCTL Start

**

启动数据库,所有实例或指定的实例,及启动所有相关未启动的监听。

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

注:

对于 start 命令和其它一些可以使用连接字符串的操作,如果你不提供连接字符串,那么 ORACLE 会使用 "/ 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

叶正盛 ( 译 )

2005-04-03

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus