SRVCTL Usage Information

SRVCTL is installed on each node in a cluster by default. To use SRVCTL, log in to the operating system of a node and enter the SRVCTL command and its parameters in case-sensitive syntax as described in "SRVCTL Command Reference".

  • Only use the version of SRVCTL that is provided with Oracle Database 12c on Oracle RAC databases that are created for or upgraded to Oracle Database 12c. The version of SRVCTL must be the same as the version of the object (listeners, Oracle ASM instances, Oracle RAC databases and their instances, and services) being managed. To ensure the versions are the same release, run SRVCTL commands from the Oracle home of the database or object you are managing.

  • SRVCTL does not support concurrent executions of commands on the same object. Therefore, run only one SRVCTL command at a time for each database, service, or other object.

  • When specifying a comma-delimited list as part of a SRVCTL command, there should not be any spaces between the items in the list. For example:

    srvctl add database -serverpool "serverpool1,serverpool3"
    

    When you specify a comma-delimited list in a Windows environment, you must enclose the list in double quotation marks (""). You can enclose a comma-delimited list in double quotation marks in a Linux or UNIX environment but they will be ignored.

  • If you are entering a SRVCTL command, and you want to continue the input on a new line, then you can use the operating system continuation character. In Linux, this is the backslash (\) symbol.

  • A SRVCTL command that produces no output is a successful command. Not all SRVCTL commands return a message when it completes, successfully. However, if a SRVCTL command fails, then it always returns an error message.

  • You can use the -eval parameter with several SRVCTL commands. This parameter, when you use it, enables you to simulate running a command without making any changes to the system. SRVCTL returns output that informs you what will happen if you run a particular command. For example, to know what might happen if you relocate a server:

    $ srvctl relocate server –servers "rac1" –eval –serverpool pool2
    
    Database db1
         will stop on node rac1
         will start on node rac7
         Service mySrv1
              will stop on node rac1, it will not run on any node
         Service myServ2
              will stop on node rac1
              will start on node rac6
    Server rac1
         will be moved from pool myPoolX to pool pool2
    

    The -eval parameter is available with the following commands: