Script #62
oracle
Lockingread-onlyMin Version: 11gFind Blocking Sessions in Oracle
Shows sessions that make others wait, with wait times. Identifies the root session to terminate in lock incidents.
#locks#blocking#enq-tx
oracle · sql
SELECT w.sid AS waiting_sid, w.username AS waiting_user,
w.event, w.seconds_in_wait,
b.sid AS blocking_sid, b.serial# AS blocking_serial,
b.username AS blocking_user, b.status AS blocking_status,
b.sql_id AS blocking_sql_id, b.prev_sql_id
FROM v$session w
JOIN v$session b ON b.sid = w.blocking_session
WHERE w.blocking_session IS NOT NULL
ORDER BY w.seconds_in_wait DESC;Operational Notes & Remediation Guidance
Verify in a staging environment prior to running in production. This is a read-only diagnostic query; it does not acquire exclusive locks.
Production Safety & Execution Standards
- This script is designed for read-only diagnostics; it does not alter schema or modify data directly.
- Prior to executing on production systems under high load, verify the target database version (Min. Version: 11g).
- Exercise caution with mutating actions (e.g., terminating sessions or dropping indexes) referenced in the notes section.
Other ORACLE Diagnostic Scripts
View All (100)#61Performance
Oracle Active Sessions and Wait Events
Lists active user sessions with the running SQL_ID and wait event. Shows the live picture during performance issues.
View Script
#63Storage
Oracle Tablespace Usage Including Autoextend
Calculates tablespace usage against the real maximum, honoring autoextend limits. Catches space errors like ORA-01653 before they happen.
View Script
#64Performance
Top 20 Most Expensive Oracle SQL with v$sqlstats
Shows costliest SQL by elapsed time with executions, CPU and I/O. Tells you which SQL_ID to investigate for tuning.
View Script
#65Maintenance
Find Invalid Objects in Oracle
Lists INVALID objects in user schemas. Essential after upgrades and patching.
View Script