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