Ein Oracle Home mit "opatch util cleanup" aufräumen
Vor jedem Patch in einem Oracle Home wird im Verzeichnis $ORACLE_HOME/.patch_storage (Linux und Windows) die gesicherten Stände der zu überschreibenden Software Libraries und/oder Programme abgelegt, um den Patch später wieder zurück zu rollen.
Laut der Metalink Node (Doc ID 403218.1) sollte das Verzeichnis nicht von Hand gelöscht werden!
Mit opatch util cleanup kann aber hier etwas aufgeräumt werden, alle Daten die nicht mehr für ein Rollback des Patches benötigt werden, werden gelöscht.
Unter Windows muss opatch dazu in einer administrativen Schell Umgebung gestartet werden.
Windows Powershell Beispiel:
#Powershell Session zuvor als "Administrator" auf dem Server lokal starten! #testweise starten cd $ORACLE_HOME\OPatch .\opatch util cleanup -report ... [16.07.2014 20:02:33] Size of directory "D:\oracle\product\11.2.0.3\dbhome_1\.patch_storage" before cleanup is 313923591 bytes. ...... # Cleanup durchführen .\opatch util cleanup
Wird nicht sonderlich viel gelöscht, lohnt sich die Prüfung mit „opatch lsinventory“, ob es ein Verzeichnis gibt, das zu keiner dem im Inventory bekannten Patche passt (siehe auch Doc ID 550522.1).:
.\opatch lsinventory ... Patch 17363850 : applied on Tue Nov 12 20:56:40 CET 2013 ... # Dann im Verzeichnis prüfen dir $ENV:ORACLE_HOME\.patch_storage Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 12.11.2013 20:57 17363850_Nov_03_2013_00_06_51
⇒ daraus folgt, hier darf das Verzeichnis NICHT gelöscht werden, da das Create Datum des Verzeichnis dem Einspiel-Datum des Patches entspricht!
Lösung: Alle Verzeichnisse löschen, bis auf das Verzeichnis mit passender <PATCH_ID> und passenden Datum von der „opatch lsinventory“ Ausgabe.
Quellen
Oracle Support:
- Can You Delete $ORACLE_HOME/.patch_storage Directory ? (Doc ID 403218.1)
- How To Avoid Disk Full Issues Because OPatch Backups Take Big Amount Of Disk Space. (Doc ID 550522.1)
- Master Note For OPatch (Doc ID 293369.1)
- OPatch Utility Guide - 10.2 (Doc ID 554417.1)