En un artículo publicado en julio de 2024, les enseñé a utilizar getMOSPatch para descargar parches sin necesidad de acceder al sitio web de My Oracle Support. Aunque AutoUpgrade añadió una función similar, me parecía algo limitada en comparación y por eso no la consideré.
Ya estamos en 2026 y AutoUpgrade ha experimentado mejoras significativas, por lo que es un momento adecuado para hacer otra evaluación y compararlo con getMOSPatch. Veamos.
Escenario
Conforme a la lista que sigue, queremos implementar el Release Update más reciente (23.26.1) en nuestras instalaciones con Oracle 26ai, así como los parches sugeridos y la versión más actual de OPatch, todo para Linux:
| 38743961 | Database Release Update 23.26.1.0.0 (GOLD IMAGE) |
| 38842609 | Datapump Bundle Patch 23.26.1.0.0 |
| 37393792 | ORA-12850 reported after applying DBRU on first node |
| 6880880 | OPatch 12.2.0.1.49 for DB 23.0.0.0.0 (Jan 2026) |
getMOSPatch
Solo los one-off están asociados al RU 23.26.1, mientras que el resto de parches no dependen del RU sino que están asociados con 26ai en sí, por lo que se va a requerir de 2 llamados a getMOSPatch, con distintos valores para regexp:
java -jar getMOSPatch.jar \
MOSUser=enrique@gmail.com \
MOSPass=Oracle_4U$ \
stagedir="/stage" \
patch=38743961,6880880 \
regexp=.*230000.* \
platform=226P download=all
We're going to download patches for the following Platforms/Languages:
226P - Platform 226P
Processing patch 38743961 for Platform 226P and applying regexp .*230000.* to the filenames:
1 - p38743961_230000_Linux-x86-64.zip
Enter Comma separated files to download: all
All files will be downloaded because download=all was specified.
Processing patch 6880880 for Platform 226P and applying regexp .*230000.* to the filenames:
1 - p6880880_230000_Linux-x86-64.zip
Enter Comma separated files to download: all
All files will be downloaded because download=all was specified.
Downloading all selected files:
Downloading p38743961_230000_Linux-x86-64.zip: 2294MB at average speed of 111050KB/s - DONE!
Downloading p6880880_230000_Linux-x86-64.zip: 24MB at average speed of 106148KB/s - DONE!
java -jar getMOSPatch.jar \
MOSUser=enrique@gmail.com \
MOSPass=Oracle_4U$ \
stagedir="/stage" \
patch=37393792,38842609 \
regexp=.*2326100.* \
platform=226P download=all
We're going to download patches for the following Platforms/Languages:
226P - Platform 226P
Processing patch 37393792 for Platform 226P and applying regexp .*2326100.* to the filenames:
1 - p37393792_2326100DBRU_Linux-x86-64.zip
Enter Comma separated files to download: all
All files will be downloaded because download=all was specified.
Processing patch 38842609 for Platform 226P and applying regexp .*2326100.* to the filenames:
1 - p38842609_2326100DBRU_Generic.zip
Enter Comma separated files to download: all
All files will be downloaded because download=all was specified.
Downloading all selected files:
Downloading p37393792_2326100DBRU_Linux-x86-64.zip: 0MB at average speed of 6000KB/s - DONE!
Downloading p38842609_2326100DBRU_Generic.zip: 2MB at average speed of 38743KB/s - DONE!
AutoUpgrade
Se necesita un Wallet donde se registren las credenciales para la conexión a My Oracle Support, así que como primer paso, vamos a crear un archivo de configuración, el cual denominaremos 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
En él señalamos la ubicación del Wallet (línea 2), el directorio para descargar los parches (línea 3), los parches que necesitamos (línea 5) y la plataforma preferida (línea 6).
Ahora necesitamos crear el Wallet, por lo que hacemos una primera invocación a AutoUpgrade, con load_password:
java -jar autoupgrade.jar \
-config download.cfg \
-patch -load_password
Processing config file ...
Starting AutoUpgrade Patching Password Loader - Type help for available options
Creating new AutoUpgrade Patching keystore - Password required
Enter password:
Enter password again:
AutoUpgrade Patching keystore was successfully created
MOS> add -user enrique@gmail.com
Enter your secret/Password:
Re-enter your secret/Password:
MOS> save
Convert the AutoUpgrade Patching keystore to auto-login [YES|NO] ? YES
MOS> exit
AutoUpgrade Patching Password Loader finished - Exiting AutoUpgrade Patching
Ingresamos la contraseña del Wallet (líneas 9 y 10), luego señalamos el usuario y la contraseña de My Oracle Support (líneas 13 a 15).
Finalmente grabamos (línea 16) y se nos pregunta si deseamos auto-login (línea 17), lo cual aceptamos para no tener que ingresar la contraseña del Wallet.
$ ls -la /stage/autoupgrade/keystore
total 8
drwx------ 2 oracle oinstall 90 Feb 1 10:57 .
drwxr-xr-x 5 oracle oinstall 87 Feb 1 10:56 ..
-rw------- 1 oracle oinstall 525 Feb 1 10:57 cwallet.sso
-rw------- 1 oracle oinstall 0 Feb 1 10:57 cwallet.sso.lck
-rw------- 1 oracle oinstall 413 Feb 1 10:57 ewallet.p12
-rw------- 1 oracle oinstall 0 Feb 1 10:57 ewallet.p12.lck
java -jar autoupgrade.jar \
-config download.cfg \
-patch -mode download
AutoUpgrade Patching 25.6.251016 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded
Connected to MOS - Searching for specified patches
------------------------------------------------------------------------
Downloading files to /stage/autoupgrade/patches
------------------------------------------------------------------------
DATABASE RELEASE UPDATE 23.26.1.0.0 (GOLD IMAGE)
File: p38743961_230000_Linux-x86-64.zip - VALIDATED
DATAPUMP BUNDLE PATCH 23.26.1.0.0
File: p38842609_2326100DBRU_Generic.zip - VALIDATED
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
------------------------------------------------------------------------
Análisis comparativo
Ambos utilitarios cumplieron con el objetivo de descarga, pero se observan claras diferencias:
| getMOSPatch | AutoUpgrade |
|---|---|
| Se debe proveer las credenciales en cada invocación | Las credenciales residen en un Wallet |
| Es necesario conocer el id de cada patch | No necesitamos el id de patches conocidos como RU,OJVM,OPATCH,etc |
| En caso de que un patch exista para varios RU, se puede precisar cuál necesitamos usando regexp | En caso de que un patch exista para varios RU, se puede precisar cuál necesitamos con RU:x.y |
| Se descarga el patch aun cuando ya esté presente en el folder configurado | Se descarga el patch solo cuando no está presente en el folder configurado |
| Solo se descargan los patches listados, sin considerar las dependencias | Al descargar un patch se descarga también el RU asociado, así no lo necesitemos |
Conclusiones
AutoUpgrade ha experimentado una mejora considerable, hasta el punto de que se convertirá en mi herramienta principal para la descarga de parches; sin embargo, cuando sólo requiero un parche one-off, probablemente utilice getMOSPatch porque no me obliga a descargar el RU asociado.
Si una futura versión de AutoUpgrade permite especificar el RU para el cual deseamos el one-off, con algo como: patch=37393792:23.26.1, entonces ya no tendré necesidad de usar getMOSPatch.
Teniendo en cuenta que AutoUpgrade se va haciendo cada vez más complejo, aprovecho para mencionar el trabajo excepcional de Marcus Vinicius, quien ha creado la aplicación AutoUpgrade Composer; esta facilita en gran medida el proceso de creación del archivo de configuración necesario.
Para complementar lo aquí expuesto, les recomiendo las siguientes lecturas:
| Autoupgrade : How to download patches with Autoupgrade ? (KB790461) |
| AutoUpgrade-Composer: Downloading Patches with Download Mode |
| Downloading Oracle Patches using CLI with AutoUpgrade Patching |