After successfully applying the database patch on the binary, the next step is to run the datapatch, however when running it….it failed with below errors:
./datapatch –verbose
SQL Patching tool version 12.1.0.2.0 Production on Wed May 1 10:03:02 2019
Copyright (c) 2012, 2016, Oracle. All rights reserved.
Log file for this invocation: /orcl/oradbx26/cfgtoollogs/sqlpatch/sqlpatch_79352_2019_05_01_10_03_02/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
/orcl/oradbx26/cfgtoollogs/sqlpatch/sqlpatch_79352_2019_05_01_10_03_02/sqlpatch_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
/orcl/oradbx26/cfgtoollogs/sqlpatch/sqlpatch_79352_2019_05_01_10_03_02/sqlpatch_invocation.log
for information on how to resolve the above errors.
SQL Patching tool complete on Wed May 1 10:03:08 2019
Solution:
After reviewing the log file sqlpatch_invocation.log:
verify_queryable_inventory returned ORA-20001: Latest xml inventory is not loaded into table
so I have executed the following query:
SQL> select * from OPATCH_XML_INV ;
ERROR:
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-25153: Temporary Tablespace is Empty
So this is an indication of temporary tabelspace issue, so I have first created a “new” temporary tablespace:
SQL> CREATE TEMPORARY TABLESPACE TEMP_DATA_02 TEMPFILE
‘/oradata1/oradbx26/TEMPTD01.dbf’ SIZE 120M AUTOEXTEND ON
TABLESPACE GROUP ”
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
Then, I have made the new temporary tablespace the default one:
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP_DATA_02;
And finally dropped the old temporary tablespace:
SQL> DROP TABLESPACE TEMP_DATA_01 INCLUDING CONTENTS AND DATAFILES;
I hope this helps someone !