Applies to:
Oracle Database - Enterprise Edition - Version 12.1.0.2 and later
Information in this document applies to any platform.
Symptoms
datapatch fails with error : ' ORA-03114: not connected to ORACLE ','ORA-03113: end-of-file on communication channel' as shown in sqlpatch_invocation.log:
catcon: ALL catcon-related output will be written to /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_53124_2018_07_07_20_56_48/sqlpatch_catcon__catcon_53124.lst
catcon: See /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_53124_2018_07_07_20_56_48/sqlpatch_catcon_*.log files for output generated by scripts
catcon: See /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_53124_2018_07_07_20_56_48/sqlpatch_catcon__*.lst files for spool files, if any
Bootstrapping registry and package to current versions...done
Error in bootstrap log /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_53124_2018_07_07_20_56_48/bootstrap1_ASTPR02C_DCFPR8.log:
Error at line 53: ORA-03114: not connected to ORACLE
Error at line 59: ORA-03113: end-of-file on communication channel
Error at line 66: ORA-03114: not connected to ORACLE
Error at line 70: ORA-03114: not connected to ORACLE
Cause
Cause 1:
alert log shows:
Sat Jul 07 20:56:51 2018
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x0] [PC:0x320DA4D, kokfgpth()+45] [flags: 0x0, count: 1]
Errors in file /u01/app/oracle/diag/rdbms/astpr02c/astPR02c/trace/astPR02c_ora_53174.trc (incident=131315) (PDBNAME=DCFPR8):
ORA-07445: exception encountered: core dump [kokfgpth()+45] [SIGSEGV] [ADDR:0x0] [PC:0x320DA4D] [Address not mapped to object] []
trace file: /u01/app/oracle/diag/rdbms/astpr02c/astPR02c/trace/astPR02c_ora_53174.trc shows the following:
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)
[TOC00004]
----- Current SQL Statement for this session (sql_id=bn91fttd0ssx0) -----
/* SQL Analyze(379,0) */ SELECT /*+ NOPARALLEL */ * FROM "SYS"."OPATCH_XML_INV"
[TOC00004-END]
Executing the query select * from opatch_xml_nv reports OPATCH_SCRIPT_DIR does not exist
SQL> select * from opatch_xml_inv;
ERROR at line 1: ORA-06564: object OPATCH_SCRIPT_DIR does not exist
Execution of below query doesn't report OPATCH_INST_DIR , OPATCH_LOG_DIR , OPATCH_SCRIPT_DIR in the output
SQL>select DIRECTORY_NAME, DIRECTORY_PATH from dba_directories;
Cause 2:
Already ORA-07445: exception encountered: core dump [kggmsCreateMap()+38] exists as per alert log which is causing datapatch failure.
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x18] [PC:0xD138FC6, kggmsCreateMap()+38] [flags: 0x0, count: 1]
Errors in file /u01/app/oracle/product/db/oracle-server/diag/rdbms/psftcdb/PSFTCDB/trace/PSFTCDB_ora_111708.trc (incident=1305310) (PDBNAME=CDB$ROOT):
ORA-07445: exception encountered: core dump [kggmsCreateMap()+38] [SIGSEGV] [ADDR:0x18] [PC:0xD138FC6] [Address not mapped to object] []
Solution
Solution for cause 1:
Create the directories using the below query by replacing the ORACLE_HOME with respective oracle home patch as per your environment.
SQL> create directory OPATCH_INST_DIR as ‘<ORACLE_HOME>/OPatch';
SQL> create directory OPATCH_LOG_DIR as ‘<ORACLE_HOME>/QOpatch';
SQL> create directory OPATCH_SCRIPT_DIR as ‘<ORACLE_HOME/QOpatch;
Execute the post-patch command :
'datapatch -verbose'
Solution for cause 2:
a. Either apply Patch 18795927 for your Platform
OR
b. Set _optimizer_ignore_hints=false as temporary workaround until datapatch execution.
Execute the post-patch command :
'datapatch -verbose'