Useful srvctl Commands for Oracle RAC and Non-RAC Databases
This post provides a comprehensive guide to srvctl commands used to manage Oracle RAC and non-RAC databases. These commands include database, instance, service, listener, and node application management. Each command is detailed with examples and differences between RAC and non-RAC environments.
1. Managing Databases
Adding a Database
For RAC:
srvctl add database -db <db_unique_name> -oraclehome <oracle_home_path> -spfile <spfile_path>Example:
srvctl add database -db myracdb -oraclehome /u01/app/oracle/product/19.0.0/dbhome_1 -spfile +DATA/MYRACDB/spfilemyracdb.ora Adds the RAC database MYRACDB with its SPFILE in the +DATA disk group.
For Non-RAC:
srvctl add database -db <db_unique_name> -oraclehome <oracle_home_path> -spfile <spfile_path>Example:
srvctl add database -db mydb -oraclehome /u01/app/oracle/product/19.0.0/dbhome_1 -spfile /u01/app/oracle/dbs/spfilemydb.oraAdds the standalone database MYDB with its SPFILE in the local filesystem.
Starting a Database
For RAC:
srvctl start database -db <db_unique_name>Example:
srvctl start database -db myracdbFor Non-RAC:
srvctl start database -db <db_unique_name>Example:
srvctl start database -db mydb
Stopping a Database
For RAC:
srvctl stop database -db <db_unique_name>Example:
srvctl stop database -db myracdbFor Non-RAC:
srvctl stop database -db <db_unique_name>Example:
srvctl stop database -db mydb
Checking Database Status
For RAC:
srvctl status database -db <db_unique_name>Example:
srvctl status database -db myracdbOutput:
Instance myracdb1 is running on node racnode1 Instance myracdb2 is running on node racnode2For Non-RAC:
srvctl status database -db <db_unique_name>Example:
srvctl status database -db mydbOutput:
Instance mydb is running on node standalonehost
Removing a Database
For RAC:
srvctl remove database -db <db_unique_name>Example:
srvctl remove database -db myracdbFor Non-RAC:
srvctl remove database -db <db_unique_name>Example:
srvctl remove database -db mydb
2. Managing Database Instances
Starting an Instance
For RAC:
srvctl start instance -db <db_unique_name> -instance <instance_name>Example:
srvctl start instance -db myracdb -instance myracdb1For Non-RAC:
srvctl start database -db <db_unique_name>Example:
srvctl start database -db mydb
Stopping an Instance
For RAC:
srvctl stop instance -db <db_unique_name> -instance <instance_name>Example:
srvctl stop instance -db myracdb -instance myracdb1For Non-RAC:
srvctl stop database -db <db_unique_name>Example:
srvctl stop database -db mydb
Checking Instance Status
For RAC:
srvctl status instance -db <db_unique_name> -instance <instance_name>Example:
srvctl status instance -db myracdb -instance myracdb1For Non-RAC:
srvctl status database -db <db_unique_name>Example:
srvctl status database -db mydb
3. Managing Services
Adding a Service
For RAC:
srvctl add service -db <db_unique_name> -service <service_name> -preferred <preferred_instances> -available <available_instances>Example:
srvctl add service -db myracdb -service app_service -preferred myracdb1,myracdb2 -available myracdb3For Non-RAC:
srvctl add service -db <db_unique_name> -service <service_name>Example:
srvctl add service -db mydb -service app_serviceStarting a Service
srvctl start service -db <db_unique_name> -service <service_name>Example:
For RAC:
srvctl start service -db myracdb -service app_serviceFor Non-RAC:
srvctl start service -db mydb -service app_service
Stopping a Service
srvctl stop service -db <db_unique_name> -service <service_name>Example:
For RAC:
srvctl stop service -db myracdb -service app_serviceFor Non-RAC:
srvctl stop service -db mydb -service app_service
Checking Service Status
srvctl status service -db <db_unique_name> -service <service_name>Example:
For RAC:
srvctl status service -db myracdb -service app_serviceFor Non-RAC:
srvctl status service -db mydb -service app_service
4. General Commands
View Database Configuration
srvctl config database -db <db_unique_name>Example:
srvctl config database -db myracdbRelocate a Service (RAC Only)
Move a service from one instance to another:
srvctl relocate service -db <db_unique_name> -service <service_name> -oldinst <old_instance> -newinst <new_instance>Example:
srvctl relocate service -db myracdb -service app_service -oldinst myracdb1 -newinst myracdb2Check srvctl Version
srvctl -v
Post a Comment
Post a Comment