Configuração do Banco de Dados
Saiba mais sobre as definições de configuração do banco de dados do Oracle GoldenGate para z/OS Db2. As definições do banco de dados são necessárias para o Oracle GoldenGate.
Instalar Componentes de Extração em Db2 z/OS
O Extract z/OS do Oracle GoldenGate Db2 usa objetos SQL para acessar e ler o log Db2. Esses objetos z/OS do Oracle GoldenGate Db2 requerem uma plataforma de hardware mínima de zEC12, uma release mínima do sistema operacional de 2.4 e uma release mínima de Db2 de 12.1. Os componentes consistem em módulos de carga executáveis, funções e procedimentos armazenados SQL e programas externos chamados por meio dos procedimentos armazenados. Estes componentes são:
-
Os programas autorizados externos incluem o seguinte:
-
oggib001– Programa de inicialização e utilitário -
oggrb001– Funcionalidade do programa de leitura de log -
oggmt001– Programa autônomo que monitora a memória ECSA e 64 bits -
oggjt001– Programa de configuração para a execução JCL de inicializaçãooggmt001do programaoggib001 -
oggfr001– Utilitário para uso por um DBA sob orientação do Oracle Support
-
-
Modelos de função e procedimento armazenados SQL estão incluídos no script SQL
zOS_OGG_Setup_Template.sqlcomOGGINITBeOGGREADB SQL. -
Procedimento JCL,
oggtask.jcl
Observação: os nomes externos para os valores de nome SQL e JCL são o padrão, que você pode editar e atualizar. Esse processo é descrito nas seções subsequentes.
A figura Processo de Replicação para Extração z/OS Db2 ilustra o processo de replicação para a Extração z/OS Db2 e seus componentes de mainframe.
Figura 1: Processo de replicação para extração z/OS Db2

