ORA-07445: Exception Encountered – Core Dump [Complete Oracle DBA Troubleshooting Guide]
ORA-07445: Exception Encountered – Core Dump [Complete Oracle DBA Troubleshooting Guide]
The ORA-07445: Exception Encountered: Core Dump error is one of the most critical internal Oracle Database errors encountered by Database Administrators (DBAs). Unlike SQL syntax errors or configuration issues, ORA-07445 indicates that an Oracle server process has terminated unexpectedly after encountering an operating system exception, such as an invalid memory access, segmentation fault, illegal instruction, or arithmetic exception.
When ORA-07445 occurs, Oracle immediately terminates the affected process to protect database integrity and automatically generates extensive diagnostic information, including trace files, incident reports, call stacks, and core dump information. These diagnostics are stored in the Automatic Diagnostic Repository (ADR) and are essential for determining the root cause.
Although ORA-07445 is often associated with Oracle software bugs, it can also result from hardware failures, operating system issues, corrupted memory, storage problems, Oracle binary corruption, or damaged database blocks. A systematic investigation is therefore required before attempting corrective actions.
This guide explains the ORA-07445 error, its components, common operating system exceptions, root causes, diagnostic techniques, and production-ready troubleshooting procedures for Oracle Database 11g, 12c, 18c, 19c, 21c, and Oracle Database 23ai.
Immediately review the Oracle Alert Log and the generated incident trace file. Identify the operating system exception (such as SIGSEGV or SIGBUS), examine the Oracle call stack, collect an Incident Packaging Service (IPS) package using ADRCI, review recent system or database changes, and search Oracle Support for known bugs or recommended patches.
Typical Error Message
ORA-07445: exception encountered: core dump [kcbgtcr()+324] [SIGSEGV] [ADDR:0x0000000000000018] [PC:0x00007F8B7A0A1F34] [Address not mapped to object] []
Another example:
ORA-07445: exception encountered: core dump [qerhjFetch()+180] [SIGBUS] [Invalid address alignment]
The information inside the brackets provides valuable diagnostic clues, including the Oracle function where the exception occurred, the operating system signal, the memory address involved, and the program counter.
What is ORA-07445?
ORA-07445 is an internal Oracle error generated when an Oracle process encounters an unexpected operating system exception during execution. Rather than allowing the process to continue in an unstable state, Oracle terminates it, records diagnostic information, and creates an incident within the Automatic Diagnostic Repository (ADR).
Unlike ORA-00600, which is raised when Oracle detects an internal consistency problem, ORA-07445 originates from an exception generated by the operating system itself. These exceptions typically indicate that the Oracle process attempted an invalid operation, such as reading inaccessible memory or executing an illegal instruction.
The database instance may continue running if only a foreground process crashes. However, if a critical background process fails, the database instance may terminate automatically.
Understanding the ORA-07445 Error Components
A typical ORA-07445 message contains several important diagnostic elements.
| Component | Description |
|---|---|
| Oracle Function | The Oracle kernel routine executing when the exception occurred. |
| Operating System Signal | The exception generated by the operating system (for example, SIGSEGV or SIGBUS). |
| Memory Address | The address that caused the exception. |
| Program Counter (PC) | The instruction address where execution failed. |
| Call Stack | The sequence of Oracle functions executed before the failure. |
These values are primarily intended for Oracle Support but also provide useful information for experienced DBAs investigating production incidents.
Common Operating System Exceptions
The operating system exception reported with ORA-07445 often helps identify the type of failure.
| Signal | Description | Typical Cause |
|---|---|---|
| SIGSEGV | Segmentation Fault | Invalid memory access. |
| SIGBUS | Bus Error | Invalid memory alignment or hardware issue. |
| SIGILL | Illegal Instruction | Corrupt executable or unsupported CPU instruction. |
| SIGFPE | Floating Point Exception | Arithmetic error such as divide by zero. |
| SIGABRT | Process Abort | Oracle intentionally terminated the process after detecting a fatal condition. |
| SIGTERM | Termination Signal | Operating system or administrator terminated the process. |
Oracle Automatic Diagnostic Repository (ADR)
Beginning with Oracle Database 11g, all ORA-07445 incidents are automatically recorded in the Automatic Diagnostic Repository (ADR).
Oracle stores:
- Alert Log entries
- Incident trace files
- Call stack information
- Core dump details
- Health Monitor reports
- Incident metadata
- IPS packaging information
Typical ADR location:
$ORACLE_BASE/diag/rdbms/ <database_name>/ <instance_name>/
Common Causes of ORA-07445
1. Oracle Software Bugs
Many ORA-07445 incidents are caused by Oracle software defects that have been corrected in later Release Updates (RUs) or one-off patches.
2. Corrupted Memory
Faulty RAM, memory corruption, or operating system memory management issues may cause Oracle processes to access invalid memory locations.
3. Hardware Failures
Defective CPUs, storage devices, memory modules, or SAN infrastructure can lead to unexpected process exceptions.
4. Operating System Problems
Kernel defects, incompatible operating system libraries, filesystem corruption, or outdated drivers may contribute to ORA-07445 incidents.
5. Corrupted Oracle Binaries
Incomplete Oracle installations, failed patching operations, or damaged executable files can result in illegal instruction or memory access exceptions.
6. Data Block Corruption
When Oracle accesses a corrupted database block, internal processing may trigger an operating system exception.
7. Third-Party Software
Backup agents, antivirus software, monitoring tools, or filesystem filters that interact with Oracle processes can occasionally contribute to unexpected crashes.
8. Parallel Execution Issues
Certain parallel query operations expose complex execution paths that may trigger Oracle software bugs or memory access violations.
9. RAC and Cluster Events
In Oracle RAC environments, node communication problems, Clusterware issues, or Global Cache Service failures may be associated with ORA-07445.
10. Optimizer Bugs
Rare SQL execution plans or optimizer transformations may expose Oracle kernel defects that result in process termination.
Common Symptoms
- Unexpected Oracle server process termination.
- Application session disconnects.
- Core dump generation.
- Incident trace files created automatically.
- ORA-03113 reported to client applications.
- Background process failure.
- Possible database instance crash.
- Repeated incidents affecting the same Oracle function.
ORA-07445 vs. ORA-00600
| Error | Description | Primary Cause |
|---|---|---|
| ORA-00600 | Internal consistency check failure. | Oracle kernel detects an unexpected internal condition. |
| ORA-07445 | Operating system exception encountered. | Oracle process crashes because of an OS-level exception. |
| ORA-03113 | End-of-file on communication channel. | Often follows ORA-07445 after the server process terminates. |
Although ORA-00600 and ORA-07445 are different errors, they are frequently investigated using the same diagnostic workflow because both generate incidents, trace files, and detailed diagnostic information within ADR.
Why ORA-07445 Requires Immediate Investigation
Every ORA-07445 incident represents an abnormal process termination. Even if the database continues running, repeated process crashes can impact application availability, compromise user confidence, and indicate underlying software or hardware problems.
Before restarting the database or applying patches, preserve the generated diagnostic information. The Alert Log, trace files, call stack, operating system signal, and incident package are often essential for determining the root cause and for obtaining assistance from Oracle Support.
Treat ORA-07445 as a critical diagnostic event rather than an isolated application error. Preserve all trace files, identify the Oracle function and operating system signal, review recent environmental changes, and investigate the incident methodically before restarting the affected instance or process.
Step-by-Step Troubleshooting ORA-07445
Successfully troubleshooting ORA-07445 requires preserving Oracle's diagnostic information and identifying the exact operating system exception that caused the Oracle server process to terminate. Restarting the database before collecting evidence may remove valuable information needed to determine the root cause.
The following workflow reflects production best practices used by Oracle Database Administrators.
Step 1 – Review the Oracle Alert Log
The Oracle Alert Log is the first place to begin investigating an ORA-07445 incident.
Typical location:
$ORACLE_BASE/diag/rdbms/<DB_NAME>/<INSTANCE_NAME>/trace/ alert_<SID>.log
Review the entries immediately before and after the ORA-07445 message.
Look for:
- ORA-07445 details
- ORA-00600 errors
- ORA-03113 messages
- Background process failures
- Checkpoint activity
- Redo log switches
- Database startup or shutdown events
- Operating system errors
Always investigate the first ORA-07445 occurrence. Later errors are often consequences rather than the original cause.
Step 2 – Locate the Generated Trace File
Oracle automatically creates a trace file for every ORA-07445 incident.
Navigate to:
$ORACLE_BASE/diag/rdbms/ <database_name>/ <instance_name>/trace
Typical filename:
orcl_ora_21453.trc
Review the trace file carefully for:
- Operating system signal
- Oracle function name
- Call stack
- Error stack
- Current SQL statement
- Current session information
- Memory dump
- Loaded Oracle modules
Step 3 – Analyze the Call Stack
The Oracle call stack shows the sequence of internal functions executed before the crash occurred.
Example:
ksedmp dbkedDefDump kgeriv kcbgtcr qerhjFetch opiexe
Although Oracle Support primarily uses the call stack, experienced DBAs can often identify whether the failure occurred during SQL execution, recovery, buffer cache processing, or optimizer operations.
Step 4 – Use ADRCI
Oracle's Automatic Diagnostic Repository Command Interpreter (ADRCI) simplifies incident management.
Start ADRCI:
adrci
Display ADR homes:
SHOW HOMES;
Set the correct ADR home:
SET HOMEPATH diag/rdbms/ORCL/ORCL1;
Display incidents:
SHOW INCIDENT;
Display problems:
SHOW PROBLEM;
Step 5 – Create an IPS Package
If Oracle Support assistance is required, generate an Incident Packaging Service (IPS) package.
IPS CREATE PACKAGE; IPS ADD INCIDENT 12543 PACKAGE 1; IPS GENERATE PACKAGE 1;
The package automatically includes the Alert Log, trace files, incident metadata, and supporting diagnostics.
Step 6 – Review Recent Changes
Determine whether any recent environmental changes may have contributed to the incident.
- Oracle Release Update (RU) installation
- Operating system patching
- Storage maintenance
- Hardware replacement
- Application deployment
- Database upgrade
- Initialization parameter changes
- Third-party software installation
Step 7 – Validate Database Health
Confirm that the database instance remains healthy.
SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V$INSTANCE;
Verify background processes continue running normally.
Step 8 – Check for Database Corruption
Some ORA-07445 incidents are triggered while Oracle accesses corrupted database blocks.
Review corruption information.
SELECT * FROM V$DATABASE_BLOCK_CORRUPTION;
If corruption exists, investigate RMAN recovery procedures.
Step 9 – Review Storage and Filesystem Health
Verify that storage infrastructure is functioning correctly.
Check:
- ASM disk groups
- Filesystem availability
- NFS mounts
- SAN connectivity
- Disk latency
- I/O errors
Review operating system logs for hardware-related messages.
Step 10 – Analyze AWR Reports
Generate an AWR report covering the period immediately before the ORA-07445 incident.
Review:
- Top SQL
- Top Wait Events
- CPU utilization
- Memory statistics
- I/O activity
- Background events
- Database Time
Step 11 – Review ASH Reports
ASH helps identify session activity immediately before the server process crashed.
Look for:
- Long-running SQL
- Parallel execution
- Blocking sessions
- Latch contention
- Cursor activity
- High CPU SQL
Step 12 – Review Operating System Logs
Operating system logs frequently provide additional diagnostic information.
Linux examples:
/var/log/messages journalctl dmesg
Look for:
- Memory errors
- Filesystem failures
- I/O errors
- Kernel panic messages
- Hardware failures
- Out-of-memory events
Step 13 – Oracle RAC Considerations
For Oracle RAC environments, determine whether the exception affected a single instance or multiple instances.
Verify cluster status.
srvctl status database crsctl stat res -t
Also review:
- Clusterware logs
- Global Cache activity
- Node eviction events
- Interconnect latency
Step 14 – Oracle Data Guard Considerations
If Oracle Data Guard is configured, review:
- Managed Recovery Process (MRP)
- Redo Apply status
- Archive Log transport
- Broker configuration
- Standby synchronization
Determine whether the ORA-07445 occurred on the primary database, standby database, or both.
Step 15 – Oracle Cloud Infrastructure (OCI)
For Oracle databases hosted on OCI, also review cloud infrastructure health.
- Compute instance metrics
- Memory utilization
- Block Volume performance
- Operating system monitoring
- VM health events
- Exadata infrastructure status (if applicable)
Real Production Case Study
A production Oracle 19c database began reporting intermittent ORA-07445 errors during large reporting queries executed through Oracle E-Business Suite. Users experienced occasional ORA-03113 errors while the database instance itself remained online.
The Alert Log showed repeated ORA-07445 incidents involving the Oracle function qerhjFetch() with a SIGSEGV operating system exception. Trace file analysis revealed the crashes occurred during hash join execution for a specific SQL statement. AWR reports confirmed that the SQL consistently consumed significant CPU resources.
After reviewing Oracle Support documentation, the DBA identified a known Oracle 19c optimizer bug that matched the call stack and exception signature. Applying the recommended Release Update (RU) resolved the issue permanently, and the reporting workload completed successfully without further ORA-07445 incidents.
Production DBA Troubleshooting Checklist
| Verification | Status |
|---|---|
| Alert Log Reviewed | ☐ |
| Operating System Signal Identified | ☐ |
| Trace File Reviewed | ☐ |
| Call Stack Analyzed | ☐ |
| ADRCI Investigation Completed | ☐ |
| IPS Package Generated (if required) | ☐ |
| Recent Changes Reviewed | ☐ |
| Storage Health Verified | ☐ |
| AWR and ASH Reports Reviewed | ☐ |
| Operating System Logs Reviewed | ☐ |
| RAC/Data Guard/OCI Reviewed (if applicable) | ☐ |
| Root Cause Confirmed | ☐ |
Oracle Version Considerations
The ORA-07445 diagnostic process has improved significantly across Oracle Database releases. While the core error indicates an operating system exception encountered by an Oracle process, newer Oracle versions provide richer diagnostic capabilities that simplify root cause analysis.
| Oracle Version | Diagnostic Features |
|---|---|
| Oracle 10g | Basic trace files and Alert Log diagnostics. |
| Oracle 11g | Automatic Diagnostic Repository (ADR), Incident Packaging Service (IPS), and Health Monitor introduced. |
| Oracle 12c | Enhanced Multitenant (CDB/PDB) diagnostics and improved incident management. |
| Oracle 18c / 19c | Improved ADRCI functionality, AWR diagnostics, and optimizer instrumentation. |
| Oracle 21c / Oracle Database 23ai | Enhanced cloud diagnostics, Autonomous Database integration, and OCI monitoring capabilities. |
How Oracle Handles ORA-07445 Internally
When an Oracle server process encounters an unexpected operating system exception, Oracle automatically initiates its diagnostic framework before terminating the affected process.
Operating System Exception
│
▼
Oracle Process Detects Exception
│
▼
ORA-07445 Raised
│
▼
Incident Created
│
▼
Alert Log Updated
│
▼
Trace File Generated
│
▼
Call Stack Captured
│
▼
Core Dump Information Saved
│
▼
ADR Repository Updated
│
▼
IPS Package Available
This automated process ensures that sufficient diagnostic information is preserved for Oracle Support and production DBAs.
Useful ADRCI Commands
Oracle's ADRCI utility is the primary tool for investigating ORA-07445 incidents.
adrci SHOW HOMES SET HOMEPATH diag/rdbms/ORCL/ORCL1 SHOW INCIDENT SHOW PROBLEM SHOW ALERT -TAIL 100 SHOW TRACEFILE IPS CREATE PACKAGE IPS ADD INCIDENT IPS GENERATE PACKAGE
These commands allow DBAs to review incidents, examine trace files, and prepare complete diagnostic packages for Oracle Support.
Useful SQL Queries
Check Database Instance
SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V$INSTANCE;
Check Database Open Mode
SELECT NAME, OPEN_MODE, LOG_MODE FROM V$DATABASE;
Review Invalid Objects
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS WHERE STATUS='INVALID' ORDER BY OWNER, OBJECT_NAME;
Check Block Corruption
SELECT * FROM V$DATABASE_BLOCK_CORRUPTION;
Review Datafiles
SELECT FILE_ID, FILE_NAME, STATUS FROM DBA_DATA_FILES;
Review Background Processes
SELECT NAME, DESCRIPTION FROM V$BGPROCESS ORDER BY NAME;
When Should You Open an Oracle Support Service Request (SR)?
Although some ORA-07445 incidents occur only once, Oracle Support should be engaged whenever the error cannot be confidently explained or continues to occur.
Open a Service Request (SR) if:
- ORA-07445 occurs repeatedly.
- The database instance crashes.
- Critical background processes terminate.
- Database corruption is suspected.
- No recent environmental changes explain the incident.
- The trace file references unknown Oracle kernel functions.
- The issue matches no known Oracle Release Update (RU).
- Production systems are affected.
Include the generated IPS package, Alert Log, trace files, AWR report, ASH report (if available), and a description of recent environmental changes.
Common DBA Mistakes
- Restarting the database before preserving trace files.
- Deleting ADR diagnostic files too early.
- Ignoring the operating system signal (SIGSEGV, SIGBUS, etc.).
- Failing to review the Oracle call stack.
- Applying undocumented hidden parameters without Oracle Support approval.
- Ignoring operating system logs.
- Skipping AWR and ASH analysis.
- Failing to validate hardware and storage health.
- Running production workloads without current Release Updates (RUs).
- Opening an Oracle Support SR without an IPS package.
Oracle DBA Best Practices
- Keep Oracle Release Updates (RUs) current.
- Preserve Alert Logs and trace files before restarting the instance.
- Collect ADR diagnostics immediately after ORA-07445 occurs.
- Monitor operating system health regularly.
- Validate RMAN backups and perform recovery testing.
- Review AWR and ASH reports after major incidents.
- Monitor storage latency and hardware reliability.
- Test patches in non-production environments.
- Document all database and operating system changes.
- Escalate recurring ORA-07445 incidents to Oracle Support.
ORA-07445 Troubleshooting Workflow
ORA-07445 Occurs
│
▼
Review Alert Log
│
▼
Identify Operating System Signal
│
▼
Locate Trace File
│
▼
Analyze Call Stack
│
▼
Use ADRCI
│
▼
Generate IPS Package
│
▼
Review Recent Changes
│
▼
Check Database Health
│
▼
Review AWR & ASH
│
▼
Review OS Logs
│
▼
Search Oracle Support
│
▼
Apply Patch or Corrective Action
│
▼
Monitor Production
Frequently Asked Questions (FAQ)
Is ORA-07445 always caused by an Oracle software bug?
No. While Oracle bugs are a common cause, ORA-07445 can also result from operating system issues, faulty hardware, memory corruption, storage failures, corrupted Oracle binaries, or damaged database blocks.
What is SIGSEGV?
SIGSEGV (Segmentation Fault) indicates that an Oracle process attempted to access memory that it was not permitted to access. It is the most frequently reported operating system signal associated with ORA-07445.
Can ORA-07445 crash the entire database?
If only a foreground process terminates, the database may continue running. However, if a critical background process encounters ORA-07445, Oracle may terminate the entire instance to protect database integrity.
Where are ORA-07445 trace files stored?
Trace files are stored within the Automatic Diagnostic Repository (ADR), typically under the $ORACLE_BASE/diag/rdbms directory for the affected database instance.
Should I restart the database immediately?
No. Preserve all diagnostic information first. The Alert Log, trace files, call stack, and IPS package are often essential for identifying the root cause.
What information should be provided to Oracle Support?
Include the Alert Log, incident trace files, IPS package, AWR and ASH reports (if available), operating system logs, Oracle version information, and a summary of recent changes to the environment.
Related Oracle Articles
- ORA-00600: Internal Oracle Error Code – Complete Guide
- ORA-03113: End-of-File on Communication Channel
- ORA-04031: Unable to Allocate Bytes of Shared Memory
- ORA-01034: ORACLE Not Available
- ORA-27101: Shared Memory Realm Does Not Exist
- Oracle Error Codes Guide
About the Author
Rana Abdul Wahid is an Oracle Database Consultant with more than 15 years of professional experience in Oracle Database Administration, Oracle RAC, Oracle Data Guard, RMAN Backup & Recovery, Oracle E-Business Suite, Oracle Cloud Infrastructure (OCI), Performance Tuning, Linux/Unix Administration, MySQL, Microsoft SQL Server, PostgreSQL, and enterprise database solutions.
Through this blog, he shares practical Oracle DBA knowledge, production troubleshooting techniques, backup and recovery strategies, and performance tuning best practices gained from real-world enterprise environments.
Conclusion
The ORA-07445: Exception Encountered – Core Dump error indicates that an Oracle process has terminated unexpectedly because of an operating system exception. While Oracle software defects are a common cause, DBAs should also investigate hardware reliability, operating system health, storage infrastructure, corrupted Oracle binaries, and database block integrity before determining the root cause.
A structured troubleshooting approach—including reviewing the Alert Log, analyzing incident trace files, examining the Oracle call stack, using ADRCI, validating storage and database health, reviewing AWR and ASH reports, and investigating recent environmental changes—helps minimize downtime and ensures accurate diagnosis.
Maintaining current Oracle Release Updates, preserving diagnostic information before restarting the instance, and proactively monitoring production environments are essential practices for preventing recurring ORA-07445 incidents.
Never treat ORA-07445 as a simple application error. Preserve the diagnostic evidence, analyze the operating system signal and Oracle call stack, determine whether the incident is caused by software, hardware, or environmental factors, and engage Oracle Support when necessary. A disciplined investigation significantly reduces recovery time and helps prevent future occurrences.
Found this guide helpful? Visit our Oracle Error Codes Guide for more Oracle DBA tutorials, production troubleshooting guides, backup and recovery articles, and performance tuning best practices.
Comments
Post a Comment