Upgrade Oracle Database versión 11gR1 a 11gR2 en un ambiente e-Business Suite R12

Por Francisco Riccio
Publicado en noviembre 2012

Introducción

El objetivo de este artículo es presentar un correcto procedimiento de cómo realizar un upgrade de una base de datos Oracle 11.1.0.7 a versión 11.2.0.3. El procedimiento está considerando los pasos que debemos realizar cuando la base de datos es el repositorio de una solución de e-Business Suite R12 (12.1.1).

El escenario presentado está montado sobre una plataforma Oracle Enterprise Linux 5.7 de 32 bits.

I. Requisitos previos al upgrade

Nuestra solución de e-Business Suite R12 (12.1.1) debe contar con los siguientes parches a nivel de aplicación y de base de datos antes de realizar el upgrade.

a) Parches de e-Business Suite: 9062910, 8919489, 9151516, 9868229, 10163753 y 11071569.

Para obtener la lista de parches instalados de e-Business Suite consultamos la tabla AD_BUGS.

e-Business Suite

En mi implementación solo tengo instalado 2 parches de los solicitados como pre-requisitos. Se debe proceder a instalar los demás parches solicitados.

Para instalar un parche de e-Business Suite normalmente debemos colocar la aplicación en modo mantenimiento mediante el utilitario adadmin y luego aplicar el parche con el utilitario adpatch y posteriormente retirar el modo mantenimiento.

instalado 2 parches

instalado 2 parches

Después de tener instalado los parches, volvemos a validar y vemos ya que todos los parches están instalados.

validar

b) Parches de Autoconfig EBS: 9738085, 9852070 y 12686610.

Parches de Autoconfig EBS

Al no tener ninguno de los 3 parches solicitados se procede a instalarlos de la misma forma como se realizó en el punto I.a.

c) Actualización de Timezone

c.1) Debemos validar la versión que tenemos de Timezone en la base de datos.

Timezone en la base de datos

Asimismo se adjunta la lista de versiones de Timezone disponibles a la fecha de la creación de este documento. El objetivo será actualizar nuestro Timezone versión 10 hacia la 17.

actualizar nuestro Timezone versión 10 hacia la 17

c.2) Aplicaremos el parche 7695070 en nuestra Base de Datos.

Para validar si tenemos instalado un parche en nuestra base de datos lo validamos con el comando: opatch lsinventory, ejemplo:

 parche 7695070

En mi escenario no está instalado por lo cual se procede a instalarlo. La instalación de un parche en la mayoría de casos se realiza con el comando opatch apply.

comando opatch apply

c.3) Obtenemos la lista de tablas que tienen campos de tipo LOCAL TIMEZONE:

select c.owner || '.' || c.table_name || '(' || c.column_name || ') -'
    || c.data_type || ' ' col
  from dba_tab_cols c, dba_objects o
 where c.data_type like '%LOCAL TIME ZONE'
    and c.owner=o.owner
   and c.table_name = o.object_name
   and o.object_type = 'TABLE'
order by col
/

LOCAL TIMEZONE

En mi escenario ninguna tabla tiene algún campo de tipo LOCAL TIMEZONE.

c.4) Validar si existe información que se pueda ver afectada con el cambio de versión.

Para lograr este objetivo debemos ejecutar el siguiente script: utltzuv17.sql.

ejecutar script utltzuv17.sql

Después de ejecutar el script debemos consultar la tabla sys.sys_tzuv2_temptab.

consultar la tabla

En nuestro caso, la consulta devuelve 15 filas las cuales todas hacen mención a jobs estándar de Oracle Database, los cuales no se le ejecuta ningún tratamiento y procedemos a instalar el parche 12949905. Este parche nos realiza el upgrade a la versión 17 del Timezone.

El parche 12949905 pide de requisito el parche 7695070 y además recompilar todos los binarios del ORACLE_HOME.

Para recompilar el ORACLE_HOME lo hacemos a través del comando: relink all. Este comando lo debemos ejecutar situados en el directorio: $ORACLE_HOME/bin, ejemplo:

ejecutar el comando relink all

Luego procedemos con la instalación del parche: 12949905.

instalar el parche 12949905

Posterior a la instalación del parche procedemos a borrar las tablas: sys_tzuv2_temptab y sys_tzuv2_affected_regions.

borrar las tablas

Después de este paso validamos si ya contamos con la versión 17 del Timezone.

validar

Luego procedemos a actualizar el componente del Java Virtual Machine a la versión 17 del Timezone mediante el parche: 12949919

actualizar Java Virtual Machine

Finalmente procedemos a ejecutar el siguiente script con la finalidad de terminar la actualización del Timezone en el componente de Oracle Java Virtual Machine.

@?/javavm/admin/fixTZb.sql

ejecutar el script

PL/SQL procedure successfully completed

Cabe mencionar que el mensaje FAILED o el mensaje presentado son valores esperados al finalizar la ejecución del script.

Observación:

