This is an excerpt from the bestselling book
Oracle Grid & Real Application Clusters. To get immediate
access to the code depot of working RAC scripts, buy it
directly from the publisher and save more than 30%.
To manage the RAC environment,
first build a configuration profile and optionally save it. The
configuration can be built by commands such as add and setenv. It is
a good practice to build configuration profiles and export them to
ASCII files.
SRVCTL syntax has the following
components:
> srvctl verb
noun options
Where:
srvctl is the SRVCTL command.
verb is an action word such as
start, stop, or remove.
noun is an object upon which
SRVCTL performs the action verb, such as a database or instance.
Alternatively, abbreviations can be used, which in this case are db
and inst respectively.
options extends the use of
preceding verb-noun combinations.
To see the online command syntax
and options for each SRVCTL command, enter:
> srvctl verb
noun -h
Table 8.9 shows the common
SRVCTL verbs.
VERB |
DESCRIPTION |
add |
Add a database or instance. |
config |
Lists the configuration for
the database or instance. |
Getenv |
Lists the environment
variables in the SRVM configuration. |
Modify |
Modifies the instance
configuration. |
remove |
Removes the database or
instance. |
Setenv |
Sets the environment
variable in the SRVM configuration. |
Start |
Starts the database or
instance. |
Status |
Status of the database or
instance. |
Stop |
Stops the database or
instance. |
Unsetenv |
Sets the environment
variable in the SRVM configuration to unspecified |
Table 8.9: Common SRVCTL verbs
Table 8.10 shows the common
srvctl nouns.
NOUN |
ABBREVIATION |
DESCRIPTION |
database |
db |
Operation refers to objects
for the database. |
asm |
asm |
To add, configure, enable,
start, obtain the status of, stop, disable, and remove ASM
instances. |
instance |
Inst |
Operation refers to objects
for the instances. |
nodeapps |
no abbreviation |
To add, configure, modify,
manage environment variables for, start, obtain the status of,
stop, and remove node applications. |
Service |
serv |
To add, configure, modify,
manage environment variables for, enable, start, obtain the
status of, relocate, disable, stop, and remove services from
your cluster database. |
Table 8.10: Common SRVCTL nouns
Table 8.11 shows the common
srvctl command options.
OPTION |
MEANING |
-d |
Database name |
-h |
Print Usage |
-i |
Comma-separated list of
instance names |
-n |
Node names or
comma-separated node list |
Table 8.11: Common SRVCTL
command options
Some commonly used commands will
be examined next.
srvctl add
This command adds configuration
information for the database or for named instances. Command
specific actions for add command:
OPTION |
MEANING |
-n |
Node name that will support
an instance. |
-o |
$ORACLE_HOME to locate
lsnrctl (node option) and oracle binaries (other options) |
-s |
SPFILE name |
-m |
Database domain name, in the
form ?us.domain.com? |
For example, to add a new
database:
> srvctl add
database -d racdb -o /app/oracle/product/920
To add named instances to a
database:
>
srvctl add instance -d racdb -i rac1 -n mynode1
> srvctl add instance -d racdb -i rac2 -n mynode2
> srvctl add instance -d racdb -i rac3 -n mynode3
srvctl config
This command displays a list of
configured databases. The syntax is:
srvctl config
database -d database_name
For example, to display
configured databases:
> srvctl
config database -d RACDB
Gives the output:
mynode1
RACDB1 /app/oracle/product/dbms/920
mynode2 RACDB2 /app/oracle/product/dbms/920
srvctl getenv
This command displays values for
the environment from the SRVM configuration file. The syntax is:
> srvctl
getenv database -d database_name [-t name]
> srvctl
getenv instance -d database_name
-i instance_name [-t name]
For example, to list all environment variables
for a database:
> srvctl
getenv database ?d racdb
srvctl setenv
This command sets values for the
environment in the SRVM configuration file. The syntax is:
> 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,?]
For example, to set list all
environment variables for a database:
> srvctl
setenv database -d mydb -t LANG=en
srvctl start
This command starts the
database, all or named instances, and all listeners associated with
the database. The syntax is:
> srvctl
start database -d database_name
[-o start_options] [-c connect_string]
> srvctl
start instance -d database_name -i instance_name
[,insta_name-list] [-o start_options] [-c connect_string]
Command-Specific Options for
srvctl start
OPTION |
MEANING |
-o |
Options passed directly to
startup command in SQL*Plus including PFILE. |
-c |
Connect string for
connecting to the Oracle instance using SQL*Plus. |
For example, to start the
database and all enabled instances:
> srvctl
start database -d mydb
To start specified instances:
> srvctl
start instance -d racdb -i racdb1, racdb3
srvctl status
This command displays the status
of the database and instance. The syntax is:
> srvctl
status database -d database_name
> srvctl
status instance -d database_name
-i instance_name [,instance_name-list]
For example, to get the current
status of two instances:
> srvctl
status instance -d RAC -i racdb1, racdb2
Gives the output:
Instance RACDB1 is running on node mynode1
Instance RACDB2 is not running on node mynode1
srvctl stop
This command stops the database
and all or named instances. The syntax is:
> 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]
For example, to stop the
database all instances:
> srvctl stop
database -d RACDB
To stop named instances:
> srvctl stop
instance -d RACDB -i racdb1
Use the srvconfig command to
export/import the SRVM configuration information. The following is
an example of how to export the contents of the configuration
information to the text file:
> srvconfig
-exp file_name
To import the configuration
information from the text file named to the configuration repository
for the RAC, use the command:
> srvconfig
-imp file_name