O DataWorks oferece o Oracle Reader e o Oracle Writer para leitura e gravação em fontes de dados Oracle. Configure tarefas de sincronização de dados para essas fontes usando a interface do usuário (UI) sem código ou o editor de código. Este tópico descreve os recursos de sincronização de dados compatíveis com fontes de dados Oracle.
Versões compatíveis
Leitura e gravação de dados em lote
|
Versão |
Leitura de dados em lote (Oracle Reader) |
Gravação de dados em lote (Oracle Writer) |
|
Oracle 11.2 ou 11gR2 |
Compatível |
Compatível |
|
Oracle 12.1 ou 12cR1 |
Compatível |
Compatível |
|
Oracle 12.2 ou 12cR2 |
Compatível (sem novos recursos) |
Compatível (sem novos recursos) |
|
Oracle 18.3 |
Compatível (sem novos recursos) |
Compatível (sem novos recursos) |
|
Oracle 19.x |
Compatível (sem novos recursos) |
Compatível (sem novos recursos) |
|
Oracle 21.1 |
Compatível (sem novos recursos) |
Compatível (sem novos recursos) |
O Oracle Writer utiliza o driver ojdbc6-12.1.1.jar.
Leitura de dados em tempo real
-
Compatível:
Bancos de dados
11g R2 and above,12c non cdb,18c non cdb,19c non cdbou19c cdb. -
Não compatível:
Bancos de dados
12c cbde18c cbd. Ao usar o Oracle como source em uma tarefa de sincronização de banco de dados completo em tempo real, ative o recurso de log de arquivamento. Para mais informações, consulte Preparação do ambiente Oracle.
Um banco de dados contêiner (CDB) é um recurso introduzido no Oracle 12c e versões posteriores, projetado para hospedar vários bancos de dados conectáveis (PDBs).
Limitações
Os conjuntos de caracteres NLS_CHARACTERSET e NLS_NCHAR_CHARACTERSET da instância Oracle devem ser um dos seguintes: AL32UTF8, AL16UTF16, ZHS16GBK ou UTF8.
Uma única instância Oracle suporta sincronização em tempo real de até 500 GB de dados incrementais por dia.
Quando o DataWorks lê dados de um banco de dados standby Oracle em tempo real, apenas bancos de dados standby físicos são suportados. Como somente logs de arquivamento são extraídos, a latência é maior do que a do banco de dados primário e depende da velocidade de geração desses logs.
A sincronização em tempo real não suporta views. A sincronização em lote suporta leitura a partir de views.
O DataWorks lê dados Oracle em tempo real com base no Oracle LogMiner. Ative o log suplementar e o log de arquivamento no banco de dados primário Oracle (para o banco primário ou standby).
Tabelas organizadas por índice não são suportadas.
Tabelas cujas colunas sejam exclusivamente do tipo LOB (BLOB, CLOB ou NCLOB) não são suportadas.
Caracteres chineses em nomes de tabelas e colunas do Oracle não são suportados.
Nomes de tabela Oracle que excedam 30 bytes não são suportados.
Tipos de coluna compatíveis
|
Tipo de coluna |
Leitura de dados em lote (Oracle Reader) |
Gravação de dados em lote (Oracle Writer) |
Leitura de dados em tempo real |
|
NUMBER |
Compatível |
Compatível |
Compatível |
|
BINARY FLOAT |
Compatível |
Compatível |
Compatível |
|
BINARY DOUBLE |
Compatível |
Compatível |
Compatível |
|
CHAR |
Compatível |
Compatível |
Compatível |
|
NCHAR |
Compatível |
Compatível |
Compatível |
|
VARCHAR2 |
Compatível |
Compatível |
Compatível |
|
NVARCHAR2 |
Compatível |
Compatível |
Compatível |
|
DATE |
Compatível |
Compatível |
Compatível |
|
TIMESTAMP |
Compatível |
Compatível |
Compatível |
|
TIMESTAMP WITH TIME ZONE |
Compatível |
Compatível |
Não compatível |
|
TIMESTAMP WITH LOCAL TIME ZONE |
Compatível |
Compatível |
Não compatível |
|
CLOB |
Compatível |
Compatível |
Compatível |
|
BLOB |
Compatível |
Compatível |
Compatível |
|
RAW |
Compatível |
Compatível |
Compatível |
|
ROWID |
Não compatível |
Não compatível |
Compatível |
|
UROWID |
Não compatível |
Não compatível |
Compatível |
|
FLOAT |
Compatível |
Compatível |
Compatível |
|
INTERVAL DAY TO SECOND |
Não compatível |
Não compatível |
Compatível |
|
INTERVAL YEAR TO MONTH |
Não compatível |
Não compatível |
Compatível |
|
BFILE |
Não compatível |
Não compatível |
Não compatível |
|
LONG |
Não compatível |
Não compatível |
Não compatível |
|
LONG RAW |
Não compatível |
Não compatível |
Não compatível |
|
NCLOB |
Compatível |
Compatível |
Não compatível |
|
STRUCT |
Compatível |
Compatível |
Não compatível |
|
User-Defined Types |
Não compatível |
Não compatível |
Não compatível |
|
AnyType |
Não compatível |
Não compatível |
Não compatível |
|
AnyData |
Não compatível |
Não compatível |
Não compatível |
|
AnyDataSet |
Não compatível |
Não compatível |
Não compatível |
|
XmlType |
Não compatível |
Não compatível |
Não compatível |
|
Spatial Types |
Não compatível |
Não compatível |
Não compatível |
|
Media Types |
Não compatível |
Não compatível |
Não compatível |
A tabela a seguir lista as conversões de tipo de dados suportadas pelo Oracle Reader.
|
Categoria de tipo |
Tipo de dados Oracle |
|
Inteiro |
NUMBER, RAWID, INTEGER, INT e SMALLINT |
|
Ponto flutuante |
NUMERIC, DECIMAL, FLOAT, DOUBLE PRECISION e REAL |
|
String |
LONG, CHAR, NCHAR, VARCHAR, VARCHAR2, NVARCHAR2, CLOB, NCLOB, CHARACTER, CHARACTER VARYING, CHAR VARYING, NATIONAL CHARACTER, NATIONAL CHAR, NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING e NCHAR VARYING |
|
Data e hora |
TIMESTAMP e DATE |
|
Booleano |
BIT e BOOL |
|
Binário |
BLOB, BFILE, RAW e LONG RAW |
Preparação pré-sincronização: Preparação do ambiente Oracle
Antes de sincronizar dados no DataWorks, prepare o ambiente Oracle conforme descrito nesta seção. Isso garante que as tarefas de sincronização de dados Oracle possam ser configuradas e executadas corretamente no DataWorks. As seções a seguir detalham as etapas de preparação.
Verifique a versão do banco de dados Oracle
As versões de banco de dados Oracle compatíveis variam conforme o cenário de sincronização. Antes de iniciar, verifique se a versão do seu banco de dados Oracle é compatível.
-
Execute uma das instruções a seguir para verificar a versão do banco de dados Oracle.
-
Instrução 1:
select * from v$version; -
Instrução 2:
select version from v$instance;
-
-
Se a versão do banco de dados Oracle for
12cou18c, execute a instrução abaixo para verificar se o banco é do tipocdb. Tarefas de sincronização em tempo real do Data Integration não suportam bancos de dados Oracle12ce18ccdb.select name,cdb,open_mode,con_id from v$database;
Crie uma conta e configure as permissões
Planeje uma conta de login no banco de dados para as operações subsequentes. Essa conta deve ter as permissões necessárias para operações no Oracle.
Crie uma conta. Para mais informações, consulte CREATE USER.
-
Configure as permissões.
Execute os comandos a seguir para conceder permissões à conta. Nas instruções abaixo, substitua
'sync_account'pela conta criada.grant create session to 'sync_account'; //Grant the sync account permission to log in to the database. grant connect to 'sync_account'; //Grant the sync account permission to connect to the database. grant select on nls_database_parameters to 'sync_account'; //Grant the sync account permission to query the nls_database_parameters system configuration of the database. grant select on all_users to 'sync_account'; //Grant the sync account permission to query all users in the database. grant select on all_objects to 'sync_account'; //Grant the sync account permission to query all objects in the database. grant select on DBA_MVIEWS to 'sync_account'; //Grant the sync account permission to view materialized views of the database. grant select on DBA_MVIEW_LOGS to 'sync_account'; //Grant the sync account permission to view materialized view logs of the database. grant select on DBA_CONSTRAINTS to 'sync_account'; //Grant the sync account permission to view constraint information of all tables in the database. grant select on DBA_CONS_COLUMNS to 'sync_account'; //Grant the sync account permission to view information about all columns in specified constraints of all tables in the database. grant select on all_tab_cols to 'sync_account'; //Grant the sync account permission to view column information of tables, views, and clusters in the database. grant select on sys.obj$ to 'sync_account'; //Grant the sync account permission to view objects in the database. The sys.obj$ table is the base object table in the Oracle data dictionary, storing all Oracle objects. grant select on SYS.COL$ to 'sync_account'; //Grant the sync account permission to view column definition information of database tables. SYS.COL$ stores column definition information of tables. grant select on sys.USER$ to 'sync_account'; //Grant the sync account permission to view database system tables. sys.USER$ is the default service for user sessions. grant select on sys.cdef$ to 'sync_account'; //Grant the sync account permission to view database system tables. grant select on sys.con$ to 'sync_account'; //Grant the sync account permission to view constraint information of the database. sys.con$ stores Oracle constraint information. grant select on all_indexes to 'sync_account'; //Grant the sync account permission to view all indexes of the database. grant select on v_$database to 'sync_account'; //Grant the sync account permission to view the v_$database view of the database. grant select on V_$ARCHIVE_DEST to 'sync_account'; //Grant the sync account permission to view the V_$ARCHIVE_DEST view of the database. grant select on v_$log to 'sync_account'; //Grant the sync account permission to view the v_$log view of the database. v_$log displays log file information from the control file. grant select on v_$logfile to 'sync_account'; //Grant the sync account permission to view the v_$logfile view of the database. v_$logfile contains information about redo log files. grant select on v_$archived_log to 'sync_account'; //Grant the sync account permission to view the v$archived_log view of the database. v$archived_log contains information about archived logs. grant select on V_$LOGMNR_CONTENTS to 'sync_account'; //Grant the sync account permission to view the V_$LOGMNR_CONTENTS view of the database. grant select on DUAL to 'sync_account'; //Grant the sync account permission to view the DUAL table of the database. DUAL is a virtual table used to conform to the SELECT syntax rules. Oracle's DUAL table contains only one record. grant select on v_$parameter to 'sync_account'; //Grant the sync account permission to view the v_$parameter view of the database. v$parameter is an Oracle dynamic dictionary table that stores database parameter settings. grant select any transaction to 'sync_account'; //Grant the sync account permission to view any transaction in the database. grant execute on SYS.DBMS_LOGMNR to 'sync_account'; //Grant the sync account permission to use the LogMiner tool of the database. The LogMiner tool helps you analyze transactions and recover lost data. grant alter session to 'sync_account'; //Grant the sync account permission to alter database sessions. grant select on dba_objects to 'sync_account'; //Grant the sync account permission to view all objects in the database. grant select on v_$standby_log to 'sync_account'; //Grant the sync account permission to view the v_$standby_log view of the database. v_$standby_log contains archived logs of the standby database. grant select on v_$ARCHIVE_GAP to 'sync_account'; //Grant the sync account permission to query missing archived logs. grant select on sys.ICOL$ to 'sync_account'; //Grant the sync account permission to view objects in the database. The sys.obj$ table is the base object table in the Oracle data dictionary, storing all Oracle objects. grant select on V_$THREAD to 'sync_account'; //Grant the sync account permission to view instance thread information. The V_$THREAD view is a thread status table in Oracle dynamic performance views, storing thread status information of each instance in a RAC cluster, used to determine instance status and log sources during incremental parsing.Para utilizar a sincronização completa em lote, execute o comando a fim de conceder à conta de sincronização permissão de consulta em todas as tabelas.
grant select any table to 'sync_account';No Oracle 12c e versões posteriores, execute o comando abaixo para conceder à conta de sincronização permissão para realizar mineração de logs. Em versões anteriores ao Oracle 12c, esse recurso já vem integrado e o comando não é necessário.
grant LOGMINING TO 'sync_account';
Ative o log de arquivamento, o log suplementar e alterne arquivos de Redo log
-
Ative o log de arquivamento executando as instruções SQL a seguir.
shutdown immediate; startup mount; alter database archivelog; alter database open; -
Ative o log suplementar.
Ative o log suplementar adequado às suas necessidades executando as instruções SQL abaixo.
//To capture complete data changes, real-time synchronization requires enabling supplemental logging. You can enable it at the database level using the following SQL statements: alter database add supplemental log data(primary key) columns; //Enable supplemental logging for primary key columns of the database. alter database add supplemental log data(unique) columns; //Enable supplemental logging for unique index columns of the database. //You can also enable it at the table level: alter schema.table add supplemental log data(primary key) columns; //Enable supplemental logging for primary key columns of the specified table. alter schema.table add supplemental log data(unique) columns; //Enable supplemental logging for unique index columns of the specified table. -
Alterne os arquivos de Redo log.
Após ativar o log suplementar, execute o comando a seguir várias vezes (recomendamos 5 vezes) para alternar os arquivos de Redo log.
alter system switch logfile;NotaExecutar o comando anterior múltiplas vezes garante que o arquivo de log atual seja alternado para o próximo ao atingir sua capacidade. Isso evita a perda de registros de operação e permite sua utilização na recuperação de dados subsequente.
Verifique a codificação de caracteres do banco de dados
Execute o comando abaixo no banco de dados para verificar a codificação de caracteres.
select * from v$nls_parameters where PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
A view v$nls_parameters armazena as configurações dos parâmetros do banco de dados.
Os parâmetros NLS_CHARACTERSET e NLS_NCHAR_CHARACTERSET definem o conjunto de caracteres do banco e o conjunto de caracteres nacional, indicando os tipos de armazenamento das duas principais categorias de dados de caracteres no Oracle.
O Data Integration suporta apenas os formatos de codificação UTF8, AL32UTF8, AL16UTF16 e ZHS16GBK. Caso o banco de dados contenha codificações não suportadas, modifique-as antes de sincronizar os dados.
Verifique os tipos de dados das tabelas do banco de dados
Utilize uma instrução SELECT para consultar os tipos de dados das tabelas. O exemplo a seguir demonstra como visualizar os tipos de dados de uma tabela chamada 'tablename'.
select COLUMN_NAME,DATA_TYPE from all_tab_columns where TABLE_NAME='tablename';
COLUMN_NAME: Nome da coluna da tabela.
DATA_TYPE: Tipo de dados da coluna.
all_tab_columns: View que armazena informações sobre todas as colunas das tabelas do banco de dados.
TABLE_NAME: Nome da tabela a ser consultada. Substitua 'tablename' pelo nome real da tabela ao executar a instrução.
Também é possível executar select * from 'tablename'; para consultar todas as informações de uma tabela e obter os tipos de dados.
Adicionar uma fonte de dados
Antes de desenvolver uma tarefa de sincronização no DataWorks, adicione a fonte de dados necessária seguindo as instruções em Gerenciamento de fontes de dados. Consulte as descrições de parâmetros no console do DataWorks para entender o significado de cada parâmetro ao adicionar uma fonte de dados.
Desenvolvimento de tarefa de sincronização de dados: Processo de sincronização Oracle
Para informações sobre o ponto de entrada e o procedimento de configuração de uma tarefa de sincronização, consulte os guias de configuração a seguir.
Configuração de tarefa de sincronização em lote de tabela única
Para o procedimento, consulte Configurar uma tarefa de sincronização em lote no modo assistente e Configurar uma tarefa de sincronização em lote no modo script.
Para obter os parâmetros completos e o exemplo de script da configuração no modo script, consulte Apêndice: Exemplo de script e descrição de parâmetros.
Configuração de tarefa de sincronização em tempo real de tabela única
Para o procedimento, consulte Configurar uma tarefa de sincronização em tempo real.
Configuração de sincronização em lote de banco completo, sincronização completa e incremental de banco completo (tempo real) e sincronização fragmentada de banco completo (tempo real)
Para o procedimento, consulte Configurar uma tarefa de sincronização de banco de dados completo.
Perguntas frequentes
-
Sincronização primário-standby e recuperação de dados
Esse problema ocorre quando o Oracle utiliza recuperação de desastres primário-standby. Após uma falha no banco de dados primário e a alternância para o standby, este recupera continuamente os dados do primário via binlog. Devido à diferença temporal na sincronização entre primário e standby, condições específicas como latência de rede podem fazer com que os dados recuperados pelo standby divirjam significativamente do primário. Nesse caso, os dados sincronizados a partir do standby não representam um snapshot completo no momento atual.
-
Restrições de consistência
O Oracle é um RDBMS que fornece interfaces de consulta de dados com forte consistência. Por exemplo, durante uma tarefa de sincronização, se outros gravadores inserirem dados no banco, o Oracle Reader não lerá esses novos dados devido ao recurso de snapshot do banco de dados.
O cenário acima garante consistência de dados sob o modelo single-threaded do Oracle Reader. Quando o Oracle Reader extrai dados simultaneamente com base na sua configuração, a consistência estrita dos dados não pode ser garantida.
Após o Oracle Reader dividir os dados com base em splitPk, ele inicia múltiplas tarefas concorrentes para sincronização. Essas tarefas não pertencem à mesma transação de leitura e há intervalos de tempo entre elas. Portanto, os dados não constituem um snapshot completo e consistente.
Snapshots consistentes multithread não são tecnicamente viáveis. A questão só pode ser tratada sob uma perspectiva de engenharia, com compensações. As soluções a seguir são fornecidas para referência.
Utilize sincronização single-threaded sem divisão de dados. Essa abordagem é mais lenta, mas garante a consistência dos dados.
Interrompa outros gravadores de dados para garantir que os dados estejam estáticos. Por exemplo, bloqueie a tabela ou pare a sincronização do banco standby. A desvantagem é que isso pode afetar serviços online.
-
Codificação do banco de dados
O Oracle Reader usa JDBC para extrair dados. O JDBC suporta nativamente várias codificações e realiza a conversão na camada subjacente. Assim, o Oracle Reader não exige que você especifique uma codificação, pois ele detecta e converte automaticamente.
-
Métodos de sincronização incremental de dados
O Oracle Reader utiliza instruções JDBC SELECT para extrair dados. Use
SELECT…WHERE…para extrair dados incrementais das seguintes formas:Quando uma aplicação online grava dados no banco, ela preenche o campo de modificação com o timestamp da alteração, incluindo operações de insert, update e delete (exclusão lógica). Para tais aplicações, o Oracle Reader precisa apenas anexar o timestamp da última etapa de sincronização à cláusula WHERE.
Para dados de streaming recém-adicionados, o Oracle Reader precisa apenas anexar o ID autoincremental máximo da etapa anterior à cláusula WHERE.
Se nenhum campo puder distinguir dados novos de modificados, o Oracle Reader não conseguirá realizar sincronização incremental e sincronizará apenas dados completos.
-
Segurança de SQL
O Oracle Reader oferece o recurso querySql, que permite escrever instruções SELECT personalizadas. O Oracle Reader não realiza nenhuma validação de segurança em querySql.
Apêndice: Exemplo de script e descrição de parâmetros
Configurar uma tarefa de sincronização em lote usando o editor de código
Para configurar uma tarefa de sincronização em lote usando o editor de código, defina os parâmetros relevantes no script conforme os requisitos unificados de formato. Para mais informações, consulte Configuração no modo script. As informações a seguir descrevem os parâmetros obrigatórios para fontes de dados ao configurar uma tarefa de sincronização em lote via editor de código.
Exemplo de script do Reader
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "oracle",
"parameter": {
"selectedDatabase": "AUTOTEST",
"indexes": [],
"datasource": "oracle_test",
"envType": 0,
"useSpecialSecret": true,
"column": [
"id"
],
"where": "",
"splitPk": "id",
"encoding": "UTF-8",
"table": "AUTOTEST.table01"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "odps",
"parameter": {
},
"name": "Writer",
"category": "writer"
},
{
"name": "Processor",
"stepType": null,
"category": "processor",
"copies": 1,
"parameter": {
"nodes": [],
"edges": [],
"groups": [],
"version": "2.0"
}
}
],
"setting": {
"executeMode": null,
"errorLimit": {
"record": ""
},
"speed": {
"concurrent": 2,
"throttle": false
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Parâmetros do script do Reader
Parâmetro | Descrição | Obrigatório | Valor padrão |
datasource | Nome da fonte de dados. Adicione uma fonte de dados no modo script. O valor deste parâmetro deve corresponder exatamente ao nome da fonte de dados adicionada. | Sim | N/A |
selectedDatabase | Schema do banco de dados a ser sincronizado. | Sim | N/A |
table | Nome da tabela a ser sincronizada. O valor deve estar no formato Nota Por exemplo, se selectedDatabase for | Sim | N/A |
column | Colunas a serem sincronizadas da tabela. As colunas são descritas usando um array JSON. Por padrão, todas as colunas são selecionadas, por exemplo, ["*"].
| Sim | N/A |
splitFactor | Fator de divisão. Especifica o número de divisões para sincronização de dados. Se múltiplas threads concorrentes forem configuradas, os dados serão divididos em concurrency × splitFactor partes. Por exemplo, se a concorrência for 5 e splitFactor for 5, os dados serão divididos em 5 × 5 = 25 partes e executados em 5 threads concorrentes. Nota Faixa de valores recomendada: 1 a 100. Um valor excessivamente alto pode causar erros de falta de memória (OOM). | Não | 5 |
splitMode | Modo de divisão. Valores válidos:
Nota O parâmetro splitMode deve ser usado em conjunto com o parâmetro splitPk.
| Não | randomSampling |
splitPk | Durante a extração de dados pelo Oracle Reader, especificar splitPk indica o uso do campo representado por splitPk para dividir os dados. A sincronização inicia então tarefas concorrentes, melhorando a eficiência.
Nota O campo splitPK não pode usar ROWID para views. | Não | N/A |
where | Condição de filtro. O Oracle Reader concatena uma instrução SQL com base nas condições column, table e where especificadas e extrai dados conforme essa instrução. Por exemplo, durante testes, você pode definir a condição where como row_number().
| Não | N/A |
querySql (modo avançado, não suportado no modo assistente) | Em alguns cenários de negócios, a condição where não basta para descrever os filtros. Utilize este parâmetro para especificar uma instrução SQL de filtro personalizada. Ao configurá-lo, o sistema de sincronização ignora as definições de table e column, usando diretamente essa SQL para filtrar dados. Por exemplo, para sincronizar dados após um join de múltiplas tabelas, utilize | Não | N/A |
fetchSize | Número de linhas que o plug-in busca do servidor de banco de dados em cada lote. Esse valor determina o número de idas e vindas na rede entre o sistema de sincronização e o servidor, podendo melhorar significativamente o desempenho de extração. Nota Um valor de fetchSize muito alto (>2048) pode causar erros OOM durante a sincronização. | Não | 1.024 |
Exemplo de script do Writer
{ "type":"job", "version":"2.0",// The version number. "steps":[ { "stepType":"stream", "parameter":{}, "name":"Reader", "category":"reader" }, { "stepType":"oracle",// The plug-in name. "parameter":{ "postSql":[],// The SQL statements to run after the data synchronization task is complete. "datasource":"", "session":[],// The database connection session parameters. "column":[// The columns. "id", "name" ], "encoding":"UTF-8",// The encoding format. "batchSize":1024,// The number of records to commit in each batch. "table":"",// The table name. "preSql":[]// The SQL statements to run before the data synchronization task starts. }, "name":"Writer", "category":"writer" } ], "setting":{ "errorLimit":{ "record":"0"// The error count. }, "speed":{ "throttle":true,// When throttle is set to false, the mbps parameter does not take effect and throttling is disabled. When throttle is set to true, throttling is enabled. "concurrent":1, // The concurrency. "mbps":"12"// The throttling rate. 1 mbps = 1 MB/s. } }, "order":{ "hops":[ { "from":"Reader", "to":"Writer" } ] } }
Parâmetros do script do Writer
|
Parâmetro |
Descrição |
Obrigatório |
Valor padrão |
|
datasource |
Nome da fonte de dados. Adicione uma fonte de dados no modo script. O valor deve corresponder exatamente ao nome da fonte de dados adicionada. |
Sim |
N/A |
|
table |
Nome da tabela de destino. Se o schema da tabela diferir do nome de usuário configurado anteriormente, especifique a tabela no formato schema.table. |
Sim |
N/A |
|
writeMode |
Modo de gravação. Apenas INSERT INTO é suportado. Quando ocorre conflito de chave primária ou índice único, as linhas conflitantes não são gravadas e são registradas como dados incorretos. |
Não |
insert into |
|
column |
Colunas nas quais os dados serão gravados na tabela de destino. Separe os nomes das colunas por vírgulas (,). Por exemplo, |
Sim |
N/A |
|
preSql |
Instruções SQL a serem executadas antes do início da tarefa de sincronização. Atualmente, o modo assistente permite apenas uma instrução SQL, enquanto o modo script suporta múltiplas. Use este parâmetro, por exemplo, para limpar dados antigos. |
Não |
N/A |
|
postSql |
Instruções SQL a serem executadas após a conclusão da tarefa de sincronização. O modo assistente permite apenas uma instrução, enquanto o modo script suporta várias. Utilize este parâmetro, por exemplo, para adicionar um timestamp. |
Não |
N/A |
|
batchSize |
Número de registros a serem confirmados em cada lote. Esse valor reduz significativamente as idas e vindas na rede entre o sistema de sincronização e o Oracle, aumentando o throughput geral. Valores muito altos podem causar erros OOM durante o processo. |
Não |
1.024 |