Home > Oracle 12c Datenbank > Datapatch auf CDB Level wurde unterbrochen

Datapatch auf CDB Level wurde unterbrochen

Ausgangssituation:

PSU wurde im Oracle Home eingespielt. Beim Einspielen auf CDB Ebene passiert ein Missgeschick – datatpatch.pl wurde abgebrochen.

Was nun?

Wenn wir kontrollieren, wie der Patch-Status in der Datenbank abgebildet ist, dann sehen wir, dass die Installation des PSU in der DB nicht abgeschlossen wurde:

select patch_id, patch_uid, version, status, bundle_series, description from dba_registry_sqlpatch;            
 
 PATCH_ID PATCH_UID VERSION       STATUS     BUNDLE_SERIES         DESCRIPTION
---------- ---------- -------------------- --------------- ------------------------------ ----------------------------------------------------------------------------------------------------
 24917972  20801908 12.1.0.2       END                      Database PSU 12.1.0.2.170117, Oracle JavaVM Component (JAN2017)
 24732088  20937845 12.1.0.2       BEGIN      DBBP              DATABASE BUNDLE PATCH 12.1.0.2.170117
 19790972  19744553 12.1.0.2       END       DBBP              DBMS_STATS CAUSING LIBRARY CACHE LOCKS WITH SUBPARTITION TABLE
 24917972  20801908 12.1.0.2       SUCCESS                    Database PSU 12.1.0.2.170117, Oracle JavaVM Component (JAN2017)
 19790972  19744553 12.1.0.2       SUCCESS                    DBMS_STATS CAUSING LIBRARY CACHE LOCKS WITH SUBPARTITION TABLE
 

Patch nochmals installieren?

So ausfallsicher ist datapatch.pl nun auch wieder nicht. Wenn wir das datapatch.pl nochmal auf die gleiche Datenbank loslassen, erfahren wir:

Current state of SQL patches:
Patch 19790972 (DBMS_STATS CAUSING LIBRARY CACHE LOCKS WITH SUBPARTITION TABLE):
 Installed in the binary registry and CDB$ROOT PDB$SEED
Patch 24917972 (Database PSU 12.1.0.2.170117, Oracle JavaVM Component (JAN2017)):
 Installed in the binary registry and CDB$ROOT PDB$SEED
Bundle series DBBP:
 ID 170117 in the binary registry and ID 170117 in PDB CDB$ROOT, ID 170117 in PDB PDB$SEED

Ein Rollback des Patches ignoriert das datapatch.pl ebenfalls. Wir stecken also fest.

Den Druck auf Oracle erhöhen

Es bleibt uns jetzt nur noch die Möglichkeit, datapatch.pl dazu zu zwingen, die aktuellen Patches einzuspielen. Möglich ist das mit:

./datapatch -apply 24732088,24917972,19790972 -force -verbose

Wie wir jetzt sehen können, sind alle Patches im Status „SUCCESS“

select patch_id, patch_uid, version, status, bundle_series, description, ACTION from dba_registry_sqlpatch order by 1

 PATCH_ID PATCH_UID VERSION       STATUS     BUNDLE_SERIES         DESCRIPTION                                             ACTION

---------- ---------- -------------------- --------------- ------------------------------ ---------------------------------------------------------------------------------------------------- ---------------

 19790972  19744553 12.1.0.2       END       DBBP              DBMS_STATS CAUSING LIBRARY CACHE LOCKS WITH SUBPARTITION TABLE                    APPLY

 19790972  19744553 12.1.0.2       SUCCESS                    DBMS_STATS CAUSING LIBRARY CACHE LOCKS WITH SUBPARTITION TABLE                    APPLY

 19790972  19744553 12.1.0.2       SUCCESS                    DBMS_STATS CAUSING LIBRARY CACHE LOCKS WITH SUBPARTITION TABLE                    APPLY

 24732088  20937845 12.1.0.2       BEGIN      DBBP              DATABASE BUNDLE PATCH 12.1.0.2.170117                                APPLY

 24732088  20937845 12.1.0.2       WITH ERRORS   DBBP              DATABASE BUNDLE PATCH 12.1.0.2.170117                                APPLY

 24732088  20937845 12.1.0.2       SUCCESS     DBBP              DATABASE BUNDLE PATCH 12.1.0.2.170117                                APPLY

 24732088  20937845 12.1.0.2       SUCCESS     DBBP              DATABASE BUNDLE PATCH 12.1.0.2.170117                                APPLY

 24917972  20801908 12.1.0.2       END                      Database PSU 12.1.0.2.170117, Oracle JavaVM Component (JAN2017)                   APPLY

 24917972  20801908 12.1.0.2       SUCCESS                    Database PSU 12.1.0.2.170117, Oracle JavaVM Component (JAN2017)                   APPLY

 24917972  20801908 12.1.0.2       SUCCESS                    Database PSU 12.1.0.2.170117, Oracle JavaVM Component (JAN2017)                   APPLY


10 rows selected.

Jetzt wird der PSU auch in der Datenbank als erfolgreich installiert ausgeweisen.