DBAtlas · Atlas de operaciones de bases de datos

Actualizar la capa SQL con datapatch -verbose tras un parche binario

OracleParches y ciclo de vida

Comando

# 1) After the binary patch (opatch apply), start the DB; all PDBs must be open:
sqlplus / as sysdba <<EOF
STARTUP;
ALTER PLUGGABLE DATABASE ALL OPEN;
EXIT;
EOF

# 2) Check only first, then apply:
cd $ORACLE_HOME/OPatch
./datapatch -prereq
./datapatch -verbose
# For specific PDBs: ./datapatch -verbose -pdbs PDB1,PDB2

# 3) Recompile invalid objects:
sqlplus / as sysdba @?/rdbms/admin/utlrp.sql

# Logs: $ORACLE_BASE/cfgtoollogs/sqlpatch/

Qué hace

datapatch aplica los componentes SQL/PL-SQL (diccionario, paquetes) de los parches binarios del Oracle Home a CDB root, PDB$SEED y todas las PDB abiertas, y registra el resultado en DBA_REGISTRY_SQLPATCH. También revierte la parte SQL de los parches desinstalados.

Cuándo usarlo

Tras cada parche binario RU/RUR/one-off o su rollback; para PDB movidas o desconectadas/conectadas en un home recién parcheado; y para volver a ejecutarlo cuando DBA_REGISTRY_SQLPATCH muestra WITH ERRORS.

Precaución

Las PDB cerradas o en MOUNTED no se parchean y pueden abrirse en modo RESTRICTED; ábralas todas primero. No lo ejecute con mucha carga (bloqueos del diccionario, invalidación de paquetes). En RAC ejecútelo una sola vez desde un único nodo. Con Data Guard ejecute datapatch solo en el primario; los cambios llegan al standby mediante redo (parchee primero los binarios del standby).

Abrir en DBAtlas →

Relacionado