1.此目录为是Oracle打补丁时被替换的文件的备份。
是的,即使成功安装了补丁程序,也必须保留$ORACLE_HOME/.patch_storage目录。
1)将临时补丁应用到Oracle主目录时,OPatch将补丁信息存储在$ORACLE_HOME/.patch_storage目录中。在此目录中,为每个应用于Oracle主目录的补丁创建了单独的目录。临时修补程序是一些bug修复程序,这些bug修复程序可针对特定bug提供给客户。关键补丁更新(CPU)和补丁集更新(PSU)也是一种补丁。随着CPU / PSU的累积,最新的CPU / PSU将回滚先前应用的CPU / PSU。这些回滚信息就来自.patch_storage目录。
2)您可能会遇到bug冲突,并可能希望删除有冲突的补丁。此过程称为补丁回滚。在补丁安装期间,OPatch会保存所有将被新补丁替换的文件的副本,并将其存储在$ORACLE_HOME/.patch_storage/patch ID/中。这些保存的文件称为回滚文件,是使补丁回滚成为可能的关键。
3)每次您应用补丁时,都会对 inventory 进行更改。有时,这种变化可能会破坏 inventory。从Oracle RDBMS 10.2.0.XX起,当您应用补丁程序时,OPatch会创建 inventory的快照并将其存储在$ORACLE_HOME /.patch_storage/<patch-id_timestamp>目录中。OPatch随附的$ORACLE_HOME /.patch_storage/<patch-id_timestamp>/restore.sh脚本可回滚应用补丁后对清单进行的任何更改。
.patch_storage目录在UNIX环境下默认是隐藏的目录也证明了不应删除它。可以遵循 Note 550522.1 对该目录执行维护操作。
即删除后,无法对打的补丁进行回退。因为回退需要从该目录下拷贝文件。