10g RAC常用开启关闭命令 – SRVCTL用法

时间:2022-12-25 22:41:04

10G RAC: srvctl

1. Grammar:

srvctl <command> <object> [<options]]

available <command>: enable/disable/start/stop/relocate/status/
add/remove/modify/getenv/setenv/unsetenv/config

avaliable <object>: database/instance/service/nodeapps/vip_range

show help: srvctl <command> <object> -h

2. Examples:

2.1 srvctl config

Available options: database|service|nodeapps|asm

Usage for backward compatibility

srvctl config: Display database name

srvctl config -V : Display the version of srvctl

# display the database info on the specfied node
srvctl config -p orcl -n rac1 :

Full usage:

# list all registered instance of the database
srvctl config database -d orcl
example output:

rac1 orcl1 /orabase/product/10.1.0/db_1
rac2 orcl2 /orabase/product/10.1.0/db_1

# show additional attributes
srvctl config database -d orcl -a
example output:

DB_NAME: orcl
ORACLE_HOME: /orabase/product/10.1.0/db_1
SPFILE: /oradata/orcl/spfileorcl.ora
DOMAIN: null
DB_ROLE: null
START_OPTIONS: null

# show tns entries
srvctl config database -d orcl -t

Example client-side TNS entry for service orcltest:

orcltest =
(description=
(address=(protocol=tcp)(host=db_vip)(port=dedicated_port))
(connect_data=
(service_name=orcltest)
(failover_mode=
(type=select)
(method=basic)
)
)
)

# Display help
srvctl config service -h

# Display service's information
srvctl config service -d orcl -s <service_name>

# display help
srvctl config nodeapps -h

# display node's information
srvctl config nodeapps -n rac1

example output:
rac1 orcl1 /orabase/product/10.1.0/db_1

# display VIP configuration
srvctl config nodeapps -n rac1 -a

# display GSD configuration
srvctl config nodeapps -n rac1 -g

# display OSD configuration
srvctl config nodeapps -n rac1 -s

# display Listener configuration
srvctl config nodeapps -n rac1 -l

2.2 srvctl status

Available options: database|instance|service|nodeapps|asm

# Display help for database level
srvctl status database -h

# Display instance's running status on each node
srvctl status database -d orcl

example output:
Instance orcl1 is(not) running on node rac1
Instance orcl2 is(not) running on node rac2

# include disabled applications
srvctl status database -d orcl -f

# verbos output
srvctl status database -d orcl -v

# Additional information for EM Console
srvctl status database -d orcl -S EM_AGENT_DEBUG

# Additional information for EM Console
srvctl status database -d orcl -i orcl1 -S EM_AGENT_DEBUG

# Display help for instance level
srvctl status instance -h

# display appointed instance's running status
srvctl status instance -d orcl -i orcl1

# Display help for node level
srvctl status nodeapps -h

# Display all app's status on the node xxx
srvctl status nodeapps -n <node_name>

Not finished, Continue...

2.3 srvctl start

I think maybe it's one of the most frequently used commands
as well as 'srvctl stop'.

Available options: database|instance|service|nodeapps|asm

# Start database
srvctl start database -d orcl -o nomount
srvctl start database -d orcl -o mount
srvctl start database -d orcl -o open

# Grammar for start instance
srvctl start instance -d [db_name] -i [instance_name]
-o [start_option] -c [connect_str] -q

# Start all instances on the all nodes
srvctl start instance -d orcl -i orcl1,orcl2,...

# Start ASM instance
srvctl start ASM -n [node_name] -i asm1 -o open

# Start all apps in one node
srvctl start nodeapps -n [node_name]

2.4 srvctl stop

I think maybe it's also one of the most frequently used
commands as well as 'srvctl start'.

Available options: database|instance|service|nodeapps|asm

# Stop database
srvctl stop database -d orcl -o normal
srvctl stop database -d orcl -o immediate
srvctl stop database -d orcl -o abort

# Grammar for stop instance
srvctl stop instance -d [db_name] -i [instance_name]
-o [start_option] -c [connect_str] -q

# Stop all instances on the all nodes
srvctl stop instance -d orcl -i orcl1,orcl2,...

# Stop ASM instance
srvctl stop ASM -n [node_name] -i asm1 -o [option]

# Stop all apps in one node
srvctl stop nodeapps -n [node_name]

2.5 srvctl add

Available options: database|instance|service|nodeapps|asm

Description:

Add a configuration to your cluster database configuration.
"srvctl add service" adds services to a database and
assigns them to instances. You can use "srvctl add service"
to configure the Transparent Application Failover (TAF)
policy for a service.

2.6 srvctl remove

Available options: database|instance|service|nodeapps|asm

Description: Removes the named object from the cluster
environment.

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

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

表- 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/ora

实例:向数据库添加实例

srvctl add instance -d mydb -i mydb0 -n gm0

srvctl add instance -d mydb -i mydb0 -n gm0

srvctl add instance -d mydb -i mydb0 -n gm0

SRVCTL Config

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

srvctl config database

显示数据库配置列表

srvctl config database -d database_name

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

nodename instancename oraclehome

nodename instancename 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 mydb0

srvctl remove instance -d mydb -i mydb0

srvctl remove instance -d mydb -i mydb0

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

SRVCTL Start

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

注:

对于start命令和其它一些可以使用连接字符串的操作,如果你不提供连接字符串,那么ORACLE会使用"/ as sysdba"在实例上执行相关的操作。另外,要执行类似的操作,你必须是OSDBA组的成员。关于更多的OSDBA组权限信息,请参考ORACLEi的 安装指南。

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]

表- SRVCTL Start命令详细选项

命令  选项

-o   在SQL*Plus直接传递的startup命令选项,可以包括PFILE

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

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

  
srvctl start database -d mydb

实例:启动指定的实例

srvctl start instance -d mydb -i mydb,mydb

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 mydb,mydb

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]

表- SRVCTL Stop命令详细选项

命令  选项

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

-o   在SQL*Plus直接传递的shutdown命令选项

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

srvctl stop database -d mydb

实例:停止指定实例

srvctl stop instance -d mydb -i mydb

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

使用SRVCONFIG导入和导出RAW设备配置信息

你可使用SRVCONFIG导入和导出RAW设备配置信息,不管配置文件是在集群文件系统上还是在RAW设备上。你可以使用这种方法来备份与恢复SRVM配置信息。

例如:

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

srvconfig -exp file_name

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

srvconfig -imp file_name

核实 RAC 集群/数据库配置

来自: http://hi.baidu.com/wjdwei/blog/item/11233d8349ec8eaa0cf4d219.html