Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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 é compatível com dois métodos de extração de mudanças nos dados dos arquivos de registro redo on-line: o leitor de registros binários do Oracle (prévia) e o Oracle LogMiner.
Com o método de leitura de registros binários (prévia), o seguinte comportamento é observado:
Se houver um atraso de leitura ao extrair as mudanças dos arquivos de registros on-line, o Datastream vai extrair as mudanças dos arquivos de registros arquivados.
O Datastream replica apenas as mudanças confirmadas no destino.
Transações não confirmadas ou revertidas não são replicadas.
O leitor binário é compatível com a replicação de colunas VARCHAR2 do Oracle com mais de 4.000 caracteres.
O Datastream também é compatível com o 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 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 nas operações de backfill. Por isso, recomendamos que você não execute nenhuma ação que possa mudar os valores de ROWID no banco de dados Oracle de origem até que a operação de backfill seja concluída.
As ações que podem mudar os valores de ROWID incluem:
Movimentação física das linhas:
Operações de exportação e importação: quando você exporta uma tabela e a importa de volta, o local físico das linhas pode mudar, resultando em novos valores de ROWID.
Comando ALTER TABLE (...) MOVE: mover uma tabela para um tablespace diferente pode mudar o armazenamento físico e levar a alterações de ROWID.
Comando ALTER TABLE (...) SHRINK SPACE: comprime a tabela, podendo mover linhas e afetar os valores de ROWID.
Operações de particionamento: dividir, mesclar ou mover partições pode mudar o posicionamento físico 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. A reversão de uma transação pode causar mudanças no ROWID se as linhas forem excluídas ou atualizadas durante a 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 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.
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 é compatível com a arquitetura multilocatária da Oracle (CDB/PDB), mas só é possível 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 o 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 dela 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 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 binários grandes (BLOB), objetos de caracteres grandes (CLOB) e objetos de caracteres nacionais grandes (NCLOB), inclua a flag streamLargeObjects na configuração de transmissão. 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 fontes 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 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 SAVEPOINT não são compatíveis e podem causar discrepância de dados em caso de um rollback.
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 é compatível com as seguintes codificações de conjuntos de caracteres para bancos de dados Oracle:
AL16UTF16
AL32UTF8
IN8ISCII
IW8ISO8859P8
JA16SJIS
JA16SJISTILDE
KO16MSWIN949
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.
O Datastream não oferece suporte à conectividade direta com 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 do Oracle.
Se a origem for um banco de dados standby do Oracle Active Data Guard, o Datastream não vai oferecer suporte à replicação de dados criptografados.
Outras limitações ao usar o leitor binário
O leitor binário não é compatível com os seguintes recursos:
Criptografia transparente de banco de dados (TDE)
Compactação de coluna híbrida
Proteger arquivos
O ASM não é compatível com fontes do Amazon RDS.
O método de CDC do leitor binário não é compatível com o Oracle 11g e versões anteriores.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-12 UTC."],[[["\u003cp\u003eDatastream extracts data changes from Oracle databases using either the Oracle binary log reader or Oracle LogMiner, each with distinct behaviors regarding committed vs.uncommitted transactions and handling of data types.\u003c/p\u003e\n"],["\u003cp\u003eDatastream supports multiple versions of Oracle database, ranging from 11g to 21c, and various deployment types including self-hosted, Amazon RDS, and Oracle Cloud, however Oracle Autonomous Database is not supported.\u003c/p\u003e\n"],["\u003cp\u003eProper configuration of the source Oracle database is required to allow Datastream to stream data, including setting up logging and defining a retention policy.\u003c/p\u003e\n"],["\u003cp\u003eThere are several known limitations when using an Oracle database as a source, such as restrictions on the number of tables, certain data types not being supported, and limitations on schema changes.\u003c/p\u003e\n"],["\u003cp\u003eThe use of the binary reader has additional limitations such as not supporting Transparent Database Encryption, Hybrid Columnar Compression, and Secure files, as well as not being available for Oracle 11g and earlier versions.\u003c/p\u003e\n"]]],[],null,["# Source Oracle database\n\nThis section contains information about:\n\n- The behavior of how Datastream handles data that's being pulled from a source Oracle database\n- The versions of Oracle database that Datastream supports\n- An overview of how to setup a source Oracle database so that data can be streamed from it to a destination\n- Known limitations for using Oracle database as a source\n\nBehavior\n--------\n\nDatastream supports two methods of extracting changes to the data from\nonline redo log files: the Oracle binary log reader\n([Preview](/products#product-launch-stages)) and the Oracle LogMiner.\n\nWith the binary log reader method\n([Preview](/products#product-launch-stages)), the following behavior\nis observed:\n\n- If there's a read lag when extracting the changes from the online log files,\n Datastream extracts the changes from archived log files.\n\n- Datastream replicates only committed changes into the destination.\n Uncommitted or rolled back transactions aren't replicated.\n\n- The binary reader supports replicating Oracle `VARCHAR2` columns longer than\n 4000 characters.\n\nDatastream also supports the [Oracle LogMiner](https://docs.oracle.com/en/database/oracle/oracle-database/18/sutil/oracle-logminer-utility.html#GUID-3417B738-374C-4EE3-B15C-3A66E01AE2B5) feature for exposing changes to the data. The method has the following behavior:\n\n- All schemas or specific schemas from a given database, as well as all tables from the schemas or specific tables, can be selected.\n- All historical data is replicated.\n- All data manipulation language (DML) changes, such as inserts, updates, and deletes from the specified databases and tables, are replicated.\n- Datastream replicates both committed and, in some cases, uncommitted changes into the destination. Datastream reads uncommitted changes. In case of a rollback, the Datastream output records also include the opposite operation. For example, if there's a rolled-back `INSERT` operation, then the output records will also contain a corresponding `DELETE` operation. In this case, the event will appear as a `DELETE` event with only the `ROWID`.\n\n### `ROWID` based backfill\n\nIn Oracle, `ROWID` is a pseudocolumn that stores unique identifiers for rows in a table. Datastream uses the `ROWID` values for its backfill operations. Because of this, we recommend that you don't perform any actions that could change the `ROWID` values in your source Oracle database until the backfill operation completes.\n\nThe actions that can change the `ROWID` values include:\n\n- Physical movement of rows:\n\n - Export and import operations: when you export a table, and then you import it back, the physical location of rows might change, resulting in new `ROWID` values.\n - `ALTER TABLE (...) MOVE` command: moving a table to a different tablespace can change the physical storage and lead to `ROWID` changes.\n - `ALTER TABLE (...) SHRINK SPACE` command: this command compresses the table, potentially moving rows and affecting their `ROWID` values.\n - Partitioning operations: splitting, merging, or moving partitions can change the physical placement of rows and their `ROWID` values.\n- Flashback operations:\n\n - `FLASHBACK TABLE` command: restoring a table to a previous state involves deleting and re-inserting rows, thus creating new `ROWID` values.\n - `FLASHBACK_TRANSACTION_QUERY`: Similar to `FLASHBACK TABLE`. Rolling back a transaction can cause `ROWID` changes if rows were deleted or updated within the transaction.\n\nVersions\n--------\n\nDatastream supports the following versions of Oracle database:\n\n- Oracle 11g, Version 11.2.0.4 (supported only with the Logminer CDC method)\n- Oracle 12c, Version 12.1.0.2\n- Oracle 12c, Version 12.2.0.1\n- Oracle 18c\n- Oracle 19c\n- Oracle 21c\n\nDatastream supports the following types of Oracle database:\n\n- Self-hosted on-premises or on any cloud provider\n- Amazon RDS for Oracle\n- Oracle Cloud\n- Oracle Exadata\n- Oracle RAC\n- Oracle Active Data Guard standby database\n\nSetup\n-----\n\nTo set up a source Oracle database so that data from it can be streamed into a destination, you must configure the database to grant access, set up logging, and define a retention policy.\n\nSee [Configure a source Oracle database](/datastream/docs/configure-your-source-oracle-database) to learn how to configure this database so that Datastream can pull data from it into a destination.\n\nKnown limitations\n-----------------\n\nKnown limitations for using Oracle database as a source include:\n\n- Streams are limited to 10,000 tables. If a stream includes more than 10,000 tables, then it might run into errors.\n- Datastream supports Oracle multi-tenant architecture (CDB/PDB), however, you can only replicate a single pluggable database in a stream.\n- Oracle Autonomous Database isn't supported.\n- For tables that don't have a primary key, Datastream uses the row's [`ROWID`](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ROWID-Pseudocolumn.html) to perform a merge operation on the consumer side. Note that the `ROWID` might not be unique. If you delete and reinsert a row with [Oracle's Export/Import utility](https://docs.oracle.com/en/database/other-databases/nosql-database/21.2/admin/using-export-and-import-utilities.html), for example, then the row's `ROWID` might change. If you delete a row, then Oracle can reassign its `ROWID` to a new row inserted later.\n- Index-organized tables (IOTs) aren't supported.\n- Temporary tables aren't supported.\n- Columns of data types `ANYDATA`, `BFILE`, `INTERVAL DAY TO SECOND`, `INTERVAL YEAR TO MONTH`, `LONG/LONG RAW`, `SDO_GEOMETRY`, `UDT`, `UROWID`, `XMLTYPE` aren't supported, and are replaced with `NULL` values.\n- To stream columns of large object data types, such as binary large objects (`BLOB`), character large objects (`CLOB`) and national character large objects (`NCLOB`), you need to include the `streamLargeObjects` flag in your stream configuration. If you don't include the flag, Datastream doesn't stream such columns and they're replaced with `NULL` values in the destination. For more information, see [Enable streaming of large objects for Oracle sources](/datastream/docs/manage-streams#streamlargeobjects).\n- For Oracle 11g, tables that have columns of data types `ANYDATA` or `UDT` aren't supported, and the entire table won't be replicated.\n- Oracle Label Security (OLS) isn't replicated.\n- Datastream periodically fetches the latest schema from the source as events are processed. If a schema changes, then some events from the new schema might be read while the old schema is still applied. In this case, Datastream detects the schema change, triggers a schema fetch, and reprocesses the failed events.\n- Not all changes to the source schema can be detected automatically, in which case data corruption may occur. The following schema changes may cause data corruption or failure to process the events downstream:\n - Dropping columns\n - Adding columns to the middle of a table\n - Changing the data type of a column\n - Reordering columns\n - Dropping tables (relevant if the same table is then recreated with new data added)\n - Truncating tables\n- Datastream doesn't support replicating views.\n- Datastream supports materialized views. However, new views created while the stream is running aren't backfilled automatically.\n- When using the Oracle LogMiner method, [`SAVEPOINT` statements](https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10001.htm) aren't supported and can cause data discrepancy in case of a rollback.\n- When using the Oracle LogMiner method, Datastream doesn't support replicating tables and columns whose names exceed 30 characters.\n- Datastream supports the following character set encodings for Oracle databases:\n - `AL16UTF16`\n - `AL32UTF8`\n - `IN8ISCII`\n - `IW8ISO8859P8`\n - `JA16SJIS`\n - `JA16SJISTILDE`\n - `KO16MSWIN949`\n - `US7ASCII`\n - `UTF8`\n - `WE8ISO8859P1`\n - `WE8ISO8859P9`\n - `WE8ISO8859P15`\n - `WE8MSWIN1252`\n - `ZHT16BIG5`\n- Datastream doesn't support replicating zero date values. Such dates are replaced with `NULL` values.\n- Datastream doesn't support direct connectivity to databases using the Single Client Access Name (SCAN) feature in Oracle Real Application Clusters (RAC) environments. For information about potential solutions, see [Oracle source behavior and limitations](/datastream/docs/faq#oracle-source).\n- If the source is an Oracle Active Data Guard standby database, Datastream doesn't support replicating encrypted data.\n\nAdditional limitations when using the binary reader\n---------------------------------------------------\n\n|\n| **Preview**\n|\n|\n| This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\n- Binary reader doesn't support the following features:\n\n - Transparent Database Encryption (TDE)\n - Hybrid Columnar Compression\n - Secure files\n - ASM isn't supported for Amazon RDS sources.\n - The binary reader CDC method doesn't support Oracle 11g and earlier versions.\n\nWhat's next\n-----------\n\n- Learn how to [configure an Oracle source](/datastream/docs/configure-your-source-oracle-database) for use with Datastream."]]