while applying latest Oracle PSU released in July 2018 for 18.104.22.168 release i have faced the following when i reached the “data patch” level:
myhostt1:orax1> ./datapatch -verbose
SQL Patching tool version 22.214.171.124.0 Production on Thu Jul 19 10:53:37 2018
Copyright (c) 2012, 2016, Oracle. All rights reserved.
Log file for this invocation: /oracle/orax1/cfgtoollogs/sqlpatch/sqlpatch_109246_2018_07_19_10_53_37/sqlpatch_invocation.log
Connecting to database…OK
Bootstrapping registry and package to current versions…done
Queryable inventory could not determine the current opatch status.
Execute ‘select dbms_sqlpatch.verify_queryable_inventory from dual’
and/or check the invocation log
for the complete error.
Prereq check failed, exiting without installing any patches.
Please refer to MOS Note 1609718.1 and/or the invocation log
for information on how to resolve the above errors.
SQL Patching tool complete on Thu Jul 19 10:53:41 2018
if you try to execute the following query:
SQL> select * from OPATCH_XML_INV ;
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-29400: data cartridge error
KUP-04004: error while reading file
SQL> select dbms_sqlpatch.verify_queryable_inventory from dual;
ORA-20001: Latest xml inventory is not loaded into table
first, you need to download the latest OPatch utility 126.96.36.199.14
second, the error i have faced due to that i am invoking the opatch utility outside ORACLE_HOME…… now you need copy it in your oracle home directory ( its a must ! )
scp -r /newopatch/OPatch/* .
a good reference is Doc ID 1602089.1