OPÇÕES DE BANCO DE DADOS
Válido Para
Extract e Replicat
Descrição
Use o parâmetro DBOPTIONS para especificar opções de banco de dados. Este é um parâmetro global, que se aplica a todas as instruções TABLE ou MAP no arquivo do parâmetro. Algumas opções para os parâmetros DBOPTIONS só se aplicam a Extract ou Replicat.
O parâmetro DBOPTIONS pode ser colocado em qualquer lugar no arquivo de parâmetros, independentemente de outros parâmetros.
Padrão
Nenhum
Sintaxe
DBOPTIONS
[ALLOWLOBDATATRUNCATE | NOALLOWLOBDATATRUNCATE]
[ALLOWUNUSEDCOLUMN | NOALLOWUNUSEDCOLUMN]
[ALLOWNONSTANDARDINTERVALDATA]
[BINDCHARFORBITASCHAR]
[CATALOGCONNECT | NOCATALOGCONNECT]
[CONNECTIONPORT <port>]
[DECRYPTPASSWORD <shared_secret> ENCRYPTKEY {DEFAULT | <key_name>}]
[DEFERREFCONST][DELETE_CHECKPOINT_RECS]
[DISABLECOMMITNOWAIT]
[DISABLELOBCACHING]
[ENABLE_INSTANTIATION_FILTERING]
[EMPTYLOBSTRING '<string>']
[FETCHBATCHSIZE <records>]
[FETCHCHECKFREQ <seconds>]
[FETCHLOBS | NOFETCHLOBS]
[FETCHRETRYCOUNT <number>]
[FETCHTIMEOUT <seconds> | NOFECHTIMEOUT]
[FORCE_XML_ESCAPE_CONVERSION]
[HOST *{<DNS_name> | <IP_address>}*]
[INTEGRATEDPARAMS(<parameter>[, ...])]
[LIMITROWS | NOLIMITROWS]
[LOBBUFSIZE <bytes>]
[LOBWRITESIZE <bytes>]
[MAXLOBKEYLEN <datalength>]
[SESSIONPOOLMAX <max_value> |
[SESSIONPOOLMIN <min_value>][SESSIONPOOLINCR <increment_value>]
[SETTAG [<tag_value> | NULL] ]
[SHOWINFOMESSAGES]
[SHOWWARNINGS]
[SKIPTEMPLOB | NOSKIPTEMPLOB]
[SOURCE_DB_NAME <src_dbase>_<global_name>][SPTHREAD | NOSPTHREAD]
[SQLMODE]
[SUPPRESSTEMPORALUPDATES]
[SUPPRESSTRIGGERS | NOSUPPRESSTRIGGERS]
[TDSPACKETSIZE <bytes>]
[TRANSNAME <trans_name>][USEDATABASEENCODING]
[XMLBUFSIZE <bytes>]
ALLOWLOBDATATRUNCATE |
NOALLOWLOBDATATRUNCATE |
Válido para Replicat para Db2 LUW e MySQL. ALLOWLOBDATATRUNCATE impede que o Replicat seja encerrado de forma anormal quando dados replicados de LOB são muito grandes para uma coluna de destino CHAR, VARCHAR, BINARY ou VARBINARY e só são aplicáveis às colunas de destino LOB. ou à replicação de Db2 LUW, ALLOWLOBDATATRUNCATE impede que o Replicat seja encerrado de forma anormal quando dados replicados de LOB são muito grandes para uma coluna de destino LOB. Os dados do LOB são truncados até o tamanho máximo da coluna de destino sem mais mensagens de erro ou avisos.
NOALLOWLOBDATATRUNCATE é o padrão e faz com que o Replicat termine com uma mensagem de erro se o LOB replicado for muito grande.
ALLOWUNUSEDCOLUMN |
NOALLOWUNUSEDCOLUMN |
Válido para Extração para Oracle. Controla se o Extract é alterado quando encontra uma tabela com uma coluna não usada.
A predefinição é ALLOWUNUSEDCOLUMN. Quando o Extract encontra uma tabela com uma coluna não usada, ele continua processando e gera um warning.When usando esse parâmetro, a mesma coluna não usada deve existir no destino ou um arquivo de definições de origem para a tabela deve ser especificado para Replicat, para que o mapeamento de metadados correto possa ser executado.
NOALLOWUNUSEDCOLUMN faz com que o Extract seja interrompido em colunas não usadas.
ALLOWNONSTANDARDINTERVALDATA
Válido para PostgreSQL.
Use DBOPTIONS ALLOWNONSTANDARDINTERVALDATA no arquivo de parâmetros Extract para capturar os dados de intervalo de sinal misto (ou qualquer outro formato de intervalo de dados, que não é suportado pelo Oracle GoldenGate) como uma string (não como dados de intervalo padrão). Quando essa opção é usada, o formato do intervalo de dados que é gravado na trilha e aplicado na coluna CHAR de destino é o seguinte:
year-component-sign years-months days-component-sign days hour-component-sign hours:minutes:seconds.fractional_seconds
Por exemplo, +1026-9 +0 +0:0: 22.000000 deve ser interpretado como 1026 anos 9 meses 0 dias 0 horas 0 minutos 22 segundos. -0-0 -0 -8 deve ser interpretado como 0 anos 0 meses 0 dias -8 horas. +1-3 +0 +3:20 deve ser interpretado como 1 anos 3 meses 0 dias 3 horas 20 minutos.
No caso do processo Replicat, se os dados do intervalo de origem tiverem sido capturados usando DBOPTIONS ALLOWNONSTANDARDINTERVALDATA e gravados como uma string na trilha, a coluna de origem correspondente poderá ser mapeada para uma coluna do tipo char ou binary no destino.
BINDCHARFORBITASCHAR
Válido para DEFGEN, Extract e Replicat para Db2 para i. Permite que as colunas definidas como CHAR ou VARCHAR com CCSID 65535, ou CHAR e VARCHAR FOR BIT DATA sejam tratadas como se o campo tivesse uma codificação traduzível normal. A codificação é selecionada no job CCSID. Quando essa opção está em vigor, DEFGEN não indica que o campo é binário no arquivo defs.
CATALOGCONNECT |
NOCATALOGCONNECT |
Válido para Extract e Replicat para bancos de dados ODBC.
Por padrão, o Oracle GoldenGate cria uma nova conexão para consultas do catálogo, mas você pode usar NOCATALOGCONNECT para impedir isso.
CONNECTIONPORT <port>
Válido para Replicat para vários daemon MySQL. Especifica a porta TCP/IP da instância à qual o processo Replicat deve se conectar. O valor mínimo é 1 e o valor padrão é 3306.
DEFERREFCONST |
NODEFERREFCONST |
Válido para Replicat não integrado para Oracle. Opção padrão para Replicat integrado paralelo.
Define restrições para DEFERRABLE para atrasar a verificação e a aplicação de restrições de integridade referencial para exclusão e atualização em cascata pelo banco de dados Oracle de destino até que a transação Replicat seja submetida a commit. Nesse ponto, se houver violações de restrição, um erro será gerado. O Replicat Integrado não requer a desativação de restrições referenciais no sistema de destino.
Você pode usar o DEFERREFCONST em vez de desativar as restrições nas tabelas de destino ou defini-las como DEFERRED. Quando usado, DEFERREFCONST difere as restrições DEFERABLE e NOT DEFERABLE. DEFERREFCONST se aplica a todas as transações processadas pelo Replicat. O parâmetro DEFERREFCONST funciona no Oracle 11.2.0.2 e acima.
Se usado com uma release do Oracle AI Database que não suporte essa funcionalidade, o DEFERREFCONST será ignorado sem retornar uma notificação ao log do Oracle GoldenGate. Para tratar erros na operação de commit, você pode usar REPERROR no nível raiz do arquivo de parâmetros e especificar a opção TRANSDISCARD ou TRANSEXCEPTION. Observação: Não use com o Replicat coordenado DEFERREFCONST porque não há como garantir que as linhas relacionadas nas tabelas pai e filho sejam processadas pelo mesmo thread
O paralelo DBOPTIONS DEFERREFCONST só será adicionado à configuração do Replicat quando você definir GOLDENGATESETTIGS_REPLICATIONMODE=PARALLEL_NON_INTEGRATED no arquivo de resposta (.rsp).
Use a opção NODEFERREFCONST para desativar a opção DEFERREFCONST.
DELETE_CHECKPOINT_RECS
Válido para Replicat Paralelo para MySQL.
Use a opção DBOPTIONS_DELETE_CHECKPOINT_RECS para substituir o método padrão de truncar tabelas de checkpoint pela cláusula "DELETE FROM" para limpar as tabelas de checkpoint no Replicat Paralelo. Ela ajuda a evitar bloqueios de metadados que possam ocorrer no Replicat Paralelo durante operações de truncamento padrão.
DISABLECOMMITNOWAIT
Válido para Replicat para Oracle.
Desativa o uso de COMMIT assíncrono pelo Replicat. Uma instrução COMMIT assíncrona inclui a opção NOWAIT.
Quando DISABLECOMMITNOWAIT é usado, o Replicat emite um COMMIT síncrono padrão (COMMIT com a opção WAIT).
DISABLELOBCACHING
Válido para Replicat não integrado para Oracle.
Desativa o mecanismo de armazenamento em cache LOB da Oracle. Por padrão, o Replicat ativa o mecanismo de armazenamento em cache LOB da Oracle.
ENABLE_INSTANTIATION_FILTERING
Válido para Oracle.
Ativa a filtragem automática por instanciação de tabela CSN em tabelas instanciadas usando o comando SET_INSTANTIATION_CSN.
SOURCE_DB_NAME será obrigatório se os objetos do Oracle AQ (Advanced Queuing) estiverem incluídos na replicação e a replicação procedural estiver ativada.
FETCHBATCHSIZE <records>
Válido para Extract para Oracle, Db2 para i, Db2 z/OS, PostgreSQL e SQL Server.
Permite extrações de array para cargas iniciais para melhorar o desempenho, em vez de uma linha por vez. É utilizado para Extração de Carga Inicial.
OS valores válidos para Oracle, Db2 para i, Db2 z/OS e SQL Server são de 0 a 1000000 registros por extração. Os valores válidos para Db2 LUW são de 1 a 1000000 registros por extração; zero (0) não é um valor válido.
O default é
- O desempenho diminui quando o tamanho do lote fica muito pequeno ou muito grande. Se a tabela contiver dados
LOB, o Extract reverterá para o modo de extração de linha única e, em seguida, retomará o modo de extração em batch posteriormente.
FETCHCHECKFREQ <seconds>
Válido para Extract integrado para Oracle.
Especifica o número de segundos que o Extract aguarda entre cada verificação de extração para que o ADG seja atualizado. Um número baixo melhora a latência, embora aumente o número de consultas de current_scn from v$database. O padrão é 3 segundos; o máximo é 120 segundos.
FETCHLOBS |
NOFETCHLOBS |
Válido para Extração para Db2 para z/OS e Db2 para LUW.
Suprime a extração de LOBs diretamente da tabela do banco de dados quando as opções LOB da tabela são definidas como NOT LOGGED. Com NOT LOGGED, o valor da coluna não está disponível nos logs de transação e só pode ser obtido na própria tabela. Por padrão, o Oracle GoldenGate captura alterações em LOBs dos logs de transação. O padrão é FETCHLOBS.
FETCHRETRYCOUNT <number>
Válido para Extração para Oracle.
Especifica o número de vezes que o Extract tenta antes de reportar o progresso do ADG ou o motivo para nenhum progresso ao aguardar o atraso do ADG. Esse valor é multiplicado por FETCHCHECKFREQ para determinar aproximadamente com que frequência o progresso do ADG é reportado. O valor padrão para FETCHRETRYCOUNT é 5 e o intervalo válido de valores é 0 - 1000.
FETCHTIMEOUT <seconds> | NOFETCHTIMEOUT
Válido para Extração para Oracle.
Especifica o número de segundos que o Extract aguardará após o qual ele será encerrado quando o ADG não fizer nenhum progresso. Não é possível progredir porque o MRP não está em execução ou porque não está aplicando alterações de redo. Quando isso ocorre, o banco de dados ADG deve ser examinado. O padrão é 30 segundos; os valores válidos são 0 - 4294967295 (valor máximo de ub4) segundos. NOFETCHTIMEOUT significa que nunca o timeout (o mesmo que FETCHTIMEOUT 0) e segundos não podem ser especificados com ele.
FORCE_XML_ESCAPE_CONVERSION
Para formatos de trilha do Oracle GoldenGate19c, se FORCE_XML_ESCAPE_CONVERSION estiver ativado, o Replicat escapará dos caracteres de alimentação de linha dos tipos de caracteres nas colunas ANYDATA. Se esse parâmetro estiver ativado para um arquivo de trilha com um formato 19.1 ou superior, ele será ignorado porque o Extract já executa o escape de alimentação de linha.
Esse parâmetro só afeta as colunas ANYDATA quando NOUSENATIVEOBJSUPPORT está ativado para Extract. Observação: Esta opção de parâmetro não afeta as colunas ANYDATA recuperadas do banco de dados pelo Logminer no modo nativo.
HOST <{DNS_name | IP_address}>
Válido para Replicat para vários daemon MySQL.
Especifica o nome DNS ou endereço IP do sistema que hospeda a instância à qual o processo Replicat deve se conectar.
INTEGRATEDPARAMS(<parameter>[, ...])
Válido para Replicat Integrado para Oracle.
Informa as definições dos parâmetros que controlam o servidor de entrada do banco de dados dentro do Oracle AI Database de destino.
Você pode usar a opção commit_serialization com INTEGRATEDPARAMS para Replicat integrado, mas não para Replicat paralelo no modo integrado. A definição de parâmetros internos do banco de dados para Extract é feita usando TRANLOGOPTIONS INTEGRATEDPARAMS.
Para obter mais informações sobre o Replicat integrado e uma lista de parâmetros de servidor de entrada suportados, consulte Opções de Parâmetros Adicionais para Replicat Integrado e Replicat Paralelo no Modo Integrado na Documentação de Microsserviços do Oracle GoldenGate.
LIMITROWS |
NOLIMITROWS |
Válido para Replicat para MariaDB, MySQL, Oracle, SingleStore, SQL Server, Sybase e TimesTen.
O LIMITROWS impede que várias linhas sejam atualizadas ou excluídas pela mesma instrução SQL de Replicat quando a tabela de destino não tiver uma chave primária ou exclusiva.
LIMITROWS é o padrão. LIMITROWS e NOLIMITROWS se aplicam globalmente a todas as instruções MAP em um arquivo de parâmetros.
Para MySQL, o LIMITROWS usa uma cláusula LIMIT 1 na instrução UPDATE ou DELETE.
Para destinos Oracle, LIMITROWS (o padrão) deve ser usado. O sistema usa WHERE ROWNUM = 1 ou AND ROWNUM = 1 na cláusula WHERE.
Para o SQL Server, LIMITROWS usa uma cláusula SET ROWCOUNT 1 antes da instrução UPDATE ou DELETE.
NOLIMITROWS permite que várias linhas sejam atualizadas ou excluídas pela mesma instrução SQL de Replicat.
LOBBUFSIZE <bytes>
Válido para Extração para Db2 LUW, Db2 para i, Db2 z/OS, Oracle, PostgreSQL e Servidor SQL.
Para o sistema Oracle, ele determina o tamanho do buffer de memória em bytes a ser alocado para cada atributo LOB incorporado que esteja em um tipo de objeto Oracle.
Para bancos de dados não Oracle, ele especifica o tamanho do buffer para extrair dados LOB durante o carregamento inicial.
Os valores válidos são de 1024 e 104857600 bytes. O padrão é 1048576 bytes.
Para a Oracle, se o tamanho do LOB incorporado exceder o tamanho do LOBBUFSIZE especificado, uma mensagem de erro semelhante à seguinte será gerada:
GGS ERROR ZZ-0L3 Buffer overflow, needed: 2048, allocated:
1024.
LOBWRITESIZE <bytes>
Válido para Replicat não integrado para Oracle.
Especifica um tamanho de fragmento em bytes para cada LOB que o Replicat grava no banco de dados de destino. Os dados do LOB são armazenados em um buffer até que esse tamanho seja atingido. Como os LOBs devem ser gravados no banco de dados em fragmentos, a gravação em blocos maiores evita E/S excessiva. Quanto maior o valor, menos chamadas de E/S são feitas pelo Replicat para o servidor de banco de dados para gravar todo o LOB no banco de dados.
Especifique um múltiplo do tamanho do fragmento LOB da Oracle. Um determinado valor será arredondado para um múltiplo do tamanho de fragmento do LOB da Oracle, se necessário. O tamanho de gravação padrão de LOB será 32k se DBOPTIONS NOSKIPTEMPLOB for especificado ou 1MB se DBOPTIONS SKIPTEMPLOB for especificado. Os valores válidos são de 2.048 bytes a 2.097.152 bytes (2MB).
Por padrão, o Replicat ativa o mecanismo de armazenamento em cache LOB da Oracle. Para desativar o cache LOB da Oracle, use a opção DISABLELOBCACHING de DBOPTIONS.
MAXLOBKEYLEN <datalength>
Válido para Extract para PostgreSQL.
Define as colunas de tipo de dados LOB a serem processadas como parte da chave. Os valores válidos do parâmetro datalength podem ser de 1 a 8000. Os LOBs que podem fazer parte da chave são:
-
Bytea -
Char -
Citext -
Text -
Varchar
SESSIONPOOLMAX <max_value>
Válido para Extração no modo integrado para Oracle.
Define um valor máximo para o número de sessões no Pool da Sessão do OCI, que é usado pelo processo Extract para extrair de um banco do contêiner. O valor default é 10 sessões. Deve ser especificado antes do parâmetro USERIDALIAS; caso contrário, será ignorado e o padrão será usado.
SESSIONPOOLMIN <min_value>
Válido para Extração no modo integrado para Oracle.
Define um valor mínimo para o número de sessões no Pool da Sessão do OCI, que é usado pelo processo Extract para extrair a partir de um banco dados contêiner. O valor default é 2 sessões. Deve ser especificado antes do parâmetro USERIDALIAS; caso contrário, será ignorado e o padrão será usado.
SESSIONPOOLINCR <increment_value>
Válido para Extração no modo integrado para Oracle.
Define um valor para o número de sessões incrementais que podem ser adicionadas ao Pool da Sessão do OCI, que é usado pelo Extract para extrair de um banco dos dados contêiner. O valor default é 2 sessões. Deve ser especificado antes do parâmetro USERIDALIAS; caso contrário, será ignorado e o padrão será usado.
SETTAG [<tag_value> | NULL
Válido para Replicação para Oracle.
Define o valor de uma tag de redo Oracle que será usada para identificar as transações do Replicat associado no redo log. Uma tag de redo também pode ser usada para identificar transações diferentes das do Replicat. Esse parâmetro é recomendado em EXCLUDEUSER e TRACETABLE.
Use esta opção para impedir o ciclo (loop-back) do Replicat dos registros individuais em uma configuração bidirecional ou para filtrar outras transações da captura. O valor padrão SETTAG é 00 e está limitado a 2K bytes. Um valor válido é qualquer tag única do Oracle Streams. Um valor de tag pode ter até 2000 dígitos hexadecimais (0-9 A-F) de comprimento.
As transações no redo que são marcadas com a tag especificada podem ser filtradas por um Extract que tenha o parâmetro TRANLOGOPTIONS com a opção EXCLUDETAG definida como <tag_value>. Use a filtragem baseada em tag para evitar o ciclo (loop-back) de transações Replicat em uma configuração bidirecional ou para filtrar outras transações da captura. Para obter mais informações, consulte TRANLOGOPTIONS.
Você pode desativar a marcação de DDL usando o parâmetro [DDLOPTIONS](ddloptions.html#GUID-E316EFCB-862D-4055-8B8E-C48EC82F2DDE) com a opção NOTAG.
<hex_value>
Um valor hexadecimal de 0 a F. O valor padrão é 00. Veja a seguir exemplos válidos:
DBOPTIONS SETTAG 00112233445566778899AABBCCDDEEFF
DBOPTIONS SETTAG 00112233445566778899aabbccddeeff
DBOPTIONS SETTAG 123
NULL
Desativa a filtragem baseada em tag para o Replicat associado.
SKIPTEMPLOB |
NOSKIPTEMPLOB |
Válido para Replicat para o Oracle Database versões 11g e 12c. Controla como os LOBs são aplicados a um banco de dados Oracle de destino. O padrão de SKIPTEMPLOB.
O SKIPTEMPLOB melhora o desempenho gravando diretamente os dados do LOB na coluna LOB de destino. O Replicat cria uma instrução SQL com um valor LOB vazio e retorna o localizador LOB para a variável de bind. Após a execução bem-sucedida da instrução SQL, os dados LOB são gravados diretamente na coluna LOB usando o localizador LOB retornado.
NOSKIPTEMPLOB usa um LOB temporário na instrução SQL. O Replicat declara uma variável de bind na instrução SQL e associa um LOB temporário e, em seguida, grava no LOB temporário. O Oracle AI Database aplica os dados da coluna LOB do LOB temporário.
O SKIPTEMPLOB se aplica às operações INSERT e UPDATE que contêm dados LOB. Não se aplicará se a tabela tiver um índice funcional com uma coluna LOB, se os dados LOB forem NULL, vazios ou armazenados em linha. Não se aplica a operações parciais do LOB.
SKIPTEMPLOB faz com que o Replicat gere/execute 1 operação DML+ n LOB_WRITE (por peça) ao atualizar/inserir uma linha com colunas LOB. No entanto, SKIPTEMPLOB não deve ser usado com FETCHPARTIALLOB (um Parâmetro de Extração) porque resulta em extração excessiva.
NOSKIPTEMPLOB é fornecido para compatibilidade com versões anteriores; caso contrário, o padrão de SKIPTEMPLOB deverá ser mantido.
SOURCE_DB_NAME <src_dbase>_<global_name>
Válido para Oracle.
Indica o Nome Global do Banco de Dados de Origem da Trilha. Ele é usado para consultar as informações de instanciação relevantes quando DBOPTIONS ENABLE_INSTANTIATION_FILTERING está ativado. Essa opção é opcional para filtragem de instanciação em um arquivo de trilha da versão 12.2 com metadados ativados.
Quando a origem não tiver DOMAIN, não especifique um DOMAIN para o banco de dados downstream.
A opção SOURCE_DB_NAME será obrigatória se os objetos do Oracle AQ (Advanced Queuing) estiverem incluídos na replicação e a replicação procedural tiver sido ativada. Consulte o exemplo abaixo:
DBOPTIONS SOURCE_DB_NAME CDB1_PDB1.NORTH.COM
SPTHREAD |
NOSPTHREAD |
Válido para Extrair e Replicar. Não é válido para Oracle e MySQL.
Cria um thread de conexão de banco de dados separado para usar o SQLEXEC para executar procedimentos armazenados. O padrão é NOSPTHREAD.
SQLMODE
Com essa opção ativada, a variável sql_mode é definida como 'ANSI_QUOTES' (set sql_mode = 'ANSI_QUOTES'). Trate as aspas duplas (") como um caractere de aspas de identificador (como o caractere de aspas `) e não como um caractere de aspas de string. Você ainda pode usar ` para citar identificadores com este modo ativado. Com a opção ANSI_QUOTES ativada, você não pode usar aspas duplas (") para aspas de strings literais, porque ela é interpretada como um identificador.
Para obter mais informações, consulte Modos SQL do Servidor.
SUPPRESSTEMPORALUPDATES
Válido para replicação de tabela temporal Db2 LUW 10.1 FixPack 2 e superior.
Use SUPPRESSTEMPORALUPDATES para replicar tabelas de período do sistema e bitemporais junto com tabelas de histórico associadas. O Oracle GoldenGate replica as colunas de início, fim da linha e id inicial da transação junto com as outras colunas da tabela. Certifique-se de que a instância do banco de dados tenha a permissão de execução para executar o procedimento armazenado SYSPROC.SET_MAINT_MODE_RECORD_NO_TEMPORALHISTORY¿ no lado de aplicação.
Por padrão, o Oracle GoldenGate não replica as colunas de início, fim da linha e id inicial da transação. Para preservar os valores originais dessas colunas, implemente uma das opções a seguir.
-
Adicione colunas de timestamp extra na tabela temporal de destino e mapeie as colunas adequadamente.
-
Use uma tabela não temporal no lado de aplicação e mapeie as colunas adequadamente.
Replicação em Ambiente Não Oracle:
Em ambientes não Oracle em que não há tabelas temporais no lado de aplicação, você precisa definir o valor das colunas de início, término e início da transação. Essas colunas de origem terão valores de timestamp que o banco de dados de destino pode não suportar. Você deve primeiro usar as funções de conversão de mapas para converter esses valores no formato suportado pelo banco de dados de destino e, em seguida, mapear as colunas adequadamente. Por exemplo, MySQL tem uma faixa de DATETIME de 1000-01-01 00:00:00.000000' to '9999-12-31 23:59:59.999999¿'. You cannot replicate a Db2 LUW timestamp value of 0001-01-01-00.00.0000000000000¿ a MySQL. Para replicar esses valores, você deve converter esse valor no formato MySQL DATETIME. Por exemplo, se uma tabela de período do sistema ou bitemporal tiver a seguinte coluna de timestamp:
SYS_START
--------------------------------
0001-01-01-00.00.00.000000000000
Em seguida, para replicar essa coluna em MySQL, você usaria a função colmap() da seguinte forma:
map <source_schema>.<source_table>, target <target_schema>.<target_table>
colmap(sys_start= @IF( ( @NUMSTR( @STREXT(sys_start,1,4))) > 1000, sys_start,
'1000-01-01 00.00.00.000000'));
Carga Inicial da Tabela Temporal:
O Oracle GoldenGate suporta a carga inicial da tabela temporal como de costume.
Leve em consideração as seguintes considerações com a tabela temporal:
-
A replicação entre a tabela temporal do período do sistema e do período do aplicativo não é suportada.
-
Não há suporte para a replicação de uma tabela não temporal para uma tabela temporal.
-
A replicação de tabelas bi-temporais e de período do sistema e
SUPPRESSTEMPORALUPDATEScom o parâmetroINSERTALLRECORDSnão é suportada. -
Se qualquer índice exclusivo for criado para a tabela temporal do período do aplicativo usando
BUSINESS_TIME WITHOUT OVERLAPSpara a tabela de destino, o mesmo índice exclusivo deverá ser criado para a tabela de origem. -
A replicação bidirecional entre tabelas temporais é recomendada apenas com o padrão.
-
CDR é suportado somente com
SUPPRESSTEMPORALUPDATES. Não há suporte a CDR na replicação bidirecional. -
Por padrão, há inconsistências nas colunas de início, fim de linha e id de início de transação das tabelas temporais quando os bancos de dados de origem e de destino operam com fusos horários diferentes. Essas colunas de timestamp de tabelas de período do sistema e bitemporais são preenchidas automaticamente pelos respectivos gerenciadores de banco de dados e terão valores de acordo com os respectivos fusos horários dos bancos de dados.
-
O uso do padrão com
GETUPDATEBEFORESestá no arquivo de parâmetros de replicação, não é possível usar as colunas de início de linha, fim de linha e ID de início de transação em cálculos delta. Por exemplo, não é possível obter imagens antes e depois de tais colunas em qualquer tipo de cálculo. Essas colunas podem ser usadas em cálculos delta usandoSUPPRESSTEMPORALUPDATES.
SUPPRESSTRIGGERS |
NOSUPPRESSTRIGGERS |
Válido para Replicação Integrada e Replicação Clássica para Oracle.
Controla se os acionadores são acionados durante a sessão de Replicat. Fornece uma alternativa para desativar acionadores manualmente. (O processo Replicat Integrado não exige a desativação dos triggers no sistema de destino.)
SUPPRESSTRIGGERS é o padrão e impede que triggers sejam acionados em objetos de destino configurados para replicação com o Oracle GoldenGate. SUPPRESSTRIGGERS é válido para as versões do Oracle Database 12c, 11g (11.2.0.2) e 11g R2 posteriores. SUPPRESSTRIGGERS não é válido para 11g R1.
Para permitir que um trigger específico seja acionado, você pode usar a instrução SQLEXEC a seguir no arquivo de parâmetros do Replicat, em que <trigger_owner> é o proprietário do trigger e <trigger_name> é o nome do trigger.
SQLEXEC 'DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('"S1"','"MY_TRIGGER"',FALSE);'
Observação: Depois que esse SQLEXEC for executado com FALSE, o trigger continuará a ser acionado até que o comando seja executado novamente com uma definição de TRUE.
NOSUPPRESSTRIGGERS permite que triggers de destino sejam acionados. Para usar [NO]SUPPRESSTRIGGERS, o usuário do Replicat deve ter os privilégios concedidos por meio da atribuição de usuário OGG_APPLY disponível no Oracle AI Database 26ai e superior ou no pacote dbms_goldengate_auth.grant_admin_privilege para o Oracle Database 21c e inferior. Este procedimento faz parte da instalação do Oracle AI Database. Consulte a documentação do banco de dados para mais informações.
O parâmetro USERIDALIAS deve preceder uma instrução DBOPTIONS que contenha SUPPRESSTRIGGERS ou NOSUPPRESSTRIGGERS.
TRANSNAME <trans_name>
Válido para Replicat para SQL Server.
Permite que um Replicat individual use um nome de transação específico especificado no arquivo de parâmetros. O <trans_name> é o nome da transação que o Replicat usa para transações de destino DML e substitui o nome da transação ggs_repl padrão quando usado.
USEDATABASEENCODING
Por padrão, o Db2 para i Extract converte todos os dados de texto em UTF-8 para dados não DBCS e UTF-16 para dados DBCS. O uso dessa opção faz com que o Extract armazene todos os dados de texto na trilha em sua codificação de caracteres nativos para dados não DBCS. Atualmente, os dados do DBCS (GRAPHIC/VARGRAPHIC/DBCLOB) continuam sendo convertidos em UTF-16, independentemente de esse parâmetro ser fornecido ou não. Para valores CCSID não suportados pelo Oracle GoldenGate, o processo Extract converte os dados em UTF-8 para dados não DBCS e em UTF-16 para dados DBCS para garantir a compatibilidade de todos os Replicats.
XMLBUFSIZE <bytes>
Válido para Extração para Oracle.
Define o tamanho do buffer de memória que armazena dados XML que foram extraídos do atributo sys.xmltype de um tipo de objeto SDO_GEORASTER. O default é 1048576 bytes (1MB). Se os dados excederem o tamanho de buffer padrão, o processo Extract será encerrado de forma anormal. Se isso ocorrer, aumente o tamanho do buffer e inicie o processo Extract novamente. A faixa válida de valores é de 1024 a 104857600 bytes.
Exemplos
Exemplo 1
DBOPTIONS HOST 127.0.0.1, CONNECTIONPORT 3307
Exemplo 2
DBOPTIONS DECRYPTPASSWORD AACAAAAAAAAAAAIALCKDZIRHOJBHOJUH ENCRYPTKEY DEFAULT
Exemplo 3
DBOPTIONS TDSPACKETSIZE 2048
Exemplo 4
DBOPTIONS FETCHBATCHSIZE 2000
Exemplo 5
DBOOPTION XMLBUFSIZE 2097152