Skip to main content

Lock tree

Info

This document has been created based on the Oracle Monitoring V2. For the Oracle monitoring V1 document, see the following.

Home > Select Project > Analysis > Lock Tree

This tool analyzes the trend of locks that occurred during the day. This function allows you to visually check the tree structure of the session that generated the lock (lock holder) and the session waiting for the lock (lock waiter). You can analyze the relationship between the holder and waiter of the lock that occurred at a specific time point. Through the WhaTap's Lock Tree feature, the DB administrator can identify and resolve the DB lock issues and optimize the DB performance.

Key features are as follows:

  • Lock trend analysis: The trends of locks that occurred during the set search period are traced over time and displayed in a graph. This allows you to visually check how the locks are created and resolved.

  • Check lock holder and waiter: You can see the holder and waiter for each lock in a tree structure. Through this, when a specific lock occurs, you can check the relationship between the session that generated the lock and the waiting session.

  • Inter-session relationship analysis: By analyzing the relationship between the session that generated the lock and the waiting session, you can identify the cause of the lock that occurred during the query execution and transaction handling.

  • Visual lock trend by time: Through the 1-Min Lock Trends and Lock Wait Sessions features, the lock occurrence data can be analyzed in time zones.

Basic usage guide

Lock tree

Set the desired number1 date and time, and then select an instance from the number2 list. If a lock occurs at the set time, lock wait sessions and the retrieved data appear in the table at the bottom of the screen.

Note

For more information on how to use the Time option, see the following.

Lock Wait Sessions

The Lock Wait Sessions feature allows you to analyze the lock wait sessions. Depending on the query period, the lock wait session data is provided at 5-minute intervals when the query is for 3 hours or more, and at 5-second intervals when the query is for less than 3 hours. You can also adjust the time range by dragging the chart flexibly.

1-Min Lock Trends

If you click a specific time zone in Lock Wait Sessions, the lock occurrence status for 30 minutes, from 15 minutes before to 15 minutes after is visualized. This allows you to effectively analyze the lock occurrence trend at 30-minute intervals.

Note

Total Locks indicates the total number of locks generated in the time zone.

Viewing time

1-Min Lock Trends and Lock Tree tables are timed based on the maximum number of locks that occurred at the clicked time in Lock Wait Sessions. This allows you to find the zone with the most locks.

Time viewing 1

If you click the bar of a different time zone in the 1-Min Lock Trends chart with the Lock Wait Sessions unchanged, the time range is synced to the Lock Tree table by using the seconds with the highest number of locks for the minute. This allows you to see the information reflected in the Lock Tree table when changing the time zone.

Time viewing 2

  • Viewing for 3 hours or more (using 5-minute data)

    The bar color of the 5-minute zone from the time of inquiry appears more prominent.

    When the 07:15:00 time point is clicked, the color of the 07:15:00-07:20:00 zone's bar chart appears more prominent.

    5-minute pack viewing

  • Viewing for less than 3 hours (using 5-minute data)

    It is useful for analyzing the locks that occur within short time intervals.

    5-second pack viewing

Column information guide

For more information about columns, see the link.

ItemDescription
sidSession ID
cpu(xos)CPU utilization collected by the installed XOS
serial#Value to increment to determine if the same session ID has been used.
usernameDB user name.
commandSame as COMMAND_TYPE; SQL command number
statusSession status
schemanameSchema. Same as the username.
osuserUsername of the OS that accessed the session.
spidOS process ID.
processID of the client process that accessed the session.
logon_timeSession created time point.
last_call_etIf the session is active, it is the elapsed time (sec) since activation.
sql_textquery, running statement, SQL statement that separates literal strings
sql_paramLiteral value separated from query
prev_sql_textPreviously executed query
prev_sql_paramPreviously executed query param
programProgram information executed by client
typesession type - can be adjusted in user background recursive (whatap.conf).
seq#Number that uniquely identifies the current or last wait (incremented with each wait)
eventNumber of the resource or event if the session is waiting.
p1First waiting event parameter (decimal point)
p2Second waiting event parameter (decimal point)
p3Third waiting event parameter (decimal point)
wait_classClass name of the waiting event
wait_timeThe value is 0 if the session is waiting. It is the last waiting time (milliseconds) if the value is greater than 0.
seconds_in_waitTime spent waiting for the wait if the session is waiting. Otherwise, it is the time elapsed since the last waiting.
stateWaiting state: WAITING, WAITED UNKNOWN TIME, WAITED SHORT TIME, WAITED KNOWN TIME
machineName of the client server that accessed the session (hostname)
portClinet port number
terminalClient terminal name
moduleName of the module set by the user of the program executed on the client.
actionAction name set by the user of the running module.
client_infoClient information set by user
client_identifierClient ID set by user
session logical readsNumber of times data was read into the buffer cache
physical readsNumber of data reads from the physical disk
execute countSQL execution count
parse count (hard)Total number of syntax analysis calls (actual syntax analysis)
parse count (total)Total number of syntax analysis calls (hard, soft, describe)
opened cursors currentNumber of open cursors
db block changesChange count of all blocks in the database
session pga memorySession's current PGA size
undo_segidUndo information ID
undo_blkUndo block count
undo_recUndo record count
sql_addressSQL statement identification data
sql_hash_valueSQL statement identification data
sql_idSQL ID of the running SQL statement
sql_child_numberSub number of the running SQL statement
sql_exec_startStart time point of SQL running in the session
sql_exec_idSQL running ID
prev_sql_addrInformation that identifies the last run SQL statement
prev_child_numberSub number of the last SQL statement executed
prev_exec_startStart time point of the last SQL statement executed
prev_exec_idStart ID of the last SQL statement executed
plsql_entry_object_idObject ID of the top PL/SQL subprogram on the stack.
plsql_entry_subprogram_idID of the top PL/SQL subprogram on the stack.
plsql_object_idSubprogram ID of the running PL/SQL object
taddrTransaction address
lockwaitlock wait address (lock address where the session is waiting)
row_wait_objObject ID of the table containing the row specified in ROW_WAIT_ROW#
row_wait_fileID of the data file containing the row specified in ROW_WAIT_ROW#
row_wait_blockID of the block containing the row specified in ROW_WAIT_ROW#
row_wait_rowCurrently locked row
pdml_statusIf the value is ENABLED, the session is in PARALLEL DML activation mode. If the value is DISABLED, the session does not support the PARALLEL DML activation mode. If the value is DISABLED, the session does not support the PARALLEL DML activation mode.
pq_statusIf the value is ENABLED, the session is in PARALLEL QUERY activation mode. If the value is DISABLE, the session does not support the PARALLEL QUERY activation mode. If the value is FORCED, it indicates the session was changed to force the use of PARALLEL QUERY.
blocking_session_statusIt provides details about whether there is a blocking session.
blocking_instanceInstance ID for the blocking session
blocking_sessionSession ID for the blocking session
final_blocking_session_statusIt provides details about whether there is a last block session.
final_blocking_instanceInstance ID for the last blocking session
final_blocking_sessionSession ID for the last blocking session
service_nameService name of the session. It is similar to the DB name.
saddrSession address
con_idID of the container associated with the data (only for multi-database support)
rss(xos)OS metrics collected by the XOS agent
pss(xos)OS metrics collected by the XOS agent
ioread(xos)OS metrics collected by the XOS agent
iowrite(xos)OS metrics collected by the XOS agent
Note

WhaTap basically stores the client-related information.