Banco de dados Oracle de origem

Essa seção contém informações sobre:

  • O comportamento de como o Datastream lida com dados que estão sendo extraídos de um banco de dados Oracle de origem
  • As versões do banco de dados Oracle compatíveis com o Datastream
  • Uma visão geral de como configurar um banco de dados Oracle de origem para que os dados possam ser transmitidos dele para um destino
  • Limitações conhecidas para o uso do banco de dados Oracle como fonte

Comportamento

O Datastream oferece suporte a dois métodos de extração de mudanças nos dados de arquivos de registro "redo" on-line: o leitor de registros binários do Oracle (pré-lançamento) e o Oracle LogMiner.

Com o método do leitor de registro binário (Prévia), o seguinte comportamento é observado:

  • Se houver um atraso na leitura ao extrair as mudanças dos arquivos de registro on-line, o Datastream vai extrair as mudanças dos arquivos de registro arquivados.

  • O Datastream replica apenas as alterações confirmadas no destino. As transações não confirmadas ou revertidas não são replicadas.

  • O leitor binário oferece suporte à replicação de colunas VARCHAR2 do Oracle com mais de 4.000 caracteres.

O Datastream também oferece suporte ao recurso Oracle LogMiner para expor alterações nos dados. O método tem o seguinte comportamento:

  • Todos os esquemas ou esquemas específicos de um determinado banco de dados, bem como todas as tabelas de esquemas ou tabelas específicas, podem ser selecionados.
  • Todos os dados históricos são replicados.
  • Todas as mudanças na linguagem de manipulação de dados (DML), como inserções, atualizações e exclusões dos bancos de dados e tabelas especificados, são replicadas.
  • O Datastream replica alterações confirmadas e, em alguns casos, alterações não confirmadas no destino. O Datastream lê alterações não confirmadas. No caso de reversão, os registros de saída do Datastream também incluem a operação oposta. Por exemplo, se houver uma operação INSERT revertida, os registros de saída também conterão uma operação DELETE correspondente. Nesse caso, o evento aparecerá como DELETE apenas com o ROWID.

Preenchimento com base em ROWID

No Oracle, ROWID é uma pseudocoluna que armazena identificadores exclusivos para linhas em uma tabela. O Datastream usa os valores ROWID para as operações de preenchimento. Por isso, recomendamos que você não realize nenhuma ação que possa alterar os valores de ROWID no banco de dados do Oracle de origem até que a operação de preenchimento seja concluída.

As ações que podem mudar os valores de ROWID incluem:

  • Movimento físico das linhas:

    • Operações de exportação e importação: quando você exporta uma tabela e a importa novamente, a localização física das linhas pode mudar, resultando em novos valores de ROWID.
    • Comando ALTER TABLE (...) MOVE: mover uma tabela para um espaço de tabela diferente pode mudar o armazenamento físico e levar a mudanças de ROWID.
    • Comando ALTER TABLE (...) SHRINK SPACE: comprime a tabela, potencialmente movendo linhas e afetando os valores de ROWID.
    • Operações de particionamento: dividir, mesclar ou mover partições pode mudar a posição física das linhas e os valores de ROWID.
  • Operações de flashback:

    • Comando FLASHBACK TABLE: restaurar uma tabela para um estado anterior envolve excluir e reinserir linhas, criando novos valores de ROWID.
    • FLASHBACK_TRANSACTION_QUERY: semelhante a FLASHBACK TABLE. O reversão de uma transação pode causar mudanças na ROWID se as linhas foram excluídas ou atualizadas na transação.

Versões

O Datastream é compatível com as seguintes versões do banco de dados Oracle:

  • Oracle 11g, versão 11.2.0.4 (compatível apenas com o método de CDC do Logminer)
  • Oracle 12c, versão 12.1.0.2
  • Oracle 12c, versão 12.2.0.1
  • Oracle 18c
  • Oracle 19c
  • Oracle 21c

O Datastream é compatível com os seguintes tipos de banco de dados Oracle:

  • Auto-hospedado no local ou em qualquer provedor de nuvem
  • Amazon RDS para Oracle
  • Oracle Cloud
  • Oracle Exadata
  • Oracle RAC
  • Banco de dados em espera do Oracle Active Data Guard

Configuração

Para configurar um banco de dados Oracle de origem para que os dados dele possam ser transmitidos para um destino, configure o banco de dados para conceder acesso, defina a geração de registros e defina uma política de retenção.

Consulte Configurar um banco de dados Oracle de origem para saber como configurar esse banco de dados para que o Datastream possa extrair dados dele para um destino.

Limitações conhecidas

