sql >> Base de Datos >  >> RDS >> Oracle

Gran .patch_storage

Recibí una alerta de Enterprise Manager de que una de mis bases de datos de producción se estaba quedando sin espacio en disco. Lo rastreé hasta $GRID_HOME/.patch_storage, que consumía 30 GB de mi disco de 90 GB. ¡Ay!

Lo primero que hice fue ejecutar la rutina de limpieza de opatch como lo documenté aquí en 2013: http://www.peasland.net/2013/03/21/patch_storage/

Desafortunadamente, no limpió nada.

Esta vez tuve que recurrir a una limpieza manual. Estos son los pasos que hice.

Los archivos en .patch_storage comienzan con el número de molécula del parche y una marca de tiempo. Por ejemplo: 19582630 _14_nov_2014_21_43_23

Necesito preguntarle a opatch si ese parche todavía está en el inventario.

$ORACLE_HOME/OPatch/opatch lsinventory|grep 19582630
20075154, 20641027, 22271856, 20548410, 19016964, 19582630

lsinventory muestra que el parche está en el inventario. Paso al siguiente parche.

Cuando mi comando lsinventory no devuelve nada, el parche no está en el inventario. MOS Note 550522.1 dice que puede eliminar ese directorio ya que ya no es necesario. La personalidad siempre cautelosa de DBA en mí quiere asegurarse de que pueda recuperarme de un simple comando "rm -rf dir_name". Así que primero aplico tar y gzip en el directorio, luego elimino el directorio.

alquitrán cvf 25869825_3_julio_2017_23_11_58.tar 25869825_3_julio_2017_23_11_58

gzip 25869825_3_jul_2017_23_11_58.tar

rm -rf 25869825_3_julio_2017_23_11_58

Es un trabajo minucioso hacer esto para todos y cada uno de los parches. Estoy seguro de que alguien que es mejor que yo con sed, awk y shell scripting podría automatizar este proceso.

Siguiendo estos pasos, mi directorio .patch_storage se redujo de 30 GB a 11 GB.

El próximo trimestre, cuando vuelva a aplicar mi CPU, si opatch grita una falta y exige que se vuelvan a colocar, puedo descomprimir y extraer rápidamente el tarball y opatch debería estar contento.

Hice esta operación en $GRID_HOME pero también funcionará en $RDBMS_HOME. Además, dado que se trata de Oracle RAC, es posible que desee hacer esto en todos los nodos del clúster.