Hola a todos,
Hoy vamos a hablar de la herramienta Autoupgrade que nos ofrece Oracle para hacer upgrade de versiones, e incluso en un mismo paso convertir a multitenant en una PDB. Ya hemos usado la herramienta en varios proyectos de upgrade, y nos hemos encontrado que es cierto que es muy sencilla de usar, y la información de requisitos a solucionar para poder hacer upgrade de versiones es bastante sencilla de comprender.
Autoupgrade step by step
Autoupgrade es la nueva herramienta que ofrece Oracle para realizar el upgrade de versiones. Es una herramienta que aparece en el motor de Oracle a partir de la versión 19.3, y se puede encontrar en la ruta $ORACLE_HOME/rdbms/admin.
De todos modos, Oracle recomienda que si se va a utilizar se descargue la última versión de la herramienta, para que esté lo más actualizada posible.
En cuanto a versiones, la mínima versión de BBDD que se puede actualizar es v11.2.0.4.
Y se puede actualizar a las siguientes versiones al menos:
- v12.2.0.1 con RU de Jan2019 o superior
- v18.5.0 o superior
- v19.3.0 o superior
Los pasos para realizar el upgrade son los siguientes, y en este orden:
- Crear y modificar el fichero de configuración de autoupgrade
- Analyze
- Fixups
- Deploy

Crear y modificar el fichero de configuración
El primer paso es crear un fichero de configuración. Para ello se utiliza el siguiente comando, que crea un fichero llamado sample_config.cfg
java -jar autoupgrade.jar -create_sample_file config config_aupgr_file.cfg
Con la sentencia se genera el fichero que hay que modificar con los datos de las BBDD de las que queremos hacer el upgrade. Se puede hacer upgrade de varias BBDD a la vez, simplemente indicando los datos para cada una de ellas.
Los datos que hay que modificar son los siguientes:
upg1.log_dir=/u02/app/oracle/cfgtoollogs/autoupgrade/employee
upg1.sid=emp
upg1.source_home=/u01/app/oracle/product/12.2.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/21.1.0/dbhome_1
upg1.start_time=NOW
upg1.upgrade_node=localhost
#upg1.run_utlrp=[yes|no]
#upg1.timezone_upg=[yes|no]
#upg1.target_version=[12.2|18|19|21]
Los datos a configurar son bastante intuitivos, y no hay mayor problema en hacer la configuración. En el mismo fichero de configuración hay una explicación de cada uno de los items, por si hay alguna duda de alguno de ellos.
Autoupgrade Analyze
Una vez que está configurado el fichero, el primer paso es el proceso de precheck para ver si hay alguna incompatibilidad en la BBDD para hacer el upgrade. Este proceso en la herramienta autoupgrade se llama Analyze.
La ejecución se hace con el siguiente comando:
java -jar autoupgrade.jar -config config_aupgr_file.cfg -mode analyze
Una vez se ejecuta se abre un prompt, del que se puede obtener información del estado del proceso (Esto es para todos los procesos), con el comando «lsj»

Una vez que se termina el proceso, se muestra un resumen del mismo, y se genera un fichero que hay que revisar para conocer que items hay que cambiar para hacer el upgrade.
Autoupgrade Fixups
En el fichero generado en el proceso de Analyze, muchos de los ítems a cambiar vienen marcados con el texto (AUTOFIXUP). Todos los ítems que vengan marcados así, se solucionan automáticamente en el siguiente proceso de autoupgrade, el proceso de Fixups. El comando para realizar este proceso, es muy parecido al anterior, solo cambia el mode al valor fixups.
El comando a ejecutar es el siguiente:
java -jar autoupgrade.jar -config config_aupgr_file.cfg -mode fixups
Una vez que termina la ejecución, se muestra el informe si ha terminado correctamente o no, y la carpeta donde se guardan los logs, para revisar que se ha cambiado.

Todos los items que no se cambian en el proceso, se deben realizar manualmente, sobre todo si son errores en vez de Warnings.
Una vez que hemos solucionado todas las incompatibilidades, podemos proceder a realizar el upgrade propiamente dicho.
Autoupgrade Deploy
El proceso de upgrade se realiza en el modo Deploy, con el siguiente comando:
java -jar autoupgrade.jar -config config_aupgr_file.cfg -mode deploy
Igual que en los procesos anteriores, el comando «lsj» nos da información del avance del proceso.

Una vez que termina, el mismo proceso realiza el open de la BBDD, con lo que queda preparada para su uso ya en la nueva versión.
Hay que tener en cuenta que ya se utiliza el nuevo ORACLE_HOME, con lo que hay que pasar los ficheros, como el tnsnames.ora, para que el funcionamiento sea correcto.
Nos encargamos nosotros
Esto puede ser muy complejo si no se tienen los conocimientos necesarios. Nosotros somos expertos en el mantenimiento de Oracle y otras bases de datos como SQL Server, si prefieres que nos encarguemos nosotros, ponte en contacto con nosotros a través de este enlace.
Además, nuestra herramienta Query Performance, puede ayudarte a probar tus queries antes del upgrade definitivo.
¿Aún no conoces Query Performance? Descubre cómo puede ayudarte en tu entorno Oracle. Más información en su página de LinkedIn.
Sígue a GPS en LinkedIn