alibaba / alibaba/DataX

oracle to oracle 多张表同步

Open
#232 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
17.4k
Forks
5.7k
PR merge metrics
No merged PRs in 30d

Description

配置单张表同步,配置多张表的时候就报错,如下:

jdbcUrl:[jdbc:oracle:thin:@192.168.0.161:1521/test].
2018-12-05 16:58:34.720 [0-0-1-writer] ERROR WriterRunner - Writer Runner Received Exceptions:
com.alibaba.datax.common.exception.DataXException: Code:[DBUtilErrorCode-01], Description:[获取表字段相关信息失败.]. - 获取表:STATUSINFO 的字段的元信息时失败. 请联系 DBA 核查该库、表信息. - java.sql.SQLSyntaxErrorException: ORA-00904: "DEFECTIVE_FSA_R": invalid identifier

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:873)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1491)
at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:406)
at com.alibaba.datax.plugin.rdbms.util.DBUtil.getColumnMetaData(DBUtil.java:563)
at com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter$Task.startWriteWithConnection(CommonRdbmsWriter.java:266)
at com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter$Task.startWrite(CommonRdbmsWriter.java:319)
at com.alibaba.datax.plugin.writer.oraclewriter.OracleWriter$Task.startWrite(OracleWriter.java:88)
at com.alibaba.datax.core.taskgroup.runner.WriterRunner.run(WriterRunner.java:56)
at java.lang.Thread.run(Thread.java:748)

at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:33) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.getColumnMetaData(DBUtil.java:575) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter$Task.startWriteWithConnection(CommonRdbmsWriter.java:266) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter$Task.startWrite(CommonRdbmsWriter.java:319) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.writer.oraclewriter.OracleWriter$Task.startWrite(OracleWriter.java:88) ~[oraclewriter-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.taskgroup.runner.WriterRunner.run(WriterRunner.java:56) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: java.sql.SQLSyntaxErrorException: ORA-00904: "DEFECTIVE_FSA_R": invalid identifier

json 脚本如下:

{
"job": {
"content": [
{
"reader": {
"name": "oraclereader",
"parameter": {
"column": ["*"],
"connection": [
{
"jdbcUrl": ["jdbc:oracle:thin:@XX.XX.XX.XX:XXXX/XXXX"],
"table": ["XXXX_INFO","XXXXINFO"]
}
],
"password": "XXXX",
"username": "XXXX"
}
},
"writer": {
"name": "oraclewriter",
"parameter": {
"column": ["*"],
"connection": [
{
"jdbcUrl": "jdbc:oracle:thin:@xx.xx.xx.xx:xxx/xxx",
"table": ["XXXX_INFO","XXXXINFO"]
}
],
"password": "xxx",
"preSql": ["truncate table CLASSIFICATION_INFO","truncate table STATUSINFO"],
"username": "xxxxx"
}
}
}
],
"setting": {
"speed": {
"channel":"2"
}
}
}
}

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the multi-table configuration in the issue and trace DBUtil.getColumnMetaData, CommonRdbmsWriter, and OracleWriter from the reported stack trace. Reproduce the job with the two tables and verify that metadata lookup and synchronization complete without the ORA-00904 invalid-identifier error.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, sql
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.