O processo é iniciado e executado conforme mostrado na figura acima, usando os números de 1 a 9. Estas etapas estão listadas abaixo:
-
O Extract lê os parâmetros, incluindo os parâmetros JCL, do arquivo de parâmetros criado durante a instalação.
-
O Extract reporta as informações de inicialização e se prepara para gravar os arquivos de trilha.
-
O ODBC é usado para reunir informações do banco de dados Db2 e iniciar a replicação.
-
O procedimento armazenado de SQL
OGGINITBcomeça a preparar a memória compartilhada e a reunir outros dados necessários para replicação. -
O programa externo
OGGIB001chamado pelo procedimento armazenado SQL inicia a tarefa do monitor de memória usando o programa de configuração do jobOGGJT001. -
A tarefa do monitor de memória
OGGMT001começa a monitorar a memória compartilhada de 64 bits e ECSA. -
A Função SQL
OGGREADBchama o programa externoOGGRB001. -
O programa externo
OGGRB001chama repetidamente o programa de leitura de log Db2 para criar um conjunto de resultados que retorna 1 para muitos buffers de registro de log para o Extract. -
Quando um conjunto de resultados de registro de log é concluído,
OGGRB001termina depois de enviar o conjunto de resultados para o Extract.
A extração repete as etapas de 7 a 9 até o desligamento ou encerramento anormal. Se a tarefa de memória não for iniciada, o programa OGGIB001 retornará um flag indicando que houve um erro de JCL ou um problema de configuração e o Extract começará a gerenciar sua memória. Se a tarefa de memória for iniciada corretamente, a tarefa de memória testará a mudança constante de campos na memória compartilhada ECSA de 48 bytes. Esses campos pararão de ser alterados se o processo Extract for encerrado por algum motivo. Nesse ponto, o gerenciador de memória aguarda se o Extract ou a rede estiver lento e libera a memória antes de desligar após um limite de tempo configurado.
Para instalar OS componentes necessários para o Oracle GoldenGate for Db2 z/OS Extract:
-
Verifique se existe uma biblioteca (PDSE) no sistema z/OS Db2 e verifique se houve uma entrada para ele na lista de bibliotecas autorizadas. Esta biblioteca é o local onde os objetos do programa externo do Oracle GoldenGate residirão.
-
Certifique-se de que um procedimento WLM autorizado pelo APF faça referência ao PDSE na etapa anterior. A Oracle recomenda que o valor
NUMTCBdo ambiente WLM seja de 10 a 40 para procedimentos armazenados. O valorNUMTCBdepende do número máximo de Extracts que estão sendo executados simultaneamente no banco de dados e de quanto throughput cada Extract requer. Se você quiser flexibilidade na definição deNUMTCB, especifique-a no JCL de inicialização para o WLM, mas não no painel de criação. -
Você pode configurar a segurança para os ambientes de aplicativos WLM e para criar procedimentos armazenados concluindo o seguinte:
-
(Opcional) Especifique quais espaços de endereço estabelecidos pelo WLM podem executar procedimentos armazenados. Se você não concluir esta etapa, qualquer espaço de endereço estabelecido pelo WLM poderá executar procedimentos armazenados.
-
Conceda aos usuários acesso para criar procedimentos em espaços de endereço WLM específicos.
-
Conceda ao usuário acesso para criar procedimentos em esquemas específicos. Use a instrução
GRANTcom a opçãoCREATINpara o esquema apropriado. -
Conceder ao usuário acesso para criar pacotes para procedimentos em coleções específicas. Use a instrução
GRANTcom a opçãoCREATEpara a coleta apropriada. -
Conceda acesso para atualizar os ambientes WLM para as pessoas apropriadas.
-
Adicione mais autoridade RACF às pessoas apropriadas, permitindo que os procedimentos WLM iniciem o job do gerenciador de memória.
-
-
Certifique-se de que o ID usado para executar o procedimento JCL de inicialização do WLM tenha permissão para usar RRSAF. Cada vez que um dos espaços de endereço do WLM Db2 é iniciado, ele usa o RRSAF para anexar ao Db2. Consulte o Db2 12 for z/OS Installation and Migration Guide.
-
Na instalação do Linux ou do UNIX do Oracle GoldenGate for Db2 z/OS, há um arquivo ZIP localizado no diretório de instalação do Oracle GoldenGate denominado
zOSutils.zip, que contém um arquivo chamadozOSPrograms.zip. DescompactezOSPrograms.zipemzOSPrograms.tare copiezOSPrograms.tarno modo binário para o sistema z/OS Db2 em um diretório HFS. -
No seu sistema z/OS Db2 no USS ou OMVS, altere OS diretórios para o diretório que contém
zOSPrograms.tar. -
Restaure os objetos com o comando:
tar -xovf zOSPrograms.tar. -
Copie os objetos para o PDSE autorizado. Use o
cp -X ogg[irmj][abt][0-9]* "//'authorized_PDSE_name'"em queauthorized_PDSE_nameé o nome do PDSE autorizado pelo APF, destinado aos objetos do Oracle GoldenGate. O uso desse comando instala os objetos com os nomes padrão.Observação: Neste comando, o destino da cópia é aspas duplas de nome PDSE de aspas duplas de aspas duplas de aspas simples de aspas simples de aspas simples de aspas. O
-Xé uma letra maiúscula X não um x minúsculo. -
A instalação de scripts com nomes diferentes permite a conformidade com os protocolos do sistema ou a execução de várias versões do Oracle GoldenGate. Para instalar os scripts com nomes diferentes, é recomendável criar um script shell que renomeie os programas antes de copiá-los para o PDSE. Um exemplo do script shell é fornecido no trecho de código a seguir.
#!/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'"Você pode executar o script usando o comando
chmod +x scriptname. Você pode copiar e reutilizar esse script para novas versões. -
Crie os procedimentos SQL usando a ferramenta SQL de sua escolha para que o Oracle GoldenGate possa chamar os objetos Extract. Os procedimentos armazenados do Oracle GoldenGate devem ter permissão concedida somente aos usuários que os usam para replicação.
Um exemplo de modelo de script SQL no diretório de instalação do Oracle GoldenGate contém as instruções SQL para configurar o procedimento armazenado e a função na instância z/OS Db2. O script SQL
zOS_OGG_Setup_Template.sqlcontido emzOSutils.zipé para Db2 v12.1 e superior e pode ser executado de qualquer ferramenta SQL em qualquer plataforma que possa se conectar à sua instância z/OS Db2. Esse script deve ser executado na instância Db2 que você usa com o Extract. O script fornecido no diretório de instalação remota está no formato ASCII.Edite a seguinte linha antes de executar os scripts:
- Modifique a linha
WLM ENVIRONMENTpara usar o nome correto do ambiente WLM que você usará para o Oracle GoldenGate.
- Modifique a linha
Observação: O nome do esquema oggifi0001 é configurável usando o parâmetro Extract TRANLOGOPTIONS REMOTESCHEMA schemaname. Os nomes de procedimento e função, OGGINITB e OGGREADB, no modelo não são configuráveis. Você pode renomear cada nome externo nos scripts e no PDSE se os nomes de script e os nomes de objeto PDSE corresponderem. A alteração desses nomes faz parte do procedimento que permite a migração para novas versões ou se procedimentos de nomeação específicos devem ser seguidos no Db2 z/OS.
A tabela a seguir contém uma lista de verificação de componentes que você pode editar e/ou atualizar:
Tabela 2 - Lista de Componentes Editáveis
| Componente | De | Renomear | Onde |
|---|---|---|---|
oggib001 |
arquivo tar | PDSE autorizado | |
oggrb001 |
arquivo tar | PDSE autorizado | |
oggmt001 |
arquivo tar | biblioteca PDSE e proc autorizada | |
oggjt001 |
arquivo tar | parâmetro PDSE e Extract autorizado | |
oggpr001 |
arquivo tar | biblioteca de procedimentos e Extract parm | |
| proclibe | MVS | adicionar parâmetro Extract, se necessário | |
| bibliotecas de etapas | MVS | Biblioteca de procedimentos WLM e oggpr001 |
|
| remoteschema | Parâmetro zOS_OGG_Setup_Template.sql e Extract |
||
| Nome do WLM | MVS | zOS_OGG_Setup_Template.sql |
|
| programa externo | zOS_OGG_Setup_Template.sql |
Observação: Lembre-se de executar todas essas etapas após cada nova instalação de patch.
Usar Gerenciador de Memória Compartilhada para Extração
O processo Extract do Oracle GoldenGate inicia uma tarefa ou job separado do WLM para monitorar o uso da memória compartilhada. Este job é uma tarefa mínima executada no MVS, mas não é um WLM. O nome de usuário deste script começa em deve ter permissões para ser executado ao iniciar no WLM (geralmente usando algo como RACF). Essa memória compartilhada monitorada consiste em uma pequena área ECSA de 48 a 64 bytes e uma área de 64 bits maior com base no tamanho do buffer Extract.
Campos específicos na memória compartilhada são atualizados para cada leitura executada pelo Extract. Esses campos são atualizados independentemente de o script retornar dados. O monitor verifica esses campos para garantir que o processo Extract não se torne inativo. Se o Extract estiver inativo, a memória compartilhada será liberada e o monitor será encerrado. Você pode controlar o Gerenciador de Memória usando o parâmetro remote_memory_options no arquivo de parâmetros do Extract.
Você pode especificar vários subparâmetros para configurar a tarefa do monitor. Você pode configurar o intervalo de espera e o tempo de inatividade que o monitor usa especificando subparâmetros das opções de memória remota, conforme mostrado no seguinte exemplo:
remote_memory_options wait_interval 2000 inactive_time 01:00
O intervalo de espera é expresso em centésimos de segundos no exemplo e faz com que o monitor aguarde 20 segundos entre cada verificação de memória. Se o monitor tiver marcado por 1 hora (formato HH:MM) e o Extract ainda estiver inativo, o monitor será encerrado após a liberação da memória compartilhada. Se o Extract retornar a um estado ativo durante essa hora, o monitor redefinirá o estado e continuará o monitoramento.
O wait_interval pode ter valores de 100 a 6000 e o padrão é 1000. O inactive_time pode ser das 00:10 às 12:00 e o padrão é 00:30. Se o monitor não for iniciado corretamente, o Extract exibirá uma mensagem de aviso no relatório Extract e o processo Extract continuará. O Extract tentará liberar a memória ECSA quando ela for desligada.
O parâmetro de memória remota tem três opções para fazer este recurso funcionar. A sintaxe desses parâmetros é:
-
task_procedure proc name -
task_library proc library -
task_setup task setup program
Exemplo:
remote_memory_options task_procedure OGGPR001
remote_memory_options task_library TEST.PROCLIB
remote_memory_options task_setup OGGJT001
Você pode especificar várias opções em um único comando, conforme mostrado abaixo:
remote_memory_options task_procedure OGGPR001 task_library TEST.PROCLIB task_setup OGGJT001
Observação: Os valores do parâmetro de memória remota não fazem distinção entre maiúsculas e minúsculas.
Os valores padrão são o nome do procedimento OGGPR001 e o programa de configuração da tarefa OGGJT001. Não há padrão para a biblioteca de tarefas, pois o procedimento pode ser instalado em uma das bibliotecas de procedimentos padrão do sistema MVS. O parâmetro da biblioteca de tarefas só será necessário se o procedimento não estiver em uma biblioteca padrão do sistema.
A tarefa de memória começará com um simples cartão JOB e um nome de procedimento EXEC com parâmetros transmitidos do Extract. Alguns sistemas z/OS podem exigir vários outros parâmetros no cartão de trabalho. Os parâmetros JOB também podem ser modificados usando o parâmetro de memória remota, conforme mostrado no exemplo fornecido abaixo.
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]
Você pode especificar o nome JOB usando dois caracteres válidos e um asterisco, como AA*. O nome padrão do JOB é GG*. O asterisco é substituído por seis números aleatórios quando é especificado. Caso contrário, se você especificar um nome de caractere de um a oito bytes, ele deverá ser um nome de job MVS válido.
Especifique valores de conta em qualquer um dos seguintes formatos MVS válidos:
-
OTXI -
'MY ACCT' -
(ACCT,1234,ABC)
Para parâmetros, como acct_info e programmer, que permitem caracteres especiais, coloque-os entre aspas simples. Além disso, as regras do MVS sobre o uso de aspas simples duplas ou E comercial entre aspas continuam a ser aplicadas. O processo Extrair faz uma validação mínima para esses parâmetros e deixa a validação completa para o processo MVS. A extração aceitará a primeira se você especificar parâmetros duplicados e ignorar quaisquer duplicidades.
Um arquivo JCL de procedimento de amostra será incluído no arquivo zOSPrograms.zip. Este JCL não substitui o procedimento WLM. O monitor, criado no WLM, usa o JCL para ser executado no MVS. Um procedimento JCL permite mais flexibilidade se você adicionar comandos ou JCL que suportam arquivamento de saída de job ou outros procedimentos.
Observação: Durante a instalação e a configuração do gerenciador de memória, pode ser necessário desativar temporariamente o gerenciador de memória quando você deve aguardar problemas de configuração RACF, uso do iniciador, uso da classe de job ou outros problemas semelhantes relacionados ao gerenciador de memória. O Extract operará no modo legado dessa instância e liberará o ECSA e a memória compartilhada de 64 bits. O Extract mostra a liberação de memória compartilhada no final do relatório Extract.
A Oracle não recomenda isso como uma solução permanente. Quando usado, o usuário é responsável por monitorar a liberação da memória ECSA e de 64 bits. O parâmetro para ativar esse recurso começa com um sublinhado para lembrar ao usuário que o sistema está sendo executado nesse modo. Outras opções de memória remota podem ser deixadas no lugar e usadas removendo a opção de desativar o gerenciamento de memória. O parâmetro de gerenciamento de memória remota assume como padrão estar ativado e é especificado como mostrado:
remote_memory_options _remote_memory_on
remote_memory_options _remote_memory_off
O JCL tem o seguinte 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 as bibliotecas marcadas com PREFIX para que elas funcionem no seu sistema. Se você renomeou o programa OGGMT001 copiado do arquivo zOSPrograms.tar, deverá alterá-lo no JCL. Os parâmetros nulos na instrução PROC existem para fins informativos. O programa de configuração do job OGGJT001 fornece esses valores usando informações transmitidas do Extract. Você também pode especificar quantos nomes de conjunto de dados da biblioteca de etapas forem necessários. O procedimento JCL fornecido no arquivo zOSPrograms.tar fornece um exemplo usando mais de uma biblioteca de etapas.