La actualización del Timezone tiene muchos pasos a ejecutar acorde a nuestra configuración actual. En nuestro caso no se tuvo ningún campo de tipo LOCAL TIMEZONE y los únicos objetos afectados por la actualización fueron los JOBS estándares de la Base de Datos, cualquier otra configuración o resultado de estas pruebas se tendría que haber ejecutado otros pasos adicionales los cuales están documentados en My Oracle Support (MOS) Nota: Applying the DSTv17 update for the Oracle Database [ID 1362718.1].

d) Parches de Oracle Application Server: 6400501.

Este parche es solo válido para la versión 10.1.0.5 del Oracle Application Server en plataforma Unix/Linux.

Parches de Oracle Application Server

e) SYS.ENABLED$INDEXES:

Si existe la tabla SYS.ENABLED$INDEXES debemos proceder en borrarla.

borrar la tabla

Hasta aquí tenemos todos los requisitos cumplidos. Si nuestra base de datos cuenta con Oracle Warehouse Builder debemos subirlo al menos a la versión 11.2.0.1 y aplicarle el parche: 9403153.

II. Instalación del Oracle Database versión 11.2.0.3

A continuación indicaré los pasos que se deben realizar para instalar Oracle Database versión 11.2.0.3 en un ambiente para e-Business Suite R12.

a) Instalación de la versión 11.2.0.3:

instalación

instalación

Es importante seleccionar edición Enterprise Edition.

seleccionar edición Enterprise Edition

Creamos el directorio 9idata

b) Instalar el CD de Examples:

validad los parches

c) Creamos el directorio 9idata con los siguientes pasos:

Creamos el directorio 9idata

Creamos el directorio 9idata

d) Aplicamos los siguientes parches al ORACLE_HOME del Oracle Database versión 11gR2: 4247037, 9858539, 12942119, 12960302, 12985184, 13001379, 13004894, 13258936 y 13366268.

Al aplicarlos parches debemos validar que estén debidamente instalados de la siguiente manera:

validad los parches

Nota: Alguno de los parches listados tienen pasos post los cuales se ejecutarán más adelante.

e) Database PSU:

Se recomienda adicionalmente aplicar el último PSU certificado de Base de Datos Oracle Database 11g para e-Business Suite. Esta certificación está actualizada en el documento My Oracle Support (MOS) Nota: Database Patch Set Update Overlay Patches Required for Use with PSUs and Oracle E-Business Suite [ID 1147107.1] y Oracle Recommended Patches -- Oracle Database [ID 756671.1].

En nuestro caso que contamos con la versión 11.2.0.3 está disponible a la fecha de la creación de este documento el Database PSU: 11.2.0.3.2 certificado para e-Business Suite R12.

Database PSU

La aplicación del Oracle PSU 11.2.0.3.2 nos obliga a previamente actualizar el binario OPATCH a la versión 11.2.0.3.0.

actualizar el binario OPATCH

Posterior a la aplicación del Oracle PSU 11.2.0.3.2 es recomendable revisar si efectivamente está instalado correctamente con el comando: opatch lsinventory.

Oracle PSU

f) Actualización del Timezone versión 17 al ORACLE_HOME 11gR2

Aplicamos los siguientes parches en el nuevo ORACLE_HOME versión 11gR2: 12949905 y 12949919.

Actualización del Timezone

III. Upgrade de Base de Datos

El upgrade de base de datos versión 11.1.0.7 a la versión 11.2.0.3.2 se realizó utilizando el utilitario DBUA del nuevo ORACLE_HOME instalado.

a) Ejecución del DBUA:

Ejecución del DBUA

Ejecución del DBUA

En la siguiente pantalla nos aparecerá este BUG:

BUG

Este error está documentado en My Oracle Support (MOS) Notas: DBUA Fails With a Screen Showing 'Null' [ID 1285052.1] y 11gR2 DBUA Fails With "Null" and trace file shows "Could not launch SQLPLUS. Failed during initialization" [ID 1384810.1].

La solución es ejecutar el siguiente comando: unset ORA_TZFILE y volver a ejecutar el utilitario DBUA.

ejecutar el comando

ejecutar el comando

ejecutar el comando

ejecutar el comando

ejecutar el comando

ejecutar el comando

ejecutar el comando

b) Aplicación de parámetros recomendados.

Existe una serie de parámetros en la base de datos versión 11gR2 que deben configurarse para obtener un ambiente e-Business Suite R12 estable. Estos parámetros están documentados en My Oracle Support (MOS) Nota: Database Initialization Parameters for Oracle E-Business Suite Release 12 [ID 396009.1].

En mi escenario se tuvo que configurar los siguientes parámetros:

configurar los siguientes parámetros

c) Post Instalación pendiente de algunos parches RDBMS.

En la sección II.D hubo algunos parches que tenían pasos post, los cuales serán ejecutados en esta sección.

Parches: 13001379 y 13366268 (No tuvieron pasos post).

Parche: 4247037, solicita ejecutar con el usuario SYS el siguiente script: @?/md/admin/catmgdidcode.sql.

Parche: 9858539, solicita ejecutar los siguientes pasos:

cd $ORACLE_HOME/rdbms/admin
@@catnomtt.sql
@@catnomta.sql
@@dbmsmeta.sql
@@dbmsmeti.sql
@@dbmsmetu.sql
@@dbmsmetb.sql
@@dbmsmetd.sql
@@dbmsmet2.sql
@@catmeta.sql
@@prvtmeta.plb
@@prvtmeti.plb
@@prvtmetu.plb
@@prvtmetb.plb
@@prvtmetd.plb
@@prvtmet2.plb
@@catmet2.sql

Parche: 13258936, solicita ejecutar con el usuario SYS el siguiente script: @?/ctx/admin/ctxpatch/ctxpatch11203.sql

IV. Pasos Post Upgrade

Después del upgrade de Base de Datos a la versión 11.2.0.3.2 se deben ejecutar los siguientes pasos para que pueda acoplarse a la aplicación de forma correcta.

a) adgrants.sql:

cd $APPL_TOP/admin/adgrants.sql

adgrants.sql

b) Otorgar permisos al usuario CTXSYS:

cd $AD_TOP/patch/115/sql/adctxprv.sql <password_SYSTEM> CTXSYS

Otorgar permisos

c) Setear los parámetros del usuario CTXSYS:

Setear los parámetros

d) Validar las reglas de Workflow:

$FND_TOP/patch/115/sql/wfaqupfix.sql

Validar las reglas de Workflow

e) Ejecutar un autoconfig:

Ejecutar un autoconfig

f) Configurar el autoconfig en la capa de BD:

Los siguientes pasos están documentados en My Oracle Support (MOS) Nota: Using AutoConfig to Manage System Configurations in Oracle E-Business Suite Release 12 [ID 387859.1].

f.1) Parche e-Business Suite R12: 8919489.

Debemos validar si tenemos instalado el parche de e-Business Suite R12: 8919489.

Parche e-Business Suite R12

f.2) Ejecutamos el programa admkaappsutil.pl:

perl $AD_TOP/bin/admkaappsutil.pl

Ejecutamos el programa

Este programa nos crea el archivo appsutil.zip en la ruta mostrada, el cual luego procedemos a descomprimirlo con el comando unzip y lo copiamos en el directorio del $ORACLE_HOME de Base de Datos.

descomprimirlo con el comando unzip

f.3) Crearemos el CONTEXT FILE para la capa de Base de Datos:

perl $ORACLE_HOME/appsutil/bin/adbldxml.pl

Crearemos el CONTEXT FILE

Nota: Revisar el archivo CONTEXT_FILE que no esté registrando alguna ruta del ORACLE_HOME de la versión 11gR1. En mi caso el archivo CONTEXT FILE es el archivo: PRD_pcebs1.xml.

f.4) Ejecutamos el autoconfig de Base de Datos:

$ORACLE_HOME/appsutil/bin/adconfig.sh
contextfile=/u01/oracle/PRD/db/tech_st/11.2.0/appsutil/PRD_pcebs1.xml

Ejecutamos el autoconfig

f.5) Ejecutamos el autoconfig de Aplicación:

Ejecutamos el autoconfig

g) Ejecutamos estadísticas:

Es importante que ejecutemos las estadísticas de Base de Datos pero con los scripts que nos proporciona la aplicación y no mediante el paquete DBMS_STATS de Base de Datos.

Ejecutamos estadísticas

h) Recrear los sinónimos y grants del esquema APPS:

Para realizar esta labor debemos entrar al utilitario: adadmin.

Nos aparecerá está pantalla:

sinónimos y grants del esquema APPS

Seleccionamos la opción 4 y luego nos aparecerán estas opciones:

Seleccionamos la opción 4

Seleccionamos la opción 2.

i) Sincronizamos las vistas de Workflow:

Una vez levantado los servicios de aplicación sincronizamos las vistas de Workflow mediante un concurrente estándar con los siguientes pasos:

sincronizamos las vistas de Workflow

sincronizamos las vistas de Workflow

Sincronizamos las vistas de Workflow

incronizamos las vistas de Workflow

Debemos validar que el concurrente programado finalice correctamente:

validar

validar

Observación:

En caso la base de datos tuviera configurada Oracle Database Vault se ejecutan unos pasos adicionales en el proceso de upgrade, los cuales están documentados en My Oracle Support (MOS) Nota: Interoperability Notes EBS R12 with Database 11gR2 [ID 1058763.1].

Conclusión

Las conclusiones de este artículo es proveer los pasos correctos en un proceso de upgrade de una Base de Datos 11gR1 hacia versión 11gR2, donde dicha base de datos es el repositorio de la aplicación e-Business Suite R12. Se puede también evidenciar que el proceso de upgrade involucra una serie de pasos y horas adicionales que no se realizarían en un proceso convencional de upgrade de base de datos.




Publicado por Ing. Francisco Riccio. Es un IT Specialist en IBM Perú e instructor de cursos oficiales de certificación Oracle. Está reconocido por Oracle como un Oracle ACE y certificado en productos de Oracle Application & Base de Datos.