Limitações conhecidas para o uso do banco de dados Oracle como fonte incluem:

  • Os streams são limitados a 10.000 tabelas. Se um fluxo incluir mais de 10.000 tabelas, ele poderá apresentar erros.
  • O Datastream oferece suporte à arquitetura multilocatária (CDB/PDB) do Oracle, mas você só pode replicar um único banco de dados plugável em um stream.
  • O banco de dados autônomo da Oracle não é compatível.
  • Para tabelas que não têm uma chave primária, o Datastream usa a ROWID da linha para realizar uma operação de mesclagem no lado do consumidor. O ROWID pode não ser exclusivo. Se você excluir e reinserir uma linha com o utilitário de exportação/importação da Oracle, por exemplo, o ROWID da linha poderá mudar. Se você excluir uma linha, o Oracle poderá reatribuir o ROWID a uma nova linha inserida mais tarde.
  • As tabelas organizadas pelo índice (IOTs) não são compatíveis.
  • Tabelas temporárias não são compatíveis.
  • As colunas de tipos de dados ANYDATA, BFILE, INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH, LONG/LONG RAW, SDO_GEOMETRY, UDT, UROWID e XMLTYPE não são compatíveis e são substituídas por valores NULL.
  • Para transmitir colunas de tipos de dados de objetos grandes, como objetos grandes binários (BLOB), objetos grandes de caracteres (CLOB) e objetos grandes de caracteres nacionais (NCLOB), é necessário incluir a flag streamLargeObjects na configuração do stream. Se você não incluir a flag, o Datastream não vai transmitir essas colunas, e elas serão substituídas por valores NULL no destino. Para mais informações, consulte Ativar o streaming de objetos grandes para origens do Oracle.
  • Para o Oracle 11g, as tabelas com colunas de tipos de dados ANYDATA ou UDT não são compatíveis, e a tabela inteira não será replicada.
  • O Oracle Label Security (OLS) não é replicado.
  • O Datastream busca periodicamente o esquema mais recente da origem à medida que os eventos são processados. Se um esquema for alterado, alguns eventos do novo esquema poderão ser lidos enquanto o esquema antigo ainda estiver aplicado. Nesse caso, o Datastream detecta a alteração do esquema, aciona uma busca de esquema e reprocessa os eventos com falha.
  • Nem todas as alterações no esquema de origem podem ser detectadas automaticamente. Nesse caso, pode ocorrer corrupção de dados. As seguintes alterações de esquema podem causar corrupção de dados ou falha no processamento de eventos downstream:
    • Como descartar colunas
    • Como adicionar colunas no meio de uma tabela
    • Como alterar o tipo de dados de uma coluna
    • Como reorganizar as colunas
    • Como descartar tabelas (relevantes se a mesma tabela for recriada com novos dados adicionados)
    • Truncando tabelas
  • O Datastream não é compatível com a replicação de visualizações.
  • O Datastream é compatível com visualizações materializadas. No entanto, as novas visualizações criadas enquanto o stream está em execução não são preenchidas automaticamente.
  • Ao usar o método Oracle LogMiner, as instruções SAVEPOINT não são compatíveis e podem causar discrepância de dados em caso de reversão.
  • O Datastream é compatível com as seguintes codificações de conjunto de caracteres para bancos de dados Oracle:
    • AL16UTF16
    • AL32UTF8
    • IN8ISCII
    • JA16SJIS
    • JA16SJISTILDE
    • US7ASCII
    • UTF8
    • WE8ISO8859P1
    • WE8ISO8859P9
    • WE8ISO8859P15
    • WE8MSWIN1252
    • ZHT16BIG5
  • O Datastream não é compatível com a replicação de valores de data zero. Essas datas são substituídas por valores NULL.
  • A geração de arquivos de registro muito grandes pode causar o tempo limite do Datastream, o que pode levar à falha do fluxo. O tamanho recomendado do arquivo de registro refazer é de menos de 1 GB.
  • O Datastream não oferece suporte à conectividade direta a bancos de dados que usam o recurso Single Client Access Name (SCAN) em ambientes do Oracle Real Application Clusters (RAC). Para mais informações sobre possíveis soluções, consulte Comportamento e limitações de origem do Oracle.
  • Se a origem for um banco de dados de reserva do Oracle Active Data Guard, o Datastream não vai ser compatível com a replicação de dados criptografados.

Outras limitações ao usar o leitor de binários

  • O leitor de binários não oferece suporte aos seguintes recursos:

    • Criptografia transparente de banco de dados (TDE)
    • Compactação de coluna híbrida
    • Proteger arquivos
    • O método CDC do leitor binário não oferece suporte à recuperação de stream.
    • O ASM não é compatível com origens do Amazon RDS.
    • O método CDC do leitor binário não oferece suporte ao Oracle 11g e a versões anteriores.

A seguir