Datapatch having issue not detect patches on Oracle 12c
During apply patches on Oracle 12c, the last step datapatch verbose is having issue. It finished with saying that it doesn’t detect the patches on Oracle Home.
Error
E:\oracle\12.2.0\dbhome_1\opatch>datapatch -verbose
SQL Patching tool version 12.2.0.1.0 Production on Sat Feb 1 22:25:03 2020
Copyright (c) 2012, 2020, Oracle. All rights reserved.
Log file for this invocation: E:\oracle\cfgtoollogs\sqlpatch\ sqlpatch_102528 _2020_02_01_22_25_04\sqlpatch_invocation.log
Connecting to database...
Connection using O/S authentication failed.
Enter userid that can connect as SYSDBA: Enter password for sys:
Connecting to database...OK
Bootstrapping registry and package to current versions...
Determining current state...done
Current state of SQL patches:
Patch 30525838 ():
Not installed in the binary or the SQL registry
Bundle series PSU:
Not installed in the binary registry and not installed in the SQL registry
Adding patches to installation queue and performing prereq checks...
Installation queue:
Nothing to roll back
Nothing to apply
SQL Patching tool complete on Sat Feb 1 22:25:32 2020
Solution
Applied the patch with FORCE option with datapatch FORCE option:
datapatch -apply <patch id/ -force -verbose
Following example show the use of this command:
1. Find the unique patch id from opatch lsinventory command:
Opatch lsinventory
....
Patch 30446296 : applied on Sat Feb 01 22:14:40 CST 2020
Unique Patch ID: 23327209
Patch description: "WINDOWS DB BUNDLE PATCH 12.2.0.1.200114(64bit):30446296"
2. Now you have both PATCH ID and UNIQUE PATCH ID from lsinventory which you applied on Oracle home.
PATCH ID: 30446296
UNIQUE PATCH ID: 23327209
3. Applied with FORCE option as shown below.
datapatch -apply 30446296/23327209 -force -verbose