Saludos, este blog tiene como objetivo explicar paso a paso como el parchado de una base de datos Oracle 19c, en si desde la versión 12 se mantienen la misma metodología.
A continuación el resumen de los pasos:
2. Descargar parche
3. Subir parche al host y Descomprimir parche
4. Listar los parches que se encuentran aplicados
5. Verificar posibles conflictos
6. Detener la base de datos y el listener
7. Respaldar el oracle home
8. Respaldar el oracle inventory
9. Aplicar patch
10. Listar los parches aplicados
11. Levantar la base de datos
12. Aplicar los cambios del SQL asociados al parche
13. Revisar en el SQL el patch aplicado y revisar si hay objetos descompilados
14. Levantar el listener
1. Identificar
que parche se necesita y oracle home
Para aplicar un parche a la base de datos oracle primero
debemos tener en cuenta que sistema operativo tenemos, la arquitectura, edición
de la base de datos y versión.
Sistema operativo
Base de datos
Identificar el Oracle Home
[root@oracledb01
~]# su - oracle |
2. Descargar
parche
Con los datos previos procedemos a buscar el parche adecuado en el Oracle Support
Vemos las recomendaciones y seleccionamos el patch para base
de datos y descargamos la mas reciente
3. Subir
parche al host y Descomprimir parche
En el host de base de datos subimos el parche descargado,
para luego descomprimir. Vamos a usar una carpeta de trabajo backup
Descomprimimos
cd /u01/app/backup/ |
La carpeta descomprimida es la 35320081, ahí se encuentra el
patch
4. Listar
los parches que se encuentran aplicados
[oracle@oracledb01 backup]$ /u01/app/oracle/product/19.3/db_home/OPatch/opatch lsinv
-oh /u01/app/oracle/product/19.3/db_home |
5. Verificar
posibles conflictos
Antes de aplicar verificaremos si el parche no muestra
conflictos con la actual instalación
[oracle@oracledb01 ~]$ /u01/app/oracle/product/19.3/db_home/OPatch/opatch
prereq CheckConflictAgainstOHWithDetail -ph /u01/app/backup/35320081/ |
El parche no muestra conflictos
6. Detener
la base de datos y el listener
Detener base de datos
[oracle@oracledb01 ~]$ sqlplus / as sysdba |
Detener el listener
[oracle@oracledb01 ~]$ lsnrctl stop |
7. Respaldar
el oracle home
En caso de un fallo en la aplicación del parche debemos
restaurar estos archivos
[oracle@oracledb01 /]$ cd $ORACLE_BASE/product |
8. Respaldar
el oracle inventory
Identificar donde esta la cartpeta inventory y respaldar
para que en un caso de un fallo en la aplicación del parche debemos restaurar
estos archivos
[oracle@oracledb01
product]$ cat
/etc/oraInst.loc |
9.
Aplicar patch
Ahora si, aplicar el patch
[oracle@oracledb01
db_home]$ cd
/u01/app/backup/35320081 |
10. Listar
los parches aplicados
[oracle@oracledb01
35320081]$ /u01/app/oracle/product/19.3/db_home/OPatch/opatch
lsinv -oh /u01/app/oracle/product/19.3/db_home |
11. Levantar
la base de datos
[oracle@oracledb01
db_home]$ cd $ORACLE_HOME |
12. Aplicar
los cambios del SQL asociados al parche
[oracle@oracledb01
db_home]$ /u01/app/oracle/product/19.3/db_home/OPatch/datapatch
-verbose |
13. Revisar
en el SQL el patch aplicado y revisar si hay objetos descompilados
Revisar el patch sql aplicado
[oracle@oracledb01
db_home]$ sqlplus / as
sysdba |
Verificar
si hay objetos descompilados
SQL> select count(*) from dba_objects
where status='INVALID'; |
14. Levantar
el listener
Y por último levantar el listener
[oracle@oracledb01
db_home]$ lsnrctl start |