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 banco de dados Oracle de origem depende do recurso Oracle Logminer para expor alterações nos dados.
- 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çãoDELETE
correspondente. Nesse caso, o evento aparecerá comoDELETE
apenas com oROWID
.
Preenchimento com base em ROWID
No Oracle, ROWID
é uma pseudocoluna que armazena identificadores exclusivos de 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 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 de ROWID
incluem:
Movimento físico de linhas:
- Operações de exportação e importação: quando você exporta uma tabela e depois a importa de volta, 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 alterar 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 valores deROWID
. - 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 exportação e importação: quando você exporta uma tabela e depois a importa de volta, 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çasROWID
se as linhas forem excluídas ou atualizadas dentro da 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
- 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
- Exadata do Oracle
- RAC Oracle
- Banco de dados de espera 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, defina uma política de retenção e assim por diante.
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 stream incluir mais de 10.000 tabelas, ele poderá apresentar erros.
- O Datastream oferece suporte à arquitetura multilocatária (CDB/PDB) do Oracle. 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
ROWID
da linha para executar uma operação de mesclagem no lado do consumidor. Observe que oROWID
pode não ser exclusivo. Se você excluir e reinserir uma linha com o utilitário Export/Import da Oracle, por exemplo, oROWID
da linha poderá mudar. Se você excluir uma linha, o Oracle poderá reatribuir aROWID
a 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 dos tipos de dados
ANYDATA
,BFILE
,INTERVAL DAY TO SECOND
,INTERVAL YEAR TO MONTH
,LONG/LONG RAW
,SDO_GEOMETRY
,UDT
,UROWID
,XMLTYPE
não são compatíveis e são substituídas por valoresNULL
. - Para transmitir colunas de tipos de dados de objetos grandes, como objetos grandes binários (
BLOB
), objetos de caracteres grandes (CLOB
) e objetos grandes de caracteres nacionais (NCLOB
), inclua a sinalizaçãostreamLargeObjects
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 valoresNULL
no destino. Para mais informações, consulte Ativar streaming de objetos grandes para fontes Oracle. - Para o Oracle 11g, as tabelas com colunas de tipos de dados
ANYDATA
ouUDT
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 mudar, alguns eventos do novo esquema poderão ser lidos enquanto o 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.
- As instruções
SAVEPOINT
não são compatíveis e podem causar discrepâncias 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 de
NULL
. - Gerar arquivos de registro muito grandes pode fazer com que o Datastream atinja o tempo limite, o que pode levar a uma falha no stream. O tamanho do arquivo de redo log recomendado é inferior a 1 GB.
- O Datastream não oferece suporte à conectividade direta a bancos de dados que usam o recurso de nome de acesso de cliente único (SCAN) em ambientes Oracle Real Application Clusters (RAC). Para saber mais sobre possíveis soluções, consulte Limitações e comportamento da fonte Oracle.
- Se a origem for um banco de dados em espera do Oracle Active Data Guard, o Datastream não vai ser compatível com a replicação de dados criptografados.
A seguir
- Saiba como configurar uma origem Oracle. para uso com o Datastream.