DataWorks ofrece Oracle Reader y Oracle Writer para leer y escribir en orígenes de datos Oracle. Puede utilizar la interfaz de usuario (UI) sin código o el editor de código para configurar tareas de sincronización de datos para orígenes de datos Oracle. Este tema describe las capacidades de sincronización de datos compatibles para orígenes de datos Oracle.
Versiones compatibles
Lectura y escritura de datos por lotes
|
Versión |
Lectura de datos por lotes (Oracle Reader) |
Escritura de datos por lotes (Oracle Writer) |
|
Oracle 11.2 o 11gR2 |
Compatible |
Compatible |
|
Oracle 12.1 o 12cR1 |
Compatible |
Compatible |
|
Oracle 12.2 o 12cR2 |
Compatible (sin nuevas funciones) |
Compatible (sin nuevas funciones) |
|
Oracle 18.3 |
Compatible (sin nuevas funciones) |
Compatible (sin nuevas funciones) |
|
Oracle 19.x |
Compatible (sin nuevas funciones) |
Compatible (sin nuevas funciones) |
|
Oracle 21.1 |
Compatible (sin nuevas funciones) |
Compatible (sin nuevas funciones) |
Oracle Writer utiliza el controlador ojdbc6-12.1.1.jar.
Lectura de datos en tiempo real
-
Compatible:
Bases de datos
11g R2 and above,12c non cdb,18c non cdb,19c non cdbo19c cdb. -
No compatible:
Bases de datos
12c cbdy18c cbd. Cuando se utiliza Oracle como origen de una tarea de sincronización en tiempo real de base de datos completa, debe habilitar la función de registro de archivado. Para obtener más información, consulte Oracle environment preparation.
Una base de datos contenedor (CDB) es una función introducida en Oracle 12c y versiones posteriores. Está diseñada para alojar varias bases de datos conectables (PDB).
Limitaciones
Los conjuntos de caracteres NLS_CHARACTERSET y NLS_NCHAR_CHARACTERSET de la instancia de Oracle deben ser uno de los siguientes: AL32UTF8, AL16UTF16, ZHS16GBK o UTF8.
Una sola instancia de Oracle admite la sincronización en tiempo real de hasta 500 GB de datos incrementales por día.
Cuando DataWorks lee datos de una base de datos en espera de Oracle en tiempo real, solo se admiten bases de datos en espera físicas. Solo se extraen registros de archivado, por lo que la latencia es mayor que la de la base de datos principal. La latencia depende de la velocidad a la que se generan los registros de archivado.
La sincronización en tiempo real no admite vistas. La sincronización por lotes admite la lectura desde vistas.
DataWorks lee datos de Oracle en tiempo real mediante Oracle LogMiner. Debe habilitar el registro suplementario y el registro de archivado en la base de datos principal de Oracle para la base de datos principal o en espera.
No se admiten tablas organizadas por índice.
No se admiten tablas en las que todas las columnas son de tipos LOB (BLOB, CLOB o NCLOB).
No se admiten caracteres chinos en nombres de tablas y nombres de columnas de Oracle.
No se admite un nombre de tabla de Oracle único que exceda los 30 bytes.
Tipos de columna compatibles
|
Tipo de columna |
Lectura de datos por lotes (Oracle Reader) |
Escritura de datos por lotes (Oracle Writer) |
Lectura de datos en tiempo real |
|
NUMBER |
Compatible |
Compatible |
Compatible |
|
BINARY FLOAT |
Compatible |
Compatible |
Compatible |
|
BINARY DOUBLE |
Compatible |
Compatible |
Compatible |
|
CHAR |
Compatible |
Compatible |
Compatible |
|
NCHAR |
Compatible |
Compatible |
Compatible |
|
VARCHAR2 |
Compatible |
Compatible |
Compatible |
|
NVARCHAR2 |
Compatible |
Compatible |
Compatible |
|
DATE |
Compatible |
Compatible |
Compatible |
|
TIMESTAMP |
Compatible |
Compatible |
Compatible |
|
TIMESTAMP WITH TIME ZONE |
Compatible |
Compatible |
No compatible |
|
TIMESTAMP WITH LOCAL TIME ZONE |
Compatible |
Compatible |
No compatible |
|
CLOB |
Compatible |
Compatible |
Compatible |
|
BLOB |
Compatible |
Compatible |
Compatible |
|
RAW |
Compatible |
Compatible |
Compatible |
|
ROWID |
No compatible |
No compatible |
Compatible |
|
UROWID |
No compatible |
No compatible |
Compatible |
|
FLOAT |
Compatible |
Compatible |
Compatible |
|
INTERVAL DAY TO SECOND |
No compatible |
No compatible |
Compatible |
|
INTERVAL YEAR TO MONTH |
No compatible |
No compatible |
Compatible |
|
BFILE |
No compatible |
No compatible |
No compatible |
|
LONG |
No compatible |
No compatible |
No compatible |
|
LONG RAW |
No compatible |
No compatible |
No compatible |
|
NCLOB |
Compatible |
Compatible |
No compatible |
|
STRUCT |
Compatible |
Compatible |
No compatible |
|
User-Defined Types |
No compatible |
No compatible |
No compatible |
|
AnyType |
No compatible |
No compatible |
No compatible |
|
AnyData |
No compatible |
No compatible |
No compatible |
|
AnyDataSet |
No compatible |
No compatible |
No compatible |
|
XmlType |
No compatible |
No compatible |
No compatible |
|
Spatial Types |
No compatible |
No compatible |
No compatible |
|
Media Types |
No compatible |
No compatible |
No compatible |
La siguiente tabla enumera las conversiones de tipos de datos admitidas por Oracle Reader.
|
Categoría de tipo |
Tipo de datos de Oracle |
|
Entero |
NUMBER, RAWID, INTEGER, INT y SMALLINT |
|
Punto flotante |
NUMERIC, DECIMAL, FLOAT, DOUBLE PRECISION y REAL |
|
Cadena |
LONG, CHAR, NCHAR, VARCHAR, VARCHAR2, NVARCHAR2, CLOB, NCLOB, CHARACTER, CHARACTER VARYING, CHAR VARYING, NATIONAL CHARACTER, NATIONAL CHAR, NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING y NCHAR VARYING |
|
Fecha y hora |
TIMESTAMP y DATE |
|
Booleano |
BIT y BOOL |
|
Binario |
BLOB, BFILE, RAW y LONG RAW |
Preparación previa a la sincronización: preparación del entorno Oracle
Antes de sincronizar datos en DataWorks, debe preparar el entorno Oracle como se describe en esta sección. Esto garantiza que las tareas de sincronización de datos de Oracle se puedan configurar y ejecutar correctamente en DataWorks. Las siguientes secciones describen los pasos de preparación.
Verificar la versión de la base de datos Oracle
Las versiones de base de datos Oracle compatibles varían según el escenario de sincronización. Antes de sincronizar datos, compruebe que su versión de base de datos Oracle sea compatible.
-
Puede ejecutar cualquiera de las siguientes sentencias para comprobar la versión de la base de datos Oracle.
-
Sentencia 1:
select * from v$version; -
Sentencia 2:
select version from v$instance;
-
-
Si la versión de la base de datos Oracle es
12co18c, debe ejecutar la siguiente sentencia para comprobar si la base de datos es una base de datoscdb. Las tareas de sincronización en tiempo real de Data Integration no admiten bases de datos Oracle12cy18ccdb.select name,cdb,open_mode,con_id from v$database;
Crear una cuenta y configurar permisos de cuenta
Debe planificar una cuenta de inicio de sesión de base de datos para operaciones posteriores. Esta cuenta debe tener los permisos de operación de Oracle obligatorios.
Cree una cuenta. Para obtener más información, consulte CREATE USER.
-
Configure los permisos.
Puede ejecutar los siguientes comandos para otorgar permisos a la cuenta. En las siguientes sentencias, reemplace
'sync_account'con la cuenta que creó.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.Si desea utilizar la sincronización completa por lotes, ejecute el siguiente comando para otorgar a la cuenta de sincronización el permiso de consulta en todas las tablas.
grant select any table to 'sync_account';Para Oracle 12c y versiones posteriores, ejecute el siguiente comando para otorgar a la cuenta de sincronización el permiso para realizar minería de registros. Para versiones anteriores a Oracle 12c, la función de minería de registros está integrada y este comando no es necesario.
grant LOGMINING TO 'sync_account';
Habilitar registro de archivado, registro suplementario y cambiar archivos de registro Redo
-
Habilite el registro de archivado ejecutando las siguientes sentencias SQL.
shutdown immediate; startup mount; alter database archivelog; alter database open; -
Habilite el registro suplementario.
Puede habilitar el registro suplementario adecuado según sus necesidades ejecutando las siguientes sentencias SQL.
//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. -
Cambie los archivos de registro Redo.
Después de habilitar el registro suplementario, ejecute el siguiente comando varias veces (se recomienda ejecutarlo 5 veces) para cambiar los archivos de registro Redo.
alter system switch logfile;NotaEjecutar el comando anterior varias veces para cambiar los archivos de registro Redo garantiza que el archivo de registro actual pueda cambiarse al siguiente archivo de registro cuando esté lleno. Esto asegura que los registros de operación no se pierdan y puedan utilizarse para la recuperación posterior de datos.
Comprobar la codificación de caracteres de la base de datos
Ejecute el siguiente comando en la base de datos para comprobar la codificación de caracteres de la base de datos.
select * from v$nls_parameters where PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
v$nls_parameters almacena la configuración de los parámetros de la base de datos.
NLS_CHARACTERSET y NLS_NCHAR_CHARACTERSET especifican el conjunto de caracteres de la base de datos y el conjunto de caracteres nacional, que indican los tipos de almacenamiento de las dos categorías principales de datos de caracteres en Oracle.
Data Integration solo admite los formatos de codificación UTF8, AL32UTF8, AL16UTF16 y ZHS16GBK. Si la base de datos contiene codificaciones de caracteres no compatibles, modifíquelas antes de sincronizar datos.
Comprobar los tipos de datos de las tablas de la base de datos
Puede ejecutar una sentencia SELECT para consultar los tipos de datos de las tablas de la base de datos. El siguiente ejemplo muestra cómo ver los tipos de datos de una tabla llamada 'tablename'.
select COLUMN_NAME,DATA_TYPE from all_tab_columns where TABLE_NAME='tablename';
COLUMN_NAME: El nombre de la columna de la tabla.
DATA_TYPE: El tipo de datos de la columna.
all_tab_columns: Una vista que almacena información sobre todas las columnas de las tablas de la base de datos.
TABLE_NAME: El nombre de la tabla a consultar. Reemplace 'tablename' con el nombre real de la tabla cuando ejecute la sentencia.
También puede ejecutar select * from 'tablename'; para consultar toda la información sobre una tabla y obtener los tipos de datos.
Agregar un origen de datos
Antes de desarrollar una tarea de sincronización en DataWorks, debe agregar el origen de datos requerido a DataWorks siguiendo las instrucciones en Data source configuration. Puede consultar las descripciones de parámetros en la consola de DataWorks para comprender el significado de los parámetros al agregar un origen de datos.
Desarrollo de tareas de sincronización de datos: proceso de sincronización de Oracle
Para obtener información sobre el punto de entrada y el procedimiento para configurar una tarea de sincronización, consulte las siguientes guías de configuración.
Configuración de tarea de sincronización por lotes de tabla única
Para el procedimiento, consulte Configure a batch synchronization task in wizard mode y Configure a batch synchronization task in script mode.
Para los parámetros completos y la demostración de script de la configuración en modo script, consulte Appendix: Script demo and parameter description.
Configuración de tarea de sincronización en tiempo real de tabla única
Para el procedimiento, consulte Configure a real-time synchronization task.
Configuración de sincronización por lotes de base de datos completa, completa e incremental (en tiempo real) de base de datos completa y fragmentada (en tiempo real) de base de datos completa
Para el procedimiento, consulte Configure a full-database synchronization task.
Preguntas frecuentes
Real-time synchronization tasks for Oracle, PolarDB, and MySQL repeatedly report errors
-
Sincronización principal-en espera y recuperación de datos
Este problema ocurre cuando Oracle utiliza recuperación ante desastres principal-en espera. Después de que la base de datos principal encuentra un error y cambia a la base de datos en espera, la base de datos en espera recupera continuamente datos de la base de datos principal a través de binlog. Debido a la diferencia de tiempo entre la sincronización de datos principal y en espera, condiciones específicas como la latencia de red pueden causar que los datos recuperados por la base de datos en espera difieran significativamente de la base de datos principal. En este caso, los datos sincronizados desde la base de datos en espera no son una instantánea completa en el momento actual.
-
Restricciones de consistencia
Oracle es un RDBMS que proporciona interfaces de consulta de datos de fuerte consistencia. Por ejemplo, durante una tarea de sincronización, si otros escritores escriben datos en la base de datos, Oracle Reader no lee los datos recién escritos debido a la función de instantánea de la base de datos.
El escenario anterior logra la consistencia de datos bajo el modelo de hilo único de Oracle Reader. Cuando Oracle Reader extrae datos concurrentemente según su configuración, no se puede garantizar una consistencia de datos estricta.
Después de que Oracle Reader divide los datos basándose en splitPk, inicia varias tareas concurrentes para sincronizar datos. Estas tareas concurrentes no pertenecen a la misma transacción de lectura y existen intervalos de tiempo entre ellas. Por lo tanto, los datos no constituyen una instantánea de datos completa y consistente.
Las instantáneas consistentes multihilo no se pueden lograr técnicamente. El problema solo puede abordarse desde una perspectiva de ingeniería con compensaciones. Se proporcionan las siguientes soluciones para su referencia.
Utilice sincronización de hilo único sin división de datos. Este enfoque es más lento pero garantiza la consistencia de los datos.
Detenga otros escritores de datos para asegurar que los datos sean estáticos. Por ejemplo, bloquee la tabla o detenga la sincronización de la base de datos en espera. La desventaja es que esto puede afectar a los servicios en línea.
-
Codificación de la base de datos
Oracle Reader utiliza JDBC para extraer datos. JDBC admite nativamente diversas codificaciones y realiza la conversión de codificación en el nivel subyacente. Por lo tanto, Oracle Reader no requiere que especifique una codificación. Detecta y convierte la codificación automáticamente.
-
Métodos de sincronización de datos incrementales
Oracle Reader utiliza sentencias JDBC SELECT para extraer datos. Puede utilizar
SELECT…WHERE…para extraer datos incrementales de las siguientes maneras:Cuando una aplicación en línea escribe datos en la base de datos, llena el campo de modificación con la marca de tiempo de modificación, incluyendo operaciones de inserción, actualización y eliminación (eliminación lógica). Para tales aplicaciones, Oracle Reader solo necesita agregar la marca de tiempo de la última etapa de sincronización a la cláusula WHERE.
Para datos de streaming recién agregados, Oracle Reader solo necesita agregar el ID autoincremental máximo de la etapa anterior a la cláusula WHERE.
Si ningún campo puede usarse para distinguir entre datos nuevos y modificados, Oracle Reader no puede realizar la sincronización incremental de datos y solo puede sincronizar datos completos.
-
Seguridad SQL
Oracle Reader proporciona la función querySql, que le permite escribir sentencias SELECT personalizadas. Oracle Reader no realiza ninguna validación de seguridad en querySql.
Apéndice: Demostración de script y descripción de parámetros
Configurar una tarea de sincronización por lotes mediante el editor de código
Si desea configurar una tarea de sincronización por lotes mediante el editor de código, debe configurar los parámetros relacionados en el script según los requisitos unificados de formato de script. Para obtener más información, consulte Script mode configuration. La siguiente información describe los parámetros que debe configurar para los orígenes de datos cuando configura una tarea de sincronización por lotes mediante el editor de código.
Demostración de script de 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 del script de Reader
Parámetro | Descripción | Obligatorio | Valor predeterminado |
datasource | El nombre del origen de datos. Puede agregar un origen de datos en modo script. El valor de este parámetro debe ser igual al nombre del origen de datos que agregó. | Sí | N/A |
selectedDatabase | El esquema de la base de datos que se va a sincronizar. | Sí | N/A |
table | El nombre de la tabla que se va a sincronizar. El valor debe tener el formato Nota Por ejemplo, si selectedDatabase es | Sí | N/A |
column | Las columnas que se van a sincronizar de la tabla. Las columnas se describen mediante una matriz JSON. De forma predeterminada, se seleccionan todas las columnas, por ejemplo, ["*"].
| Sí | N/A |
splitFactor | El factor de división. Este parámetro especifica el número de divisiones para la sincronización de datos. Si se configuran varios hilos concurrentes, los datos se dividen en concurrency × splitFactor partes. Por ejemplo, si la concurrencia es 5 y splitFactor es 5, los datos se dividen en 5 × 5 = 25 partes y se ejecutan en 5 hilos concurrentes. Nota Rango de valores recomendado: 1 a 100. Un valor excesivamente grande puede causar errores de falta de memoria (OOM). | No | 5 |
splitMode | El modo de división. Valores válidos:
Nota El parámetro splitMode debe usarse junto con el parámetro splitPk.
| No | randomSampling |
splitPk | Cuando Oracle Reader extrae datos, si especifica splitPk, indica que desea usar el campo representado por splitPk para dividir los datos. La sincronización de datos inicia entonces tareas concurrentes para sincronizar datos, lo que mejora la eficiencia de la sincronización.
Nota El campo splitPK no puede usar ROWID para vistas. | No | N/A |
where | La condición de filtro. Oracle Reader concatena una sentencia SQL basada en las condiciones column, table y where especificadas, y extrae datos basándose en la sentencia SQL. Por ejemplo, puede especificar la condición where como row_number() durante las pruebas.
| No | N/A |
querySql (modo avanzado, no compatible con el modo asistente) | En algunos escenarios empresariales, la condición where no es suficiente para describir las condiciones de filtro. Puede usar este parámetro para especificar una sentencia SQL de filtro personalizada. Después de configurar este parámetro, el sistema de sincronización de datos ignora las configuraciones de table y column y utiliza directamente esta sentencia SQL para filtrar datos. Por ejemplo, para sincronizar datos después de una unión de múltiples tablas, puede usar | No | N/A |
fetchSize | El número de filas que el complemento obtiene del servidor de base de datos en cada lote. Este valor determina el número de viajes de ida y vuelta de red entre el sistema de sincronización de datos y el servidor de base de datos, y puede mejorar significativamente el rendimiento de extracción de datos. Nota Un valor de fetchSize demasiado grande (>2048) puede causar errores OOM en el proceso de sincronización de datos. | No | 1,024 |
Demostración de script de 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 del script de Writer
|
Parámetro |
Descripción |
Obligatorio |
Valor predeterminado |
|
datasource |
Nombre del origen de datos. Puede agregar un origen de datos en modo script. El valor de este parámetro debe coincidir con el nombre del origen de datos que agregó. |
Sí |
N/A |
|
table |
Nombre de la tabla de destino. Si el esquema de la tabla difiere del nombre de usuario configurado anteriormente, especifique la tabla con el formato schema.table. |
Sí |
N/A |
|
writeMode |
Modo de escritura. Solo se admite INSERT INTO. Cuando ocurre un conflicto de clave primaria o índice único, las filas en conflicto no se escriben y se registran como datos sucios. |
No |
insert into |
|
column |
Columnas de la tabla de destino donde se escribirán los datos. Separe los nombres de columna con comas (,). Por ejemplo, |
Sí |
N/A |
|
preSql |
Sentencias SQL que se ejecutan antes de que inicie la tarea de sincronización de datos. Actualmente, el modo asistente solo permite una sentencia SQL, mientras que el modo script admite varias. Por ejemplo, puede usar este parámetro para borrar datos antiguos. |
No |
N/A |
|
postSql |
Sentencias SQL que se ejecutan después de completar la tarea de sincronización de datos. Actualmente, el modo asistente solo permite una sentencia SQL, mientras que el modo script admite varias. Por ejemplo, puede usar este parámetro para agregar una marca de tiempo. |
No |
N/A |
|
batchSize |
Número de registros que se confirman en cada lote. Este valor reduce significativamente la cantidad de viajes de ida y vuelta de red entre el sistema de sincronización de datos y Oracle, lo que mejora el throughput general. Si establece un valor demasiado alto, pueden ocurrir errores OOM durante el proceso de sincronización de datos. |
No |
1,024 |