¿Qué haremos en esta práctica avanzada?

  • Hacer rollback (desinstalar un parche) en una PDB y en la CDB
  • Migrar una PDB de una versión anterior a una versión superior
  • Migrar toda la CDB a una versión superior

PASO 1: Hacer rollback de un parche en una PDB

Si un parche causó problemas en una PDB específica, podemos revertirlo (rollback) con OPatch.

Verifica los parches aplicados

$ORACLE_HOME/OPatch/opatch lsinventory

Esto mostrará una lista de los parches instalados en la CDB y las PDBs.

Identifica el número del parche a revertir

Busca el Patch ID en la lista de OPatch, por ejemplo:

Patch 31771877 : applied on Mon Feb 5 14:22:11 2024

El Patch ID es 31771877.

Cierra la PDB antes de hacer rollback

ALTER PLUGGABLE DATABASE PDB_TEST CLOSE;

Ejecuta OPatch para revertir el parche en la PDB

cd $ORACLE_HOME/OPatch
./opatch rollback -id 31771877

Reabre la PDB y verifica la reversión

ALTER PLUGGABLE DATABASE PDB_TEST OPEN;
SELECT * FROM V$VERSION;

PASO 2: Hacer rollback de un parche en la CDB

Si el parche afectó toda la CDB, puedes revertirlo globalmente.

Coloca la base en modo UPGRADE

ALTER DATABASE OPEN UPGRADE;

Ejecuta OPatch rollback en la CDB

cd $ORACLE_HOME/OPatch
./opatch rollback -id 31771877

Ejecuta el script de reversión en todas las PDBs

sqlplus / as sysdba
@catcon.pl -d /u01/app/oracle/product/19c/dbhome_1/rdbms/admin -b catdwgrd.sql -c 'ALL'

Reinicia la base y verifica

SHUTDOWN IMMEDIATE;
STARTUP;
SELECT * FROM V$VERSION;

PASO 3: Migrar una PDB de una versión anterior a una superior

Si tienes una PDB en Oracle 12c o 18c y deseas migrarla a 19c, sigue estos pasos.

En la base de datos antigua (ejemplo: 12c)

Ejecuta:

ALTER PLUGGABLE DATABASE PDB_TEST CLOSE;
ALTER PLUGGABLE DATABASE PDB_TEST UNPLUG INTO '/oradata/PDB_TEST.xml';

Copia los archivos de la PDB a la nueva base de datos:

cp -r /oradata/old_version/PDB_TEST /oradata/new_version/PDB_TEST

En la base de datos Oracle 19c

Ejecuta:

CREATE PLUGGABLE DATABASE PDB_TEST USING '/oradata/PDB_TEST.xml'
FILE_NAME_CONVERT = ('/old_version/', '/new_version/');

Coloca la PDB en modo upgrade:

ALTER PLUGGABLE DATABASE PDB_TEST OPEN UPGRADE;

Ejecuta el script de actualización:

sqlplus / as sysdba
@catupgrd.sql

Reabre la PDB:

ALTER PLUGGABLE DATABASE PDB_TEST CLOSE;
ALTER PLUGGABLE DATABASE PDB_TEST OPEN;

Verifica la versión:

SELECT * FROM V$VERSION;

PASO 4: Migrar toda la CDB a una versión superior

Si deseas migrar toda la CDB de Oracle 18c/12c a 19c, sigue estos pasos.

Respaldar la base de datos

Antes de la migración, realiza un backup con RMAN:

rman target /
BACKUP DATABASE PLUS ARCHIVELOG;

Coloca la base en modo upgrade

SHUTDOWN IMMEDIATE;
STARTUP UPGRADE;

Ejecuta el script de actualización en la CDB

sqlplus / as sysdba
@catupgrd.sql

Ejecuta el script en todas las PDBs

sqlplus / as sysdba
@catcon.pl -d /u01/app/oracle/product/19c/rdbms/admin -b catupgrd.sql -c 'ALL'

Reinicia la base

SHUTDOWN IMMEDIATE;
STARTUP;

Verifica que la migración fue exitosa:

SELECT * FROM V$VERSION;

Deja un comentario

Tendencias