eG Monitoring

Measures reported by OraRacDeKiPrTest 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 OraRacDeKiPrTest. This test auto-discovers the dead processes/sessions on each node 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. Outputs of the test : One set of results for deadprocessaddress_deadsessionaddress on each node in the target Oracle cluster being monitored. The measures made by this test are as follows:
Measurement | Description | Measurement Unit | Interpretation
--- | --- | --- | ---
Process_state | Indicates the current cleanup state of this process on this node. |  | The values reported by this measure and their numeric equivalents are available in the table below:
Measure Value | Description | Numeric Value
unsafe to attempt | Occurs for a killed session that has not been moved, so no cleanup can occur on it yet | 1
cleanup pending | Occurs for a dead process / killed session that can be cleaned up, but PMON has not yet made an attempt | 2
resources freed | Occurs for a dead process / killed session where all children have been freed, but the process / killed session itself is not yet freed | 3
resources freed – pending ack | Occurs for a killed session where all children have been freed, but the session itself cannot be freed until the owner has acknowledged it | 4
partial cleanup | Occurs if some of the children have been cleaned up | 5

Note:
This measure reports the Measure Values listed in the table above indicate the current cleanup state of a dead process. However, in the graph, this measure is indicated using the Numeric Values listed in the table above.
Dead_time Indicates how long it has been since this process was marked dead or this session was marked killed on this node. Seconds 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.
Num_blocked Indicates the count of processes that are blocked by this process on this node. 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.