Saya menerima peringatan dari Manajer Perusahaan bahwa salah satu basis data produksi saya kehabisan ruang disk. Saya melacaknya ke $GRID_HOME/.patch_storage yang menghabiskan 30GB dari drive 90GB saya. Astaga!
Hal pertama yang saya lakukan adalah menjalankan rutinitas pembersihan opatch seperti yang saya dokumentasikan di sini pada tahun 2013: http://www.peasland.net/2013/03/21/patch_storage/
Sayangnya, itu tidak membersihkan apa pun.
Kali ini, saya harus menggunakan pembersihan manual. Berikut langkah-langkah yang saya lakukan.
File dalam .patch_storage dimulai dengan nomor molekul patch dan stempel waktu. Misalnya: 19582630 _Nov_14_2014_21_43_23
Saya perlu bertanya kepada opatch apakah tambalan itu masih ada di inventaris.
$ORACLE_HOME/OPatch/opatch lsinventory|grep 19582630
20075154, 20641027, 22271856, 20548410, 19016964, 19582630
lsinventory menunjukkan tambalan ada di inventaris. Saya pindah ke patch berikutnya.
Ketika perintah lsinventory saya tidak mengembalikan apa pun, tambalan tidak ada dalam inventaris. MOS Note 550522.1 mengatakan Anda dapat menghapus direktori tersebut karena tidak lagi diperlukan. Kepribadian DBA yang selalu berhati-hati dalam diri saya ingin memastikan saya dapat pulih dari perintah sederhana "rm -rf dir_name". Jadi saya tar dan gzip direktori terlebih dahulu, lalu hapus direktori.
tar cvf 25869825_Jul_3_2017_23_11_58.tar 25869825_Jul_3_2017_23_11_58
gzip 25869825_Jul_3_2017_23_11_58.tar
rm -rf 25869825_Jul_3_2017_23_11_58
Kerja kerasnya melakukan ini untuk setiap tambalan. Saya yakin seseorang yang lebih baik dari saya dengan skrip sed dan awk dan shell dapat mengotomatiskan proses ini.
Dengan mengikuti langkah-langkah ini, direktori .patch_storage saya turun dari 30GB menjadi 11GB.
Kuartal berikutnya ketika saya menerapkan CPU saya lagi, jika opatch menangis dan meminta ini ditempatkan kembali, saya dapat dengan cepat membuka ritsleting dan mengekstrak tarball dan opatch seharusnya senang.
Saya melakukan operasi ini pada $GRID_HOME tetapi juga akan berfungsi pada $RDBMS_HOME. Juga, karena ini adalah Oracle RAC, saya mungkin ingin melakukan ini pada semua node dalam cluster.