2015. 11. 4. 14:03 오라클
Oracle 시작/종료시 srvctl 와 sqlplus 무슨 차이가 있을까?
막연하게
Single에서는 sqlplus,
RAC 에서는 srvctl 명령어를 써서 내린다라고 생각하고 쓰시는 분이 많을텐데요.
두 명령어의 차이점을 설명해 주고 있습니다. 해당 노트를 읽어보시면 궁금증이 풀리실 겁니다. ^^
The difference between using srvctl vs using sqlplus for start/stop one or more database nodes (문서 ID 753516.1)
-----------------------------------------------------------------------------------------------------------
Oracle Database - Enterprise Edition - Version 10.1.0.2 to 11.1.0.6 [Release 10.1 to 11.1]
Information in this document applies to any platform.
GOAL
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."
FIX
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, ...) Check Note 603051.1 ,
Note 369424.1 .
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.
Check Note 416178.1 - After Srvctl Start Database, Database Services Will Not Start Up Automatically
For further details about the synthax of the SRVCTL command, please refer to the following documentation:
Oracle? Database Oracle Clusterware and Oracle Real Application Clusters Administration and
Deployment Guide
10g Release 2 (10.2)
Part Number B14197-01
REFERENCES
NOTE:369424.1 - SGA Not Pinned In The AIX Large Pages When Instance Is Started With Srvctl
NOTE:416178.1 - After Srvctl Start Database, Database Services Will Not Start Up Automatically
NOTE:603051.1 - Srvctl Fails to Start Instance while sqlplus Works on Solaris