Oracle Dead Kill Processes Test
If one/more sessions or processes on the Oracle server are obstructing the execution of a few other sessions/processes, then, it is quiet natural for administrators to want to kill the blocking sessions/processes to ensure the smooth execution of critical database transactions. Typically, these ‘dead’ sessions/processes continue to consume resources, until the PMON process automatically cleans up these sessions/processes. If cleanup is delayed, then the Oracle instance will not be able to release those objects and resources that have been locked by the dead sessions/processes for long time periods. In such situations, administrators often resort to killing these dead sessions/processes at the operating system-level, so as to hasten the release of valuable resources. Before attempting the OS-level kill, administrators should first figure out which sessions/processes are ‘dead’ presently and how long they have been ‘dead’. This can be ascertained using the Oracle Dead Kill Processes test.
This test auto-discovers the dead processes/sessions and reports the current cleanup state of each process/session. In addition, the test reveals the duration for which each process/session remained dead and the count of processes that are being blocked by that dead process/session. This way, administrators can determine whether/not cleanup is occurring as per schedule, and if not, how badly the delay in cleanup is affecting other processes. Alongside, administrators can figure out whether an OS-level process kill is justified or not.
Target of the test : An Oracle 12c server
Agent deploying the test : An internal agent
Outputs of the test : One set of results for deadprocessaddress_deadsessionaddress on the Oracle instance monitored.
|
Measurement | Description | Measurement Unit | Interpretation | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Process state:
|
Indicates the current cleanup state of this process.
|
|
The values that this measure can report and their corresponding numeric values have been discussed hereunder:
Note: By default, this measure reports the above-mentioned Measure Values while indicating the current cleanup state of a dead process. However, in the graph of this measure, the same will be represented using the corresponding numeric equivalents only. |
||||||||||||||||||
Dead time: |
Indicates how long it has been since this process was marked dead or this session was marked killed. |
Secs |
A consistent increase in the value of this measure is a cause for concern as it indicates that auto-cleanup has not occurred. This can cause the dead process/session to continue consuming resources and blocking object, thereby degrading server performance. |
||||||||||||||||||
Number blocked: |
Indicates the count of processes that are blocked by this process. |
Number |
A high value indicates that the dead process is impeding the execution of many other processes, some of which may also be mission-critical. If the Dead time of such a process is also very high, it is a matter of great concern, and must be looked into immediately. In such circumstances, you may want to consider killing the process at the OS-level. On a Unix system, you can issue the KILL -9 <PID> command at the Shell prompt to kill the process at that level. |