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 redo log on-line: o leitor de registro binário da Oracle (visualização) e o Oracle LogMiner.
Com o método de leitor de registro binário (visualização), o seguinte comportamento é observado:
Se houver um atraso de leitura ao extrair as mudanças dos arquivos de log on-line, o Datastream extrairá as mudanças dos arquivos de log arquivados.
O Datastream replica apenas as mudanças 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
VARCHAR2da Oracle com mais de 4.000 caracteres.
O Datastream também oferece suporte ao recurso Oracle LogMiner para expor mudanças 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
INSERTrevertida, os registros de saída também conterão uma operaçãoDELETEcorrespondente. Nesse caso, o evento aparecerá comoDELETEapenas com oROWID.
Preenchimento baseado 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 execute ações que possam mudar os valores ROWID no banco de dados Oracle de origem até que a operação de preenchimento seja concluída.
As ações que podem mudar os valores ROWID incluem:
Movimento físico de linhas:
- Operações de exportação e importação: quando você exporta uma tabela e a importa novamente, o local físico das linhas pode mudar, resultando em novos valores
ROWID. - Comando
ALTER TABLE (...) MOVE: mover uma tabela para um tablespace diferente pode mudar o armazenamento físico e levar a mudanças deROWID. - Comando
ALTER TABLE (...) SHRINK SPACE: esse comando compacta a tabela, possivelmente movendo linhas e afetando os valoresROWIDdelas. - Operações de particionamento: dividir, mesclar ou mover partições pode mudar o posicionamento físico das linhas e os valores
ROWIDdelas.
- Operações de exportação e importação: quando você exporta uma tabela e a importa novamente, o local físico das linhas pode mudar, resultando em novos valores
Operações de flashback:
- Comando
FLASHBACK TABLE: restaurar uma tabela para um estado anterior envolve excluir e reinserir linhas, criando novos valoresROWID. FLASHBACK_TRANSACTION_QUERY: semelhante aFLASHBACK TABLE. A reversão de uma transação pode causar mudanças deROWIDse as linhas foram excluídas ou atualizadas na transação.
- Comando
Versões
O Datastream é compatível com as seguintes versões do banco de dados Oracle:
- Oracle 11g, versão 11.2.0.4 (com suporte apenas para o método Logminer CDC)
- Oracle 12c, versão 12.1.0.2
- Oracle 12c, versão 12.2.0.1
- Oracle 18c
- Oracle 19c
- Oracle 21c
O Datastream oferece suporte aos 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 de 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.
Práticas recomendadas
Esta seção descreve as práticas recomendadas para configurar sua origem da Oracle para uso com o Datastream.
Diferenciação entre maiúsculas e minúsculas para o leitor binário
Ao configurar uma origem da Oracle com o método CDC do leitor binário e especificar nomes de diretório para redo logs e logs de arquivo, observe que os nomes diferenciam maiúsculas de minúsculas. Verifique se os nomes de diretório fornecidos no perfil de conexão do Datastream correspondem exatamente ao caso dos nomes de diretório no banco de dados Oracle.
Concorrência de CDC
Para minimizar o atraso de replicação, verifique se o Datastream pode processar redo logs tão rápido quanto a origem da Oracle os cria. Ao usar o método CDC do leitor binário, a simultaneidade do Datastream está no nível do arquivo de redo log: cada tarefa definida por maxConcurrentCdcTasks processa um arquivo por vez.
Recomendamos que você use a seguinte metodologia:
- Ajustar a simultaneidade no Datastream: identifique o número médio de
mudanças de redo log durante o horário de funcionamento de pico e configure o
maxConcurrentCdcTasksparâmetro de acordo. Para mais informações, consulte Número máximo de tarefas de CDC. - Configurar a troca de registros da Oracle:configure a Oracle para trocar registros com frequência, por exemplo, a cada 10 a 20 minutos. Isso cria um fluxo constante de unidades de trabalho menores, permitindo que as tarefas simultâneas do Datastream funcionem em paralelo de maneira eficaz.
Recomendamos que você otimize as configurações para que haja tarefas simultâneas suficientes no Datastream para lidar com a criação frequente de redo logs menores da Oracle. Para mais informações, consulte Controles de simultaneidade de stream.
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 stream incluir mais de 10.000 tabelas, ele poderá gerar erros.
- O Datastream oferece suporte à arquitetura multilocatária da Oracle (CDB/PDB). No entanto, só é possível replicar um único banco de dados conectá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 o
ROWIDda linha para realizar uma operação de mesclagem no lado do consumidor. OROWIDpode não ser exclusivo. Se você excluir e reinserir uma linha com o utilitário de exportação/importação da Oracle, por exemplo, oROWIDda linha poderá mudar. Se você excluir uma linha, a Oracle poderá reatribuir oROWIDa uma nova linha inserida posteriormente. - 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,UROWIDeXMLTYPEnão são compatíveis e são substituídas por valoresNULL. - Para transmitir colunas de tipos de dados de objetos grandes, como objetos binários grandes (
BLOB), objetos de caracteres grandes (CLOB) e objetos de caracteres nacionais grandes (NCLOB), inclua a flagstreamLargeObjectsna configuração do stream. Se você não incluir a flag, o Datastream não transmitirá essas colunas, e elas serão substituídas por valoresNULLno destino. Para mais informações, consulte Ativar o streaming de objetos grandes para origens da Oracle. - Para o Oracle 11g, as tabelas com colunas de tipos de dados
ANYDATAouUDTnã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 mudança de 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
SAVEPOINTnão são compatíveis e podem causar discrepâncias de dados em caso de reversão. - Ao usar o método Oracle LogMiner, o Datastream não oferece suporte à replicação de tabelas e colunas com nomes que excedam 30 caracteres.
- O Datastream oferece suporte às seguintes codificações de conjunto de caracteres para bancos de dados Oracle:
AL16UTF16AL32UTF8IN8ISCIIIW8ISO8859P8JA16SJISJA16SJISTILDEKO16MSWIN949US7ASCIIUTF8WE8ISO8859P1WE8ISO8859P9WE8ISO8859P15WE8MSWIN1252ZHT16BIG5
- O Datastream não oferece suporte à replicação de valores de data zero. Essas datas são substituídas por valores
NULL. - O Datastream não oferece suporte à conectividade direta a bancos de dados usando o recurso Single Client Access Name (SCAN) em ambientes Oracle Real Application Clusters (RAC). Para informações sobre possíveis soluções, consulte Comportamento e limitações da origem da Oracle.
- Se a origem for um banco de dados de espera do Oracle Active Data Guard, o Datastream não oferecerá suporte à replicação de dados criptografados.
Outras limitações ao usar o leitor binário
O leitor binário não oferece suporte aos seguintes recursos:
- Criptografia transparente de banco de dados (TDE)
- Compactação de coluna híbrida
- Arquivos seguros
- 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 versões anteriores.
A seguir
- Saiba como configurar uma origem da Oracle para uso com o Datastream.