Detecting short-lived oracle processes using dtrace
(Doc ID 1641022.1)
Last updated on SEPTEMBER 05, 2019
Applies to:Solaris Operating System - Version 10 3/05 to 11.1 [Release 10.0 to 11.0]
Solaris Cluster - Version 3.2 to 4.1 [Release 3.2 to 4.1]
Solaris Cluster Geographic Edition - Version 3.2 to 4.1 [Release 3.2 to 4.1]
Oracle Solaris on SPARC (32-bit)
Oracle Solaris on x86-64 (64-bit)
An excessive number of connections to an Oracle DB instance can lead to large number of Oracle processes which in turn can lead to performance issues.
In cases where the connections are used to execute short queries and are not recycled to execute multiples queries then the corresponding processes will be short-lived.
In turn short live processes can incur overhead due to startup and teardown of processes at os level due to effects on shared memory, network connections and process bookkeeping at OS level.
Neither checking of listener log files nor usage of Solaris process tracking command (ps, ptree and prstat) are effective to capture information about ever-changing short-lived processes.
Usage of dtrace can be an effective way to screen what kind of short-lived processes do run and check which Oracle DB instances they belong to.
Example scripts are provided that can be further refined and tuned based on specific situations.
Please notice that the presence of many short lived processes may or may not actually cause a performance issue depending on a number of factors
including the hardware sizing, the configuration of shared memory, the relative system load beside the databases and so on.
Investigation at both Solaris and Database level shall be performed to verify the presence of an actual problem.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document
|High level troubleshooting scheme|
|Rationale and suggestions for dtrace usage |
|Examples of dtrace scripts to track short-live shadow processes|