• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

Difference between using srvctl vs using sqlplus for start/stop one or more Oracle Database Instances

by admin

The Problem

We have had some instances where it seemed that starting rac databases through sqlplus caused performance issues (high load on database server ). Restarting the nodes using srvctl seemed to resolve the performance issue. “Is there any difference between using srvctl vs using sqlplus for starting or stopping one or more database nodes.”?

The Solution

The Differences between SQLPLUS and SRVCTL

There are some differences between the use of SQLPLUS and SRVCTL utilities.

– Both should result in the instance startup, but Oracle always recommend the use of the SRVCTL due to the fact that the SRVCTL does more, i.e. SRVCTL will perform a dependency analysis and will inform about cluster related problem if they exist, in a better way than the SQLPLUS which may just say that the instance is not starting. The SRVCTL command will try to start dependent resources (like the vip/ons/listeners) in case they are not running.

– The SRVCTL utility always do some kind of pre-start of the instances such as updating the OCR information instead of waiting for the check script of the instance resource to detect this instance startup and update the OCR.

– With SRVCTL, the root user OS setup is used since inherited from the crsd.bin that will start the instances as oracle user. With SQLPLUS, the oracle user OS setup is used. Having different user setups for root or oracle will make that the performance can be different (fragmented sga or not, another ‘solaris’ project setup, …)

The common part however is that SRVCTL is using SQLPLUS to start/stop the instances.

– The SRVCTL tool manages configuration information that is used by several other Oracle tools. For example, Enterprise Manager uses the configuration information that SRVCTL generates to discover and monitor nodes in your cluster.

– Note that the ‘srvctl start database/instance’ command will not start all enabled and non-running services that have the listed instances either as preferred or available instances in 10g.

Filed Under: oracle, Oracle 10g, Oracle 11g, RAC

Some more articles you might also be interested in …

  1. Oracle Data Guard Command Line Reference (Cheat Sheet)
  2. How to trace asmcmd command on UNIX/Linux
  3. How to Merge Multiple Partitions in Oracle 12c
  4. Steps to relink Oracle Libraries
  5. How to Connect to an Oracle Pluggable Database (PDB)
  6. Oracleasm Service Fails to Start After Upgrade to oracleasm-support-2.1.11-1 RPM Package
  7. How to pass a value from shell script to GoldenGate replicat for mapping to target table column
  8. How to change the ASM rebalance power of an ongoing operation
  9. How to Change SYS and SYSTEM Passwords in Oracle Database
  10. Beginners Guide to Monitoring SQL Statements with Real-Time SQL Monitoring in Oracle Database

You May Also Like

Primary Sidebar

Recent Posts

  • JavaFX ComboBox: Set a value to the combo box
  • Nginx load balancing
  • nginx 504 gateway time-out
  • Images preview with ngx_http_image_filter_module

© 2022 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright