Aprende a parchar como Dios manda (S3E2)

Durante el desarrollo de esta serie de artículos sobre parchado, se ha hecho evidente la ventaja de usar Gold Images y, afortunadamente, AutoUpgrade 26.2 ahora permite su descarga y uso. A continuación les mostraré los resultados de mis pruebas, pero les recomiendo leer primero este artículo para recordar cómo se hacían las cosas anteriormente.

Escenario Inicial

Queremos implementar el Release Update más reciente (23.26.1) en nuestras instalaciones con Oracle 26ai, incluyendo los parches sugeridos y la versión más actual de OPatch, todo para Linux:

38743961Database Release Update 23.26.1.0.0 (GOLD IMAGE)
38842609Datapump Bundle Patch 23.26.1.0.0
37393792ORA-12850 reported after applying DBRU on first node
6880880OPatch 12.2.0.1.49 for DB 23.0.0.0.0 (Jan 2026)

Descarga de Gold Image

AutoUpgrade requiere de configuraciones iniciales que he detallado en este artículo, por lo que te recomiendo revisarlo si no lo has hecho aún, ya que en adelante se asume que esta configuración ya fue ejecutada.

AutoUpgrade 26.2 añade el parámetro gold_image para controlar la forma en que se hará la descarga del software y su tratamiento. Los valores posibles son:

NONo se solicita un Gold Image, sino que se descargan los parches uno a uno.
YESSe solicita un Gold Image, pero este no incluirá los patches one-off, estos se descargan individualmente.
ALLSe solicita un Gold Image conteniendo todos los parches listados.
AUTOAutoUpgrade decidirá si usa YES o NO.

Ya que deseamos que se genere un Gold Image listo para usar en la instalación, usaremos gold_image=ALL, como se observa en el archivo de configuración download.cfg:

global.global_log_dir=/stage/autoupgrade/log
global.keystore=/stage/autoupgrade/keystore
global.folder=/stage/autoupgrade/patches

patch1.patch=RU:23.26.1,OPATCH,DPBP,37393792
patch1.platform=LINUX.X64
patch1.gold_image=ALL

Hacemos una primera invocación a AutoUpgrade, para ejecutar la descarga en sí, con -mode download:

$ java -jar autoupgrade.jar -config download.cfg -patch -mode download

AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded

Connected to Oracle Updater service - Requesting gold images
AutoUpgrade Patching has finished processing the gold image requests

------------------------------------------------------------------------
Downloading files to /stage/autoupgrade/patches
------------------------------------------------------------------------
Gold Image - 23.26.1
    File: autoupgrade_linux-x86-64_23.26.1_db_home.zip - VALIDATED
------------------------------------------------------------------------

Demoró casi una hora, pero finalmente tenemos el Gold Image solicitado. ¡Así de simple!

Instalación usando el Gold Image

Necesitamos un nuevo archivo de configuración, el cual llamaremos create_oh.cfg.

Como lo usual es que los parches se descarguen desde un servidor con acceso a internet, pero la instalación del software se hace en servidores aislados del internet, en la línea 3 indicamos la ubicación de los parches dentro de una carpeta compartida por NFS.

global.global_log_dir=/home/oracle/autoupgrade/log
global.keystore=/home/oracle/autoupgrade/keystore
global.folder=/NFS/autoupgrade/patches

install1.patch=RU:23.26.1,OPATCH,DPBP,37393792
install1.platform=LINUX.X64
install1.download=no
install1.gold_image=ALL

install1.target_home=/u01/app/oracle/23.0.0/db_2
install1.home_settings.oracle_base=/u01/app/oracle
install1.home_settings.edition=EE
install1.home_settings.inventory_location=/u01/app/oraInventory
install1.home_settings.home_name=DBHome2
install1.home_settings.osdba_group=dba
install1.home_settings.osbackupdba_group=backupdba
install1.home_settings.osdgdba_group=dgdba
install1.home_settings.oskmdba_group=kmdba
install1.home_settings.osracdba_group=racdba
Hacemos una segunda invocación a AutoUpgrade, esta vez para ejecutar la instalación, con -mode create_home:
$ java -jar autoupgrade.jar -config create_oh.cfg -patch -mode create_home

AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded

There were conditions found preventing AutoUpgrade Patching from successfully running

*Validating Oracle Patch files
Unable to find any gold image containing the requested patches--

Nos topamos con el primer problema: AutoUpgrade no reconoce como válido el Gold Image que acabamos de descargar.

Luego de revisar los logs sin encontrar nada evidente, era hora de recurrir a los ingenieros a cargo de AutoUpgrade, quienes finalmente me indican que al hacer descargas se genera un archivo en el que se registra el mapeo de las etiquetas de los parches conocidos con su respectivo patch number.

Como estoy instalando en un servidor distinto al servidor en el que hice la descarga, este archivo no existe y por tanto AutoUpgrade no sabe cuál es el número de parche para, en mi caso, DPBP.

Este archivo se llama aru-bug-map.json y en mi instalación tiene este contenido (formateado para mejor lectura):

[
  {
    "prefix": "OJVM",
    "version": "19.30",
    "bugNumber": 38523609
  },
  {
    "prefix": "DPBP",
    "version": "19.30",
    "bugNumber": 38844733
  },
  {
    "prefix": "DPBP",
    "version": "23.26.1",
    "bugNumber": 38842609
  },
  {
    "prefix": "JDK",
    "version": "19.30",
    "bugNumber": 38586770
  },
  {
    "prefix": "OCW",
    "version": "19.30",
    "bugNumber": 38629535
  }
]

En las líneas 13-15 vemos que DPBP para Oracle 23.26.1 es el parche 38842609.

Procedemos a copiar el archivo en el servidor en el que estamos haciendo la instalación:

$ cp /NFS/autoupgrade/log/cfgtoollogs/patch/auto/aru/aru-bug-map.json \
/stage/autoupgrade/log/cfgtoollogs/patch/auto/aru/.
Hacemos una tercera invocación a AutoUpgrade:
$ java -jar autoupgrade.jar -config create_oh.cfg -patch -mode create_home

AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded

There were conditions found preventing AutoUpgrade Patching from successfully running

*Validating Oracle Patch files
Unable to find any gold image containing the requested patches--

El problema persiste: AutoUpgrade no reconoce el Gold Image como válido para nuestro requerimiento y ¡nadie tiene idea de qué puede estar pasando!

Ahora lo ves, ahora no lo ves

En este artículo Rodrigo Jorge nos muestra cómo inspeccionar los parches contenidos en un Gold Image que ha descargado con AutoUpgrade, así que decido aplicarlo a mi caso:

$ unzip -j /NFS/autoupgrade/patches/autoupgrade_linux-x86-64_23.26.1_db_home.zip \
inventory/ContentsXML/oui-patch.xml

Archive:  /NFS/autoupgrade/patches/db_home_23_26_1-gold.zip
  inflating: oui-patch.xml
  
$ xmllint --xpath '//ONEOFF[@TYPE="unknown"]/DESC' oui-patch.xml \
     | sed 's:</DESC>:</DESC>\n:g' \
     | sed -n 's:.*<DESC>\(.*\)</DESC>:\1:p'

Database Release Update : 23.5.0.24.07 (36741532) Gold Image
OCW RELEASE UPDATE 23.5.0.24.07 (36744688) Gold Image
Database Release Update : 23.26.1.0.0 (38743669)
OCW RELEASE UPDATE 23.26.1.0.0 (38743688)
DATAPUMP BUNDLE PATCH 23.26.1.0.0

¡Gran sorpresa! No se observa la presencia del parche 37393792; solamente aparecen el RU 23.26.1, OCW y DPBP.

¿Se trata de un bug de AutoUpgrade o uno del servicio de creación de Gold Images de My Oracle Support? Eso es algo que está por ser determinado; al menos ya lo puse en conocimiento de los ingenieros a cargo de AutoUpgrade, y concordamos en que no es mala idea que luego de la descarga este valide que el Gold Image contiene en efecto todos los parches solicitados.

Descarga de Gold Image, segundo intento

Mientras Oracle investiga qué pasó y lo resuelve, tendremos que lidiar con el problema como mejor podamos.

Empezaremos por obtener el parche faltante, usando gold_image=AUTO.

global.global_log_dir=/stage/autoupgrade/log
global.keystore=/stage/autoupgrade/keystore
global.folder=/stage/autoupgrade/patches

patch1.patch=RU:23.26.1,OPATCH,DPBP,37393792
patch1.platform=LINUX.X64
patch1.gold_image=AUTO

AutoUpgrade compara la lista de parches detallada en el archivo de configuración, analiza los parches disponibles en la carpeta de descarga, determina lo faltante y procede a descargarlo.

$ java -jar autoupgrade.jar -config download.cfg -patch -mode download

AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded

Connected to Oracle Updater service - Requesting gold images
AutoUpgrade Patching has finished processing the gold image requests

Connected to MOS - Searching for specified patches

------------------------------------------------------------------------
Downloading files to /stage/autoupgrade/patches
------------------------------------------------------------------------
OPatch 12.2.0.1.49 for DB 23.0.0.0.0 (Jan 2026)
    File: p6880880_230000_Linux-x86-64.zip - VALIDATED

ORA-12850 REPORTED AFTER APPLYING DBRU ON FIRST NODE
    File: p37393792_2326100DBRU_Linux-x86-64.zip - VALIDATED
------------------------------------------------------------------------

Creando Gold Image completo

Como AutoUpgrade no logró descargar un Gold Image completo, no nos queda más que crearlo nosotros mismos.

El primer paso será editar el archivo de configuración para indicarle a AutoUpgrade que para la instalación use lo ya descargado, con gold_image=AUTO.

global.global_log_dir=/home/oracle/autoupgrade/log
global.keystore=/home/oracle/autoupgrade/keystore
global.folder=/NFS/autoupgrade/patches

install1.patch=RU:23.26.1,OPATCH,DPBP,37393792
install1.platform=LINUX.X64
install1.download=no
install1.gold_image=AUTO

install1.target_home=/u01/app/oracle/23.0.0/db_2
install1.home_settings.oracle_base=/u01/app/oracle
install1.home_settings.edition=EE
install1.home_settings.inventory_location=/u01/app/oraInventory
install1.home_settings.home_name=DBHome2
install1.home_settings.osdba_group=dba
install1.home_settings.osbackupdba_group=backupdba
install1.home_settings.osdgdba_group=dgdba
install1.home_settings.oskmdba_group=kmdba
install1.home_settings.osracdba_group=racdba

Invocamos nuevamente a AutoUpgrade y esperamos.

$ java -jar autoupgrade.jar -config create_oh.cfg -patch -mode create_home

AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded
+-----------------------------------------+
| Starting AutoUpgrade Patching execution |
+-----------------------------------------+
Type 'help' to list console commands
patch> Job 100 completed
------------------- Final Summary --------------------
Number of databases            [ 1 ]

Jobs finished                  [1]
Jobs failed                    [0]
Jobs restored                  [0]
Jobs pending                   [0]

# Run the root.sh script as root for the following jobs:
For create_home_1 -> /u01/app/oracle/23.0.0/db_2/root.sh

Please check the summary report at:
/home/oracle/autoupgrade/log/cfgtoollogs/patch/auto/status/status.html
/home/oracle/autoupgrade/log/cfgtoollogs/patch/auto/status/status.log

AutoUpgrade usó el Gold Image y parches descargados, finalizando la instalación sin problemas, como se observa en los logs.

2026-02-15 11:16:37.234 INFO The following patches will be used for this job:
/vagrant_software/autoupgrade/patches/autoupgrade_linux-x86-64_23.26.1_db_home.zip - Database Release Update : 23.26.1.0.0 (38743669)
/vagrant_software/autoupgrade/patches/p6880880_230000_Linux-x86-64.zip - OPatch - 12.2.0.1.49
/vagrant_software/autoupgrade/patches/p37393792_2326100DBRU_Linux-x86-64.zip - ORA-12850 REPORTED AFTER APPLYING DBRU ON FIRST NODE
2026-02-15 11:16:37.395 INFO No user defined actions were specified
2026-02-15 11:16:37.457 INFO The file /vagrant_software/autoupgrade/patches/autoupgrade_linux-x86-64_23.26.1_db_home.zip is being extracted to /u01/app/oracle/23.0.0/db_2
2026-02-15 11:17:52.583 INFO Successfully extracted the gold image to /u01/app/oracle/23.0.0/db_2
2026-02-15 11:17:52.620 INFO The file /vagrant_software/autoupgrade/patches/p6880880_230000_Linux-x86-64.zip is being extracted to /u01/app/oracle/23.0.0/db_3
2026-02-15 11:17:52.917 INFO The existing autoupgrade.jar is not going to be updated within the new ORACLE_HOME

Ahora tenemos un Oracle Home con todos los parches, verificado con opatch.

$ $ORACLE_HOME/OPatch/opatch lspatches
37393792;ORA-12850 REPORTED AFTER APPLYING DBRU ON FIRST NODE
38842609;DATAPUMP BUNDLE PATCH 23.26.1.0.0
38743688;OCW RELEASE UPDATE 23.26.1.0.0 (38743688)
38743669;Database Release Update : 23.26.1.0.0 (38743669)

Procedemos a crear manualmente el Gold Image en base al Oracle Home que acabamos de instalar.

${ORACLE_HOME}/runInstaller -silent -createGoldImage \
-destinationLocation /NFS/autoupgrade/patches \
-name db_home_23_26_1-gold.zip

Launching Oracle AI Database Setup Wizard...

Successfully Setup Software.
Gold Image location: /NFS/autoupgrade/patches/db_home_23_26_1-gold.zip

El resultado final es que ahora tenemos el Gold Image incompleto generado por AutoUpgrade, y uno completo que hemos creado nosotros mismos; es este último el que podemos usar en el parchado de todos los servidores que lo requieran.

$ ls -la /NFS/autoupgrade/patches

total 8176436
drwxrwxr-x 2 Feb 15 12:39 .
drwxrwxr-x 8 Feb 15 12:30 ..
-rw-rw-r-- 1 Feb 15 12:27 autoupgrade_linux-x86-64_23.26.1_db_home.zip
-rw-r--r-- 1 Feb 15 12:45 db_home_23_26_1-gold.zip
-rw-rw-r-- 1 Feb 15 12:30 p37393792_2326100DBRU_Linux-x86-64.zip
-rw-rw-r-- 1 Feb 15 12:30 p6880880_230000_Linux-x86-64.zip
-rw-rw-r-- 1 Feb 15 12:30 patches_info.json

Instalación usando el Gold Image, segundo intento

Ya tenemos un Gold Image con todos los parches necesarios, por lo que editamos el archivo de configuración para indicarle a AutoUpgrade que en la instalación use exclusivamente Gold Images, lo que logramos con gold_image=ALL.
global.global_log_dir=/home/oracle/autoupgrade/log
global.keystore=/home/oracle/autoupgrade/keystore
global.folder=/NFS/autoupgrade/patches

install1.patch=RU:23.26.1,OPATCH,DPBP,37393792
install1.platform=LINUX.X64
install1.download=no
install1.gold_image=ALL

install1.target_home=/u01/app/oracle/23.0.0/db_3
install1.home_settings.oracle_base=/u01/app/oracle
install1.home_settings.edition=EE
install1.home_settings.inventory_location=/u01/app/oraInventory
install1.home_settings.home_name=DBHome3
install1.home_settings.osdba_group=dba
install1.home_settings.osbackupdba_group=backupdba
install1.home_settings.osdgdba_group=dgdba
install1.home_settings.oskmdba_group=kmdba
install1.home_settings.osracdba_group=racdba

Dejamos que AutoUpgrade haga lo suyo y esperamos.

$ java -jar autoupgrade.jar -config create_oh.cfg -patch -mode create_home

AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded
+-----------------------------------------+
| Starting AutoUpgrade Patching execution |
+-----------------------------------------+
Type 'help' to list console commands
patch> Job 100 completed
------------------- Final Summary --------------------
Number of databases            [ 1 ]

