清理.patch_storage目录

某天突然接到告警说oracle目录使用率高,经过检查发现.patch_storage占了大约40G的空间。
.patch_storage的作用?
每次在打补丁的时候,会对库文件和模块做一些改变;变动之前,opatch会在$ORACLE_HOME/.patch_storage/ 目录中创建一个snapshot。有时候会出现需要回滚补丁的时候,这个目录下面会有一个restore.sh脚本,这个脚本可以remove之前做过的changes。
目录结构:
drwxr-xr-x    4 oracle   oinstall        256 Nov 08 2016  17592127_Jan_8_2014_23_02_20
drwxr-xr-x    4 oracle   oinstall        256 Nov 08 2016  13343438_Dec_28_2011_01_17_39
drwxr-xr-x    4 oracle   oinstall        256 Nov 08 2016  13923374_Jun_14_2012_23_16_11
drwxr-xr-x    4 oracle   oinstall        256 Nov 08 2016  13696216_Apr_8_2012_21_52_22
drwxr-xr-x    4 oracle   oinstall        256 Nov 08 2016  14727310_Dec_31_2012_01_47_37
drwxr-xr-x    4 oracle   oinstall        256 Nov 08 2016  14275605_Oct_3_2012_23_27_54
drwxr-xr-x    4 oracle   oinstall        256 Nov 08 2016  16056266_Mar_13_2013_05_49_56
其中一个目录内的文件:
oracle/app/oracle/product/11.2.0/db_1/.patch_storage/17586955_Jun_16_2015_10_26_31$ ls -lrt
total 8
drwxr-xr-x    4 oracle   oinstall        256 Jan 10 23:30 original_patch
drwxr-xr-x    3 oracle   oinstall        256 Jan 10 23:30 files
-rwx--x---    1 oracle   oinstall       1533 Jan 10 23:30 rollback.sh

这也就是说,打补丁的时候是需要一定的磁盘空间的。不然这个copy的过程不能完成。理论上,一次补丁的最大所需空间为1.8G,但是实际上是会小于这个数值的,一般oracle目录也不会就剩下这么点空间,所以不用太过于关注。

下面是清理过程:
一节点:
[grid@byo87631:/oracle/app/product/grid]du -sg .patch_storage
37.73   .patch_storage
[grid@byo87631:/oracle/app/product/grid]opatch util cleanup
Invoking OPatch 11.2.0.1.6

Oracle Interim Patch Installer version 11.2.0.1.6
Copyright (c) 2011, Oracle Corporation.  All rights reserved.

UTIL session

Oracle Home       : /oracle/app/product/grid
Central Inventory : /oracle/app/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.6
OUI version       : 11.2.0.2.0
Log file location : /oracle/app/product/grid/cfgtoollogs/opatch/opatch3018-02-02_19-39-49PM.log

Invoking utility "cleanup"
OPatch will clean up 'restore.sh,make.txt' files and 'rac,scratch,backup' directories.
You will be still able to rollback patches after this cleanup.
Do you want to proceed? [y|n]
y
User Responded with: Y
Size of directory "/oracle/app/product/grid/.patch_storage" before cleanup is 40496924381 bytes.
Size of directory "/oracle/app/product/grid/.patch_storage" after cleanup is 23138284034 bytes.

UtilSession: Backup area for restore has been cleaned up. For a complete list of files/directories
deleted, Please refer log file.

OPatch succeeded.



二节点:
[grid@byo87632:/oracle/app/product/grid]du -sg .patch_storage
37.73   .patch_storage
[grid@byo87632:/oracle/app/product/grid]opatch util cleanup
Invoking OPatch 11.2.0.1.6

Oracle Interim Patch Installer version 11.2.0.1.6
Copyright (c) 2011, Oracle Corporation.  All rights reserved.

UTIL session

Oracle Home       : /oracle/app/product/grid
Central Inventory : /oracle/app/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.6
OUI version       : 11.2.0.2.0
Log file location : /oracle/app/product/grid/cfgtoollogs/opatch/opatch3018-02-02_19-54-42PM.log

Invoking utility "cleanup"
OPatch will clean up 'restore.sh,make.txt' files and 'rac,scratch,backup' directories.
You will be still able to rollback patches after this cleanup.
Do you want to proceed? [y|n]
y
User Responded with: Y
Size of directory "/oracle/app/product/grid/.patch_storage" before cleanup is 40496924381 bytes.
Size of directory "/oracle/app/product/grid/.patch_storage" after cleanup is 23138284034 bytes.

UtilSession: Backup area for restore has been cleaned up. For a complete list of files/directories
deleted, Please refer log file.

OPatch succeeded.

[grid@byo87632:/oracle/app/product/grid]du -sg .patch_storage
21.56   .patch_storage



从40多G清理到20多G。



本文名称:清理.patch_storage目录
当前地址:http://pwwzsj.com/article/jssisc.html