Configuración de la Base de Datos

Obtenga información sobre los valores de configuración de la base de datos para Oracle GoldenGate para Db2 z/OS. La configuración de la base de datos es necesaria para Oracle GoldenGate.

Instalar componentes de Extract en Db2 z/OS

La extracción z/OS de Oracle GoldenGate Db2 utiliza objetos SQL para acceder al log Db2 y leerlo. Estos objetos Db2 z/OS de Oracle GoldenGate requieren una plataforma de hardware mínima de zEC12, una versión de sistema operativo mínima de 2.4 y una versión de Db2 mínima de 12.1. Los componentes constan de módulos de carga ejecutables, funciones y procedimientos almacenados SQL, y programas externos llamados a través de los procedimientos almacenados. Estos componentes son:

  1. Los programas externos autorizados incluyen lo siguiente:

    1. oggib001 – Programa de inicialización y utilidad

    2. oggrb001 – Funcionalidad del programa de lectura de logs

    3. oggmt001: programa independiente que supervisa ECSA y la memoria de 64 bits

    4. oggjt001 – Programa de instalación para el inicio oggmt001 JCL ejecutado desde el programa oggib001

    5. oggfr001: utilidad para que la utilice un DBA bajo la supervisión de los Servicios de Soporte Oracle.

  2. Las plantillas de funciones y procedimientos almacenados SQL se incluyen en el script SQL zOS_OGG_Setup_Template.sql con OGGINITB y OGGREADB SQL.

  3. Procedimiento JCL, oggtask.jcl

Nota: Los nombres externos para los valores de nombre de SQL y JCL son los valores por defecto, que puede editar y actualizar. Este proceso se trata en las secciones siguientes.

La figura Replication Process for Db2 z/OS Extract ilustra el proceso de replicación para Db2 z/OS Extract y sus componentes de mainframe.

Figura 1: Proceso de replicación para el extracto de Db2 z/OS

Descripción de imagen siguiente

El proceso se inicia y ejecuta como se muestra en la figura anterior, utilizando los números del 1 al 9. Estos pasos se enumeran a continuación:

  1. Extract lee los parámetros, incluidos los parámetros de JCL, del archivo de parámetros creado durante la instalación.

  2. Extract informa la información de inicio y se prepara para escribir los archivos de pista.

  3. ODBC se utiliza para recopilar información de la base de datos Db2 e iniciar la replicación.

  4. El procedimiento almacenado de SQL OGGINITB comienza a preparar la memoria compartida y a recopilar otros datos necesarios para la replicación.

  5. El programa externo OGGIB001 al que llama el procedimiento almacenado SQL inicia la tarea de supervisión de memoria mediante el programa de configuración de trabajos OGGJT001.

  6. La tarea de supervisión de memoria OGGMT001 comienza a supervisar la ECSA y la memoria compartida de 64 bits.

  7. La función SQL OGGREADB llama al programa externo OGGRB001.

  8. El programa externo OGGRB001 llama repetidamente al programa de lectura de log Db2 para crear un juego de resultados que devuelve 1 a muchos buffers de registro de log en Extract.

  9. Cuando se completa un juego de resultados de registro de log, OGGRB001 finaliza después de enviar el juego de resultados a Extract.

Extract repite los pasos 7 a 9 hasta el cierre o la terminación anormal. Si la tarea de memoria no se inicia, el programa OGGIB001 devuelve un indicador que indica que hubo un error de JCL o un problema de configuración y Extract comienza a gestionar su memoria. Si la tarea de memoria se inicia correctamente, la tarea de memoria prueba los campos que cambian constantemente en la memoria compartida ECSA de 48 bytes. Estos campos dejan de cambiar si la extracción finaliza por cualquier motivo. En ese momento, el gestor de memoria espera en caso de que el Extract o la red sean lentos y libera la memoria antes de cerrar después de un límite de tiempo configurado.

