I’m not going to go through the entire patching process, there are lots of other sites that can walk you through this. What I am going to talk about is some issues that I had after patching. The patch to the binaries went fine, however when I tried to run Datapatch against my database, I got the following error
[oracle@oradb1 OPatch]$ ./datapatch
SQL Patching tool version 19.6.0.0.0 Production on Tue Mar 17 13:02:31 2020
Copyright (c) 2012, 2019, Oracle. All rights reserved.
Log file for this invocation: /opt/oracle/cfgtoollogs/sqlpatch/sqlpatch_1929_2020_03_17_13_02_31/sqlpatch_invocation.log
Connecting to database...
Error: prereq checks failed!
Database connect failed with: ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach)
Please refer to MOS Note 1609718.1 and/or the invocation log
/opt/oracle/cfgtoollogs/sqlpatch/sqlpatch_1929_2020_03_17_13_02_31/sqlpatch_invocation.log
for information on how to resolve the above errors.
SQL Patching tool complete on Tue Mar 17 13:02:32 2020
I have see this error before when the parameter remote_listener is not set on a database, but this is a single instance database.
I opened an SR with oracle support. After some trouble shooting, they recommended I remove the trailing slash from my ORACLE_HOME variable and restart the database.
So change
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1/
to
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
after restarting the database, I got a new error
[oracle@oradb1 OPatch]$ ./datapatch -verbose
SQL Patching tool version 19.6.0.0.0 Production on Wed Mar 18 16:52:03 2020
Copyright (c) 2012, 2019, Oracle. All rights reserved.
Log file for this invocation: /opt/oracle/cfgtoollogs/sqlpatch/sqlpatch_31007_2020_03_18_16_52_03/sqlpatch_invocation.log
Connecting to database...OK
Gathering database info...done
Bootstrapping registry and package to current versions...done
Determining current state...done
Current state of interim SQL patches:
No interim patches found
Current state of release update SQL patches:
Binary registry:
19.6.0.0.0 Release_Update 191217155004: Installed
SQL registry:
Applied 19.6.0.0.0 Release_Update 191217155004 with errors on 18-MAR-20 04.51.13.824844 PM
Adding patches to installation queue and performing prereq checks...done
Installation queue:
No interim patches need to be rolled back
Patch 30557433 (Database Release Update : 19.6.0.0.200114 (30557433)):
Apply from 19.3.0.0.0 Release_Update 190410122720 to 19.6.0.0.0 Release_Update 191217155004
No interim patches need to be applied
Installing patches...
Patch installation complete. Total patches installed: 1
Validating logfiles...done
Patch 30557433 apply: WITH ERRORS
logfile: /opt/oracle/cfgtoollogs/sqlpatch/30557433/23305305/30557433_apply_DB1_2020Mar18_16_52_52.log (errors)
-> Error at line 7738: script rdbms/admin/prvtgwm.sql
- ORA-03113: end-of-file on communication channel
- Process ID: 32448
- Session ID: 270 Serial number: 1817
-> Error at line 7745: script rdbms/admin/prvtgwm.sql
- ORA-03114: not connected to ORACLE
-> Error at line 7749: script rdbms/admin/prvtgwm.sql
- ORA-03114: not connected to ORACLE
-> Error at line 7753: script rdbms/admin/prvtgwm.sql
- ORA-03114: not connected to ORACLE
-> Error at line 7757: script rdbms/admin/prvtgwm.sql
So some progress. Something was causing a core dump and the connection was terminated.
Looking at the script it was failing on, prvtgwm.sql, that script is all related to the schema gsmadmin_internal
Looking at the patching log, I see the following
GRANT datapump_exp_full_database TO package gsmadmin_internal.exchange
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 32448
Session ID: 270 Serial number: 1817
So looking back at the database, there are several package inside the GSMADMIN_INTERNAL schema that are invalid
======================================================
Count of Invalids by Schema
======================================================
OWNER OBJECT_TYPE COUNT(*)
------------ ---------------------------------------- ----------
GSMADMIN_INT PACKAGE 1
ERNAL
GSMADMIN_INT PACKAGE BODY 7
ERNAL
GSMADMIN_INT PROCEDURE 2
ERNAL
GSMADMIN_INT TRIGGER 4
ERNAL
GSMADMIN_INT VIEW 4
ERNAL
MDSYS FUNCTION 1
MDSYS PACKAGE BODY 2
MDSYS TRIGGER 1
PUBLIC SYNONYM 5
SYS PACKAGE BODY 3
==============================================================
Identifying whether a database was created as 32-bit or 64-bit
==============================================================
I tried running utlrp several times, however I was able to compile most of the objects manually issuing compile commands.
I was then able to run Datapatch successfully
[oracle@oradb1 OPatch]$ ./datapatch -verbose
SQL Patching tool version 19.6.0.0.0 Production on Thu Mar 19 09:33:50 2020
Copyright (c) 2012, 2019, Oracle. All rights reserved.
Log file for this invocation: /opt/oracle/cfgtoollogs/sqlpatch/sqlpatch_3442_2020_03_19_09_33_50/sqlpatch_invocation.log
Connecting to database...OK
Gathering database info...done
Bootstrapping registry and package to current versions...done
Determining current state...done
Current state of interim SQL patches:
No interim patches found
Current state of release update SQL patches:
Binary registry:
19.6.0.0.0 Release_Update 191217155004: Installed
SQL registry:
Applied 19.6.0.0.0 Release_Update 191217155004 with errors on 18-MAR-20 04.53.44.788558 PM
Adding patches to installation queue and performing prereq checks...done
Installation queue:
No interim patches need to be rolled back
Patch 30557433 (Database Release Update : 19.6.0.0.200114 (30557433)):
Apply from 19.3.0.0.0 Release_Update 190410122720 to 19.6.0.0.0 Release_Update 191217155004
No interim patches need to be applied
Installing patches...
Patch installation complete. Total patches installed: 1
Validating logfiles...done
Patch 30557433 apply: SUCCESS
logfile: /opt/oracle/cfgtoollogs/sqlpatch/30557433/23305305/30557433_apply_DB1_2020Mar19_09_34_28.log (no errors)
SQL Patching tool complete on Thu Mar 19 09:39:03 2020
Recent Comments