Upgrade desde ODI 11g a ODI 12c
28/08/2014 -
Hace unos meses Oracle presentó la nueva versión de Oracle Data Integrator. En este post vamos a detallar los pasos necesarios para migrar los objetos de ODI desde la versión 11g a la versión 12c. En la instalación de ODI 11g que queremos migrar tenemos creadas tres interfaces que cargan datos de ficheros de texto y tablas Oracle a tablas Oracle. Las interfaces son sencillas, pero tienen joins, filtros y expresiones que necesitamos que se traspasen correctamente si no queremos perder la funcionalidad implementada.
Para poder migrar una instalación de ODI 11g a 12c es necesario que se cumplan unos requisitos:
- La versión de la base de datos donde se instalaron los Master y el Work Repository para ODI 11G tiene que estar soportada y certificada para Oracle Fusion Middleware 12c (comprobarlo en http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html).
- La base de datos de los esquemas del Master y del Work Repository 11g tiene que ser UTF-8.
Si así no fuera, hay que migrar previamente a una base de datos que tenga estas características.
Antes de empezar, es aconsejable realizar un backup tanto del Master como del Work Repository 11g porque después de que se haya realizado el upgrade ya no será posible utilizar los esquemas en una instalación de ODI 11g. Para clonar los esquemas involucrados, se han seguido los siguientes pasos:
- Export de los esquemas del Master (ODIM) y del Work (ODIW) Repository
exp userid=ODIM/ODIM file=ODIM11.dmp
exp userid=ODIW/ODIW file=ODIW11.dmp
- Creación de nuevos usuarios
create user ODIM11 identified by …;
create user ODIW11 identified by …;
grant connect, resource to ODIM11, ODIW11; - Import de los esquemas copiados
imp userid=’system/xxx’ touser=ODIM11 fromuser=ODIM file=ODIM11.dmp
imp userid=’system/xxx’ touser=ODIW11 fromuser=ODIW file=ODIW11.dmp
- Reconfigurar la conexión de ODI 11 a los nuevos esquemas ODIM11 y ODIW11 para comprobar que se hayan clonado correctamente.
Para ejecutar el upgrade, hay que ejecutar el fichero ua.bat (Upgrade Assistant) que se encuentra en la carpeta
<Oracle_Middleware_Home>oracle_commonupgradebinua.bat
de la instalación de ODI 12c. Para poder ejecutar el Upgrade Assistant es imprescindible instalar las parches que vienen con el installer de ODI 12c.
En el siguiente paso, escogemos la opción Esquemas y, sucesivamente, marcamos la opción Oracle Data Integrator.
La herramienta de migración nos recuerda que tenemos que realizar previamente una copia de seguridad de todos los datos afectados, que la versión de la base de datos tiene que ser compatible con la actualización del Fusion Middleware escogida y que se cumplan los requisitos de sistema y de certificación.
En la siguiente pestaña, introducimos los detalles de conexión al Master Repository de la 11. De forma automática se hará el upgrade de todos los Work Repositories enlazados al Master Repository especificado.
En este test de migración hemos dejado marcadas todas las opciones que venían seleccionadas por defecto. La opción más interesante es la última, que nos permite decidir si queremos actualizar las interfaces a la versión 12, perdiendo la compatibilidad con la SDK 11g. Esta opción es útil cuando queremos utilizar ODI en Compatibility Mode, o sea, poder editar interfaces desarrolladas en la versión 11 utilizando la ODI SDK.
Introducimos las credenciales del usuario supervisor de ODI 11g.
Guardar la clave de actualización que se utiliza para convertir los IDs de los objetos internos de ODI 11g en GUID únicos para ODI 12c (Globally-Unique object IDentifiers). A diferencia de la 11g, en la cual los identificadores eran únicos a nivel de Work Repository, en la 12c los GUIDs garantizan unicidad a nivel “global”, o sea, entre todos los posibles Work Repositories asociados al Master Repository.
Hacer click en Siguiente y esperar a que se complete la migración.
En ODI 12c configuramos la conexión al repositorio maestro que acabamos de migrar y comprobamos que las tres interfaces que teníamos se han migrado correctamente y que todas las referencias a los modelos y a los esquemas lógicos se han mantenido, permitiendo ejecutar las interfaces, sin tener que aplicar alguna modificación adicional.