Para instalar los componentes necesarios para Oracle GoldenGate for Db2 z/OS Extract:

  1. Asegúrese de que exista una biblioteca (PDSE) en el sistema Db2 z/OS y asegúrese de que haya una entrada para ella en la lista de bibliotecas autorizadas. Esta biblioteca es la ubicación en la que residirán los objetos de programa externo de Oracle GoldenGate.

  2. Asegúrese de que un procedimiento WLM autorizado por APF haga referencia al PDSE del paso anterior. Oracle recomienda que el valor NUMTCB para el entorno WLM sea del 10 al 40 para los procedimientos almacenados. El valor NUMTCB depende del número máximo de extracciones que se ejecutan simultáneamente en la base de datos y de la cantidad de rendimiento que necesita cada extracción. Si desea flexibilidad para definir NUMTCB, especifíquelo en el JCL de inicio para el WLM, pero no en el panel de creación.

  3. Puede configurar la seguridad para los entornos de aplicación de WLM y para crear procedimientos almacenados completando lo siguiente:

    1. (Opcional) Especifique qué espacios de direcciones establecidos por WLM pueden ejecutar procedimientos almacenados. Si no completa este paso, cualquier espacio de dirección establecido por WLM puede ejecutar procedimientos almacenados.

    2. Otorgue a los usuarios acceso para crear procedimientos en espacios de direcciones WLM específicos.

    3. Otorgue acceso de usuario para crear procedimientos en esquemas específicos. Utilice la sentencia GRANT con la opción CREATIN para el esquema adecuado.

    4. Otorgue acceso de usuario para crear paquetes para procedimientos en recopilaciones específicas. Utilice la sentencia GRANT con la opción CREATE para la recopilación adecuada.

    5. Otorgue acceso para actualizar los entornos WLM a las personas adecuadas.

    6. Agregue autoridad de RACF adicional a las personas adecuadas, lo que permite que los procedimientos de WLM inicien el trabajo del gestor de memoria.

  4. Asegúrese de que el ID utilizado para ejecutar el procedimiento JCL de inicio de WLM tenga permiso para usar RRSAF. Cada vez que se inicia uno de los espacios de dirección de WLM Db2, utiliza RRSAF para conectarse a Db2. Consulte la Db2 12 for z/OS Installation and Migration Guide.

  5. En la instalación de Linux o UNIX de Oracle GoldenGate para Db2 z/OS, hay un archivo ZIP ubicado en el directorio de instalación de Oracle GoldenGate denominado zOSutils.zip, que contiene un archivo denominado zOSPrograms.zip. Descomprima zOSPrograms.zip en zOSPrograms.tar y copie zOSPrograms.tar en modo binario en el sistema Db2 z/OS en un directorio HFS.

  6. En el sistema Db2 z/OS de USS u OMVS, cambie los directorios al directorio que contiene zOSPrograms.tar.

  7. Restaure los objetos con el comando: tar -xovf zOSPrograms.tar.

  8. Copie los objetos en el PDSE autorizado. Utilice cp -X ogg[irmj][abt][0-9]* "//'authorized_PDSE_name'", donde authorized_PDSE_name es el nombre del PDSE autorizado de APF, destinado a los objetos de Oracle GoldenGate. Con este comando se instalan los objetos con los nombres predeterminados.

    Nota: En este comando, el destino de copia es una comilla doble con barra diagonal de una sola comilla y una comilla doble autorizada por el nombre de PDSE. -X es una X mayúscula no una x minúscula.

  9. La instalación de scripts con nombres diferentes permite cumplir los protocolos del sistema o ejecutar varias versiones de Oracle GoldenGate. Para instalar las secuencias de comandos con nombres diferentes, se recomienda crear una secuencia de comandos de shell que cambie el nombre de los programas antes de copiarlos en el PDSE. En el siguiente fragmento de código se proporciona un ejemplo de la secuencia de comandos de shell.

    #!/bin/bash
    # Copy new programs renaming them to version 21.12 names.
    cp oggib001 oggi2112
    cp oggrb001 oggr2112
    cp oggmt001 oggm2112
    cp oggjt001 oggj2112
    cp -X oggi2112 "//'SYS4.WLMDSNA.AUTHLOAD'"
    cp -X oggr2112 "//'SYS4.WLMDSNA.AUTHLOAD'"
    cp -X oggm2112 "//'SYS4.WLMDSNA.AUTHLOAD'"
    cp -X oggj2112 "//'SYS4.WLMDSNA.AUTHLOAD'"

    Puede ejecutar el script mediante el comando chmod +x scriptname. Puede copiar y reutilizar este script para nuevas versiones.

  10. Debe crear los procedimientos SQL con la herramienta SQL que desee para que Oracle GoldenGate pueda llamar a los objetos Extract. Los procedimientos almacenados de Oracle GoldenGate deben tener permiso otorgado solo a los usuarios que los utilizan para la replicación.

    Una plantilla de script SQL de ejemplo en el directorio de instalación de Oracle GoldenGate contiene las sentencias SQL para configurar el procedimiento y la función almacenados en la instancia z/OS Db2. El script SQL zOS_OGG_Setup_Template.sql incluido en zOSutils.zip es para Db2 v12.1 y superior y se puede ejecutar desde cualquier herramienta SQL en cualquier plataforma que se pueda conectar a la instancia z/OS Db2. Este script debe ejecutarse en la instancia Db2 que utilice con Extract. La secuencia de comandos proporcionada en el directorio de instalación remota tiene el formato ASCII.

    Edite la siguiente línea antes de ejecutar los scripts:

    • Modifique la línea WLM ENVIRONMENT para que utilice el nombre correcto para el entorno WLM que utilizará para Oracle GoldenGate.

