dataiotech Labs
Scripts Library/oracle/#80
Script #80
oracle
Monitoringread-onlyMin Version: 11g

Oracle Process and Session Limit Usage

Shows current usage against the processes and sessions parameters. Catches ORA-00020 (maximum processes exceeded) in advance.

#processes#sessions#ora-00020
oracle · sql
SELECT resource_name, current_utilization, max_utilization, limit_value
FROM   v$resource_limit
WHERE  resource_name IN ('processes','sessions','transactions');

SELECT username, COUNT(*) AS sessions
FROM   v$session
WHERE  type = 'USER'
GROUP  BY username
ORDER  BY sessions 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.

Engineering Triad: Related Runbooks & Incident Response

Which production incidents and emergency drills execute this script as a diagnosis step?

Runbook Library (63)
Related Alerts & Metrics
M37Oracle Process UtilizationOracle