Monitoring with Enterprise Manager and Diagnostics
65.1 Oracle Enterprise Manager (OEM) Cloud Control
OMS + repository + agents. Monitoring, metrics and thresholds, incidents and notifications, performance hub, ASH analytics, SQL Monitor, AWR Warehouse, compliance, lifecycle management (provisioning and patching), Data Masking, Real Application Testing.
EM Express (lightweight, single DB) was removed in 23ai in favor of other tools.
Cloud alternatives: OCI Database Management, Operations Insights, Ops Insights, Logging Analytics, Data Safe.
65.2 Proactive Monitoring Checklist
Alert log errors (ORA-00600, ORA-07445, ORA-01555, ORA-04031, ORA-01652, ORA-00257, ORA-19815)
Tablespace, FRA, and ASM disk group usage Backup success and age, archive log generation rate Data Guard transport and apply lag
Blocking sessions and long-running queries Invalid objects, failed jobs, expiring accounts
CPU, memory, I/O, and wait trends (AWR baselines)
65.3 Diagnostic Tools
ADR / ADRCI (incidents, problems, IPS packages), TFA (Trace File Analyzer) / AHF (Autonomous Health Framework), ORAchk / ExaCHK, OSWatcher, Cluster Health Monitor, RDA, oradebug, hanganalyze, system state dumps.
Health Monitor: DBMS_HM.RUN_CHECK.
Corruption detection: DB_BLOCK_CHECKSUM, DB_BLOCK_CHECKING, DB_LOST_WRITE_PROTECT, DBVERIFY (dbv), RMAN VALIDATE, ANALYZE ... VALIDATE STRUCTURE CASCADE.
Working with My Oracle Support (MOS): Service Requests (SRs), knowledge base documents, patch search.
65.4 Common ORA Errors and Responses
Meaning / Action Unique constraint violated Resource busy (NOWAIT): DDL blocked by locks Deadlock detected: check the trace file ORA-00257 / ORA-19809/19815
Archiver stuck / FRA full: back up and delete archivelogs, increase the FRA ORA-00600 / ORA-07445
Internal errors: check MOS, collect an incident package ORA-00904 / ORA-00942
Invalid identifier / table or view does not exist (or no privilege) Invalid username/password Cannot insert NULL ORA-01403 / ORA-01422
No data found / too many rows (SELECT INTO) Single-row subquery returns more than one row Divisor is zero
Snapshot too old: undo sizing/retention, query duration Unable to extend temp segment: TEMP space or a bad SQL plan Unable to extend table/index: add space Invalid number: implicit conversion ORA-02291 / ORA-02292
FK parent key not found / child record found Unable to allocate shared memory: shared pool sizing, bind variables Mutating table (trigger) ORA-06502 / ORA-06512
PL/SQL value error / error stack line pointer ORA-12154 / ORA-12514 / ORA-12541
TNS: can't resolve / service unknown to listener / no listener ORA-28000 / ORA-28001 Account locked / password expired