Nota: El nombre del esquema oggifi0001 se puede configurar mediante el parámetro Extract TRANLOGOPTIONS REMOTESCHEMA schemaname. Los nombres de funciones y procedimientos, OGGINITB y OGGREADB, de la plantilla no se pueden configurar. Puede cambiar el nombre de cada nombre externo en los scripts y el PDSE si los nombres de script y los nombres de objeto PDSE coinciden. El cambio de estos nombres es parte del procedimiento que permite la migración a nuevas versiones o si se deben cumplir procedimientos de nomenclatura específicos en Db2 z/OS.

La siguiente tabla contiene una lista de comprobación de los componentes que puede que desee editar o actualizar:

Tabla 2: Lista de componentes editables

Componente De Cambiar nombre Dónde
oggib001 archivo tar   PDSE autorizado
oggrb001 archivo tar   PDSE autorizado
oggmt001 archivo tar   biblioteca de procesos y PDSE autorizada
oggjt001 archivo tar   PDSE autorizado y parámetro de extracción
oggpr001 archivo tar   biblioteca de procedimientos y parámetro de extracción
proclib MVS   agregar parámetro de extracción si es necesario
bibliotecas de pasos MVS   Biblioteca de procedimientos WLM y oggpr001
nuevo esquema     zOS_OGG_Setup_Template.sql y parámetro Extract
Nombre de WLM MVS   zOS_OGG_Setup_Template.sql
programa externo     zOS_OGG_Setup_Template.sql

Nota: Recuerde realizar todos estos pasos después de cada nueva instalación de parche.

Uso del Gestor de Memoria Compartida para Extract

Oracle GoldenGate Extract inicia una tarea o trabajo independiente del WLM para supervisar el uso de memoria compartida. Este trabajo es una tarea mínima que se ejecuta en MVS, pero no es un WLM. El nombre de usuario de este script debe tener permisos para ejecutarse al iniciar desde el WLM (normalmente mediante algo como RACF). Esta memoria compartida supervisada consta de un área ECSA pequeña de 48 a 64 bytes y un área de 64 bits más grande basada en el tamaño del buffer de Extract.