Jobs finished                  [1]
Jobs failed                    [0]
Jobs restored                  [0]
Jobs pending                   [0]

# Run the root.sh script as root for the following jobs:
For create_home_1 -> /u01/app/oracle/23.0.0/db_3/root.sh

Please check the summary report at:
/home/oracle/autoupgrade/log/cfgtoollogs/patch/auto/status/status.html
/home/oracle/autoupgrade/log/cfgtoollogs/patch/auto/status/status.log

Autouprade usó el nuevo Gold Image y finalizó la instalación, como se observa en los logs.

2026-02-15 12:35:32.578 INFO The following patches will be used for this job:
/NFS/autoupgrade/patches/db_home_23_26_1-gold.zip - Database Release Update : 23.26.1.0.0 (38743669)
2026-02-15 12:35:32.698 INFO No user defined actions were specified
2026-02-15 12:35:32.732 INFO The file /NFS/autoupgrade/patches/db_home_23_26_1-gold.zip is being extracted to /u01/app/oracle/23.0.0/db_3
2026-02-15 12:36:46.412 INFO Successfully extracted the gold image to /u01/app/oracle/23.0.0/db_3
2026-02-15 12:36:46.453 INFO The existing OPatch tool is not going to be updated within the new ORACLE_HOME
2026-02-15 12:36:46.453 INFO The existing autoupgrade.jar is not going to be updated within the new ORACLE_HOME

Luego de tantos intentos, por fin tenemos un Oracle Home con todos los parches solicitados, verificado con opatch.

$ $ORACLE_HOME/OPatch/opatch lspatches
37393792;ORA-12850 REPORTED AFTER APPLYING DBRU ON FIRST NODE
38842609;DATAPUMP BUNDLE PATCH 23.26.1.0.0
38743688;OCW RELEASE UPDATE 23.26.1.0.0 (38743688)
38743669;Database Release Update : 23.26.1.0.0 (38743669)

Conclusiones

Es el tercer artículo que escribo sobre AutoUpgrade, y como habrán podido notar, es una herramienta que nos simplifica las tareas de descarga de parches y la instalación de un nuevo Oracle Home, pero presenta algunas limitaciones y bugs que nos obligan a complementarlo con tareas manuales:

  1. Si deseamos un one-off, nos obliga a descargar el RU. Mejora sugerida: Permitir que se indique el RU asociado al parche (patches=37393792:23.26.0).
  2. Solo permite descargar parches asociados al RU, no a OJVM. Ejemplo: parche 38844367, recomendado para RU 19.30.
  3. El Gold Image descargado no siempre tiene todos los parches solicitados. Mejora sugerida: validación final de la lista de parches en el archivo obtenido de MOS.
  4. Al crear un nuevo Oracle Home en un servidor distinto al que se usó para descargar el Gold Image, no puede mapear las etiquetas (DPBP, OCW, etc.) con sus respectivos números de parche. Existen 2 workarounds: (a) usar directamente el número de parche (38842609) en lugar de la etiqueta (DPBP); (b) copiar el archivo aru-bug-map.json.

Independientemente de esto, AutoUpgrade es una herramienta completamente funcional para prácticamente todos los escenarios rutinarios, por lo que reitero mi recomendación de que empieces a probarlo lo antes posible, ¡sin dudas te hará la vida más fácil!

Posts Recientes

AutoUpgrade patching - final situation
Aprende a parchar una base de datos Oracle Single Instance con AutoUpgrade.
www.freepik.com
Aprenda a descargar los parches de Oracle, usando el utilitario autoupgrade en adicion a getMOSPatch.
www.freepik.com
Mi selección de los 5 mejores artículos sobre Oracle, publicados en enero de 2026.
www.freepik.com
Mi selección de los 5 mejores artículos sobre Oracle, publicados en diciembre de 2025.
Hide column contents
Use Real Application Security para ocultar los contenidos de columnas, dinámicamente y sin tener que modificar las aplicaciones.
www.vecteezy.com/free-vector/online
Mi selección de los 5 mejores artículos sobre Oracle, publicados en noviembre de 2025.

¿Necesitas Ayuda?

Completa estos datos y estaré en contacto a la brevedad.