Oracle performance monitoring is essential for identifying bottlenecks in SQL, memory, I/O, CPU, and network layers. In enterprise environments, you typically combine Oracle-native tools + OS tools + infrastructure monitoring to get a full picture.
Below is a practical, production-focused guide to Oracle performance monitoring tools.
1. Oracle native performance monitoring tools (core tools)
πΉ 1. AWR (Automatic Workload Repository)
Most important Oracle performance tool.
It captures:
-
Top SQL
-
Wait events
-
CPU usage
-
I/O latency
-
Memory usage trends
π Used for historical performance analysis (baseline vs current)
πΉ 2. ASH (Active Session History)
Real-time session-level monitoring:
Shows:
-
What sessions are doing right now
-
Blocking sessions
-
Wait events per session
π Best for diagnosing live performance issues
πΉ 3. ADDM (Automatic Database Diagnostic Monitor)
Oracleβs automated performance advisor.
It identifies:
-
Root causes of performance problems
-
SQL bottlenecks
-
Memory and I/O issues
π Think of it as βOracle performance AIβ
πΉ 4. Oracle Enterprise Manager (OEM)
Oracle Enterprise Manager is a full enterprise monitoring platform.
It provides:
-
Real-time dashboards
-
SQL monitoring
-
Alerts and notifications
-
RAC cluster monitoring
-
Capacity planning
π Best for enterprise-wide Oracle monitoring
πΉ 5. V$ dynamic performance views
Low-level real-time views:
Examples:
-
V$SESSION β active sessions
-
V$SYSTEM_EVENT β system wait events
-
V$SQL β top SQL queries
-
V$IOSTAT β I/O statistics
π Used by DBAs for deep troubleshooting
2. SQL performance monitoring tools
πΉ SQL Tuning Advisor
-
Suggests indexes
-
Rewrites queries
-
Improves execution plans
πΉ SQL Access Advisor
-
Recommends indexing strategies
-
Improves query access paths
πΉ SQL Monitor
-
Real-time execution tracking
-
Shows long-running SQL
3. RAC-specific monitoring tools
If using Oracle RAC:
πΉ Cluster Health Monitor (CHM)
-
Monitors cluster nodes
-
Detects node-level issues
πΉ Global Cache Service stats
Tracks:
-
gc buffer busy
-
interconnect latency
-
cache fusion efficiency
πΉ CRSCTL / SRVCTL tools
Used for:
-
Cluster services status
-
Node health
-
RAC configuration
4. Operating system monitoring tools (Linux / AIX)
Linux tools:
πΉ iostat
-
Disk I/O performance
-
Latency per device
πΉ vmstat
-
CPU + memory pressure
-
Swap usage
πΉ sar
-
Historical performance trends
πΉ top / htop
AIX tools:
πΉ nmon (very important)
-
CPU, memory, disk, network in one view
πΉ vmstat / iostat / lparstat
-
AIX-specific performance metrics
5. Storage monitoring tools
πΉ ASM monitoring
If using Oracle ASM:
-
Disk group performance
-
Rebalance activity
-
I/O distribution
πΉ NVMe / disk tools
-
nvme-cli (Linux)
-
SAN monitoring tools
6. Advanced enterprise monitoring tools
πΉ 1. Grafana + Prometheus (modern stacks)
-
Real-time dashboards
-
Custom Oracle metrics integration
πΉ 2. Third-party monitoring tools
-
Dynatrace
-
Datadog
-
New Relic
-
SolarWinds
π Provide full-stack observability (DB + app + infra)
πΉ 3. Cloud monitoring (OCI/AWS/Azure)
For Oracle Cloud:
-
OCI Monitoring (metrics + alarms)
-
Performance Hub (Oracle Cloud DB tool)
7. Key performance metrics to monitor
π΄ CPU metrics
-
CPU usage per session
-
Run queue length
π΄ Memory metrics
-
SGA hit ratio
-
PGA usage
-
Swap activity (must be near zero)
π΄ I/O metrics
-
IOPS
-
latency (ms)
-
redo log write time
-
temp file usage
π΄ SQL metrics
-
Top SQL by CPU
-
Top SQL by I/O
-
Execution time
π΄ Wait events (most important in Oracle)
-
db file sequential read
-
db file scattered read
-
log file sync
-
gc buffer busy (RAC)
-
enq: TX - row lock
8. Monitoring strategy (enterprise approach)
β Step 1: Baseline creation
-
Capture AWR snapshots during peak hours
β Step 2: Real-time monitoring setup
β Step 3: OS + DB correlation
-
Match Linux/AIX metrics with Oracle wait events
β Step 4: Alerting system
-
CPU threshold alerts
-
I/O latency alerts
-
blocking session alerts
β Step 5: Continuous tuning loop
-
Identify top SQL weekly
-
Optimize queries
-
Monitor improvements
9. Common monitoring mistakes
π΄ Only monitoring CPU
-
Misses real bottlenecks (usually I/O or SQL)
π΄ Ignoring wait events
-
Oracle performance is mostly wait-event driven
π΄ Not using AWR baseline
-
No comparison β no tuning direction
π΄ No SQL-level monitoring
-
80% of issues come from bad SQL
10. Best practices summary
β Use AWR for historical analysis
β Use ASH for real-time debugging
β Use OEM for enterprise dashboards
β Monitor wait events first (not CPU)
β Track top SQL continuously
β Correlate OS + DB metrics
β Set proactive alerts
β Always maintain performance baseline
Final takeaway
Oracle performance monitoring is not a single toolβit is a layered observability stack combining AWR, ASH, OEM, OS tools, and SQL-level diagnostics.
The most effective DBA strategy is:
-
Identify slow SQL (first priority)
-
Correlate wait events (second priority)
-
Fix I/O or memory bottlenecks (third)
-
Validate improvements via AWR comparison