Skip to main content

Useful srvctl Commands for Oracle RAC and Non-RAC Databases

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.ora

Adds 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 myracdb
  • For 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 myracdb
  • For 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 myracdb

    Output:

    Instance myracdb1 is running on node racnode1
    Instance myracdb2 is running on node racnode2
  • For Non-RAC:

    srvctl status database -db <db_unique_name>

    Example:

    srvctl status database -db mydb

    Output:

    Instance mydb is running on node standalonehost

Removing a Database

  • For RAC:

    srvctl remove database -db <db_unique_name>

    Example:

    srvctl remove database -db myracdb
  • For 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 myracdb1
  • For 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 myracdb1
  • For 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 myracdb1
  • For 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 myracdb3

For Non-RAC:

srvctl add service -db <db_unique_name> -service <service_name>

Example:

srvctl add service -db mydb -service app_service

Starting a Service

srvctl start service -db <db_unique_name> -service <service_name>

Example:

  • For RAC:

    srvctl start service -db myracdb -service app_service
  • For 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_service
  • For 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_service
  • For 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 myracdb

Relocate 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 myracdb2

Check srvctl Version

srvctl -v







Please do like and subscribe to my youtube channel: https://www.youtube.com/@foalabs If you like this post please follow,share and comment

Comments

Popular posts from this blog

WebLogic migration to OCI using WDT tool

WebLogic migration to OCI using WDT tool Oracle WebLogic Deploy Tool (WDT) is an open-source project designed to simplify and streamline the management of Oracle WebLogic Server domains. With WDT, you can export configuration and application files from one WebLogic Server domain and import them into another, making it a highly effective tool for tasks like migrating on-premises WebLogic configurations to Oracle Cloud. This blog outlines a detailed step-by-step process for using WDT to migrate WebLogic resources and configurations. Supported WLS versions Why Use WDT for Migration? When moving Oracle WebLogic resources from an on-premises environment to Oracle Cloud (or another WebLogic Server), WDT provides an efficient and reliable approach to: Discover and export domain configurations and application binaries. Create reusable models and archives for deployment in a target domain. Key Pre-Requisites Source System: An Oracle WebLogic Server with pre-configured resources such as: Applica...

Rename a PDB in Oracle Database Multitenant Architecture in TDE and Non TDE Environment

Rename a PDB in Oracle Database Multitenant Architecture I am sharing a step-by-step guide to help you rename a PDB. This approach uses SQL commands. Without TDE or encryption Wallet Initial Check Check the Current Database Name and Open Mode: SQL > SELECT NAME, OPEN_MODE FROM V$DATABASE; NAME OPEN_MODE --------- -------------------- BEECDB READ WRITE List Current PDBs: SQL > SHOW PDBS; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 FUAT READ WRITE NO We need to RENAME FUAT to BEE  Steps to Rename the PDB Step 1: Export ORACLE_SID Set the Oracle SID to the Container Database (CDB): export ORACLE_SID=BEECDB Step 2: Verify Target PDB Name Availability If the target PDB name is different from the current PDB name, ensure no service exists with the target PDB name. Run SQL to Check Exi...

How to make flash work on IE or Edge with IE Compatibility

How to make flash work on IE or Edge with IE Compatibility With flash been ended from 1-Jan-2021, many applications using flash have stopped working the way they were built (like OEM, OBIEE, etc). The option you have to upgrade.  This method will give a workaround in IE or Edge in IE compatibility mode without upgrading. 1. Verify you have installed flash.ocx on your desktop. Typically, flash.ocx file is located in C:\Windows\System32\Macromed\Flash or C:\Windows\SysWOW64\Macromed\Flash according to your laptop OS system. 2. Edit mms.cfg from the location as a System Administrator In the case of the 64bit system, it might have mms.cfg under C:\Windows\SysWOW64\Macromed\Flash 3. Add below options into mms.cfg file. Note: AllowListUrlPattern list is an example. The URLs need to be replaced to your hosts those have Flash pages. SilentAutoUpdateEnable=0 AutoUpdateDisable=1 EOLUninstallDisable=1 EnableAllowList=1 AllowListUrlPattern=http://www.google.com/ AllowListUrlPattern=http://goo...