¿Qué haremos en esta práctica?
- Actualizar una PDB individualmente (patching en una PDB específica)
- Actualizar toda la CDB y aplicar los cambios a todas las PDBs
- Revisar la versión antes y después de la actualización
- Aplicar un parche con OPatch en la CDB
- Actualizar estadísticas en la PDB después del patching
REQUISITOS PREVIOS
- Oracle 19c instalado y configurado
- CDB con al menos una PDB activa
- Acceso como SYSDBA
- Herramienta OPatch instalada en
$ORACLE_HOME/OPatch/ - Un parche descargado desde MOS (My Oracle Support)
PASO 1: Revisar la versión actual de la CDB y PDB
Antes de actualizar, revisemos las versiones actuales de CDB y PDB:
Ver versión de la CDB
Ejecuta en la CDB:
SELECT * FROM V$VERSION;
Ejemplo de salida:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Ver versión de una PDB específica
Conéctate a la PDB que deseas revisar:
ALTER SESSION SET CONTAINER = PDB_TEST;
SELECT * FROM V$VERSION;
PASO 2: Aplicar un parche en una PDB específica
Oracle permite aplicar parches a una PDB sin afectar a las demás. Para hacerlo:
Coloca la PDB en modo UPGRADE
ALTER PLUGGABLE DATABASE PDB_TEST CLOSE;
ALTER PLUGGABLE DATABASE PDB_TEST OPEN UPGRADE;
Ejecuta el script de actualización en la PDB
Desde el sistema operativo, ejecuta:
cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba
-- Conéctate a la PDB
ALTER SESSION SET CONTAINER = PDB_TEST;
-- Ejecuta el script de actualización
@catupgrd.sql
Finaliza la actualización y reabre la PDB
ALTER PLUGGABLE DATABASE PDB_TEST CLOSE;
ALTER PLUGGABLE DATABASE PDB_TEST OPEN;
Verifica la versión actualizada de la PDB
SELECT * FROM V$VERSION;
PASO 3: Aplicar un parche a TODA la CDB
Si en lugar de actualizar solo una PDB quieres aplicar un parche globalmente, sigue estos pasos:
Verifica los parches actuales
$ORACLE_HOME/OPatch/opatch lsinventory
Aplica el nuevo parche en la CDB
Coloca la base en modo restricción:
ALTER DATABASE OPEN UPGRADE;
Aplica el parche con OPatch:
cd $ORACLE_HOME/OPatch
./opatch apply
Ejecuta el script de actualización en todas las PDBs
sqlplus / as sysdba
@catupgrd.sql
Reinicia la base de datos
SHUTDOWN IMMEDIATE;
STARTUP;
PASO 4: Sincronizar la versión en todas las PDBs
Después de actualizar la CDB, es posible que algunas PDBs aún tengan una versión anterior. Para sincronizarlas:
ALTER PLUGGABLE DATABASE ALL OPEN UPGRADE;
@catcon.pl -d /u01/app/oracle/product/19c/dbhome_1/rdbms/admin -b catupgrd.sql -c 'PDB1 PDB2 PDB3'
Esto aplicará los cambios a todas las PDBs.
Luego, reabre todas las PDBs en modo normal:
ALTER PLUGGABLE DATABASE ALL OPEN;
PASO 5: Actualizar estadísticas de la PDB después del parche
Después de cualquier actualización, es importante regenerar las estadísticas del optimizador:
BEGIN
DBMS_STATS.GATHER_DICTIONARY_STATS;
DBMS_STATS.GATHER_SYSTEM_STATS;
DBMS_STATS.GATHER_DATABASE_STATS;
END;
/
PASO 6: Verificar que todo funciona correctamente
Verifica que la base de datos y las PDBs están abiertas y operativas:
SELECT NAME, OPEN_MODE FROM V$PDBS;
Verifica la versión final de Oracle:
SELECT * FROM V$VERSION;
Verifica que el parche se aplicó correctamente:
$ORACLE_HOME/OPatch/opatch lsinventory






Deja un comentario