Los campos específicos de la memoria compartida se actualizan por cada lectura realizada por Extract. Estos campos se actualizan tanto si el script devuelve datos como si no. La supervisión comprueba esos campos para asegurarse de que la extracción no se ha desactivado. Si Extract está inactivo, la memoria compartida se libera y la supervisión finaliza. Puede controlar el gestor de memoria mediante el parámetro remote_memory_options en el archivo de parámetros de Extract.

Puede especificar varios subparámetros para configurar la tarea de supervisión. Puede configurar el intervalo de espera y el tiempo inactivo que utiliza la supervisión mediante la especificación de subparámetros de las opciones de memoria remota, como se muestra en el siguiente ejemplo:

remote_memory_options wait_interval 2000 inactive_time 01:00

El intervalo de espera se expresa en centésimas de segundos en el ejemplo y hace que la supervisión espere 20 segundos entre cada comprobación de memoria. Si el monitor ha comprobado que hay 1 hora (formato HH:MM) y el Extract sigue inactivo, el monitor se cerrará después de liberar la memoria compartida. Si el Extract vuelve a un estado activo durante esa hora, la supervisión restablecerá su estado y continuará la supervisión.

wait_interval puede tener valores de 100 a 6000 y el valor por defecto es 1000. inactive_time puede ser de 00:10 a 12:00 y el valor por defecto es 00:30. Si la supervisión no se inicia correctamente, la extracción muestra un mensaje de advertencia en el informe de extracción y la extracción continúa el procesamiento. El Extract intentará liberar memoria ECSA cuando se apague.

El parámetro de memoria remota tiene tres opciones para que esta función funcione. La sintaxis para estos parámetros es:

Ejemplo:

remote_memory_options task_procedure OGGPR001
remote_memory_options task_library TEST.PROCLIB
remote_memory_options task_setup OGGJT001

Puede especificar varias opciones en un solo comando, como se muestra a continuación:

remote_memory_options task_procedure OGGPR001 task_library TEST.PROCLIB task_setup OGGJT001

Nota: Los valores del parámetro de memoria remota no distinguen entre mayúsculas y minúsculas.

Los valores por defecto son el nombre de procedimiento OGGPR001 y el programa de configuración de tareas OGGJT001. No hay ningún valor predeterminado para la biblioteca de tareas, ya que es posible que el procedimiento esté instalado en una de las bibliotecas de procedimientos predeterminados del sistema MVS. El parámetro de biblioteca de tareas solo es necesario si el procedimiento no está en una biblioteca predeterminada del sistema.

La tarea de memoria comenzará con una tarjeta JOB simple y un nombre de procedimiento EXEC con parámetros transferidos desde Extract. Algunos sistemas z/OS pueden requerir otros parámetros en la tarjeta de trabajo. Los parámetros JOB también se pueden modificar mediante el parámetro de memoria remota, como se muestra en el ejemplo que se muestra a continuación.

remote_memory_options task_jobname [valid MVS job name (see below)]
remote_memory_options task_acct_info [valid MVS acct value (see below)]
remote_memory_options task_programmer [valid MVS programmer name, Can use single quotes]
remote_memory_options task_class [valid MVS job class A to Z or 0 to 9]
remote_memory_options task_msgclass [valid MVS msgclass A to Z or 0 to 9]
remote_memory_options task_msglevel [valid MVS message level n or (,n) or (n,n)  n=valid digit]
remote_memory_options task_priority [valid MVS priority 0-15]

Puede especificar el nombre JOB mediante dos caracteres válidos y un asterisco, como AA*. El nombre JOB por defecto es GG*. El asterisco se sustituye por seis números aleatorios cuando se especifica. De lo contrario, si especifica un nombre de carácter de uno a ocho bytes, debe ser un nombre de trabajo de MVS válido.

Especifique valores de cuenta en cualquiera de los siguientes formatos válidos de MVS:

Para parámetros, como acct_info y programmer, que permiten caracteres especiales, incluya los entre comillas simples. Además, las reglas de MVS sobre el uso de comillas simples dobles o ampersands entre comillas siguen aplicándose. La extracción realiza una validación mínima para estos parámetros y deja la validación completa en el proceso de MVS. Extract aceptará el primero si especifica parámetros duplicados e ignora los duplicados.

Se incluirá un archivo JCL de procedimiento de ejemplo en el archivo zOSPrograms.zip. Este JCL no reemplaza el procedimiento WLM. El monitor, creado en WLM, utiliza el JCL para ejecutarse en MVS. Un procedimiento JCL permite más flexibilidad si agrega comandos o JCL que admiten archivado de salida de trabajo u otros procedimientos.

Nota: Durante la instalación y la configuración del gestor de memoria, puede que sea necesario desactivar temporalmente el gestor de memoria cuando deba esperar a que se produzcan problemas de configuración de RACF, uso del iniciador, uso de clase de trabajo u otros problemas similares relacionados con el gestor de memoria. Extract funcionará en su modo heredado en esta instancia y liberará ECSA y la memoria compartida de 64 bits. Extract muestra la liberación de memoria compartida al final del informe Extract.

Oracle no recomienda esto como una solución permanente. Cuando se utiliza, el usuario es responsable de supervisar la versión de ECSA y la memoria de 64 bits. El parámetro para activar esta función comienza con un guion bajo para recordar al usuario que el sistema se está ejecutando en este modo. Otras opciones de memoria remota pueden dejarse en su lugar y utilizarse eliminando la opción de desactivar la gestión de memoria. El parámetro de gestión de memoria remota está activado de forma predeterminada y se especifica como se muestra a continuación:

remote_memory_options _remote_memory_on
remote_memory_options _remote_memory_off

El JCL tiene el siguiente formato:

//*====================================================================
//* EXAMPLE JCL FOR RUNNING THE COMMON MEMORY MONITOR PROCEDURE
//* ADDRESS SPACE NEEDING AN AUTHORIZED LOAD LIBRARY
//* NOTE: THE PROGRAM OGGMT001 CAN BE RENAMED IN THE LIBRARY BUT THE
//*       NEW NAME MUST MATCH THE PROGRAM NAME IN THIS JCL
//*====================================================================
//OGGDSNNA PROC RGN=0K TR=,EX=,MEM=,LEN=,SEC=,DUR=,VER=
//OGGDSNNX EXEC PGM=OGGMT001,REGION=&RGN,TIME=NOLIMIT,
// PARM='&TR &EX &MEM &LEN &SEC &DUR &VER'
//*--------------------------------------------------------------------
//* REPLACE &PREFIX.**.AUTHLOAD LIBRARIES WITH SITE SPECIFIC FILE(S)
//* ALSO REPLACE THE CEE LIBRARY WITH SITE SPECIFIC FILE
//* DSNN COULD REPRESENT A DB2 SPECIFIC LOAD LIBRARY IF ONE EXISTS
//*--------------------------------------------------------------------
//STEPLIB  DD DISP=SHR,DSN=&PREFIX..WLMDSNN.USER.AUTHLOAD
//         DD DISP=SHR,DSN=CEE.SCEERUN
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*

Modifique las bibliotecas marcadas con PREFIX para que funcionen en el sistema. Si ha cambiado el nombre del programa OGGMT001 que ha copiado del archivo zOSPrograms.tar, debe cambiarlo en el JCL. Los parámetros nulos de la sentencia PROC están ahí con fines informativos. El programa de configuración OGGJT001 del trabajo proporciona esos valores mediante la información transferida desde Extract. También puede especificar tantos nombres de juegos de datos de biblioteca de pasos como sea necesario. El procedimiento JCL proporcionado en el archivo zOSPrograms.tar proporciona un ejemplo con más de una biblioteca de pasos.