tips1: (如果执行脚本错误
发布时间:2025-06-24 18:15:25 作者:北方职教升学中心 阅读量:523
tips1: (如果执行脚本错误,则无法连接oracle数据库再看看这个提示)。tar -xzvf datax.tar.gz。全量同步数据。

4.2 编写脚本。
4.3 执行脚本。
结果如下::

复制脚本json代码。如果装的5.x的,这个提示可以忽略不计。
5.4 设置 crontab 定时任务。SID查询数据库c;发现数据库的SID确实改变了,不同,导致连接错误SID更换连接c;可以解决。
cd datax。
3.2.2 删除隐藏文件。
4.1 获取脚本模板。
6.2 声明和感谢。
5.2 编写脚本。如果执行结果如下图所示c;就没问题。
3.1.1 进入安装目录:
cd /mydata/dataX。然后保存并退出。端口号1521后面的“xx通常情况下,
六、5.0 修改json脚本。
tips1: (如果执行脚本错误连接到oracle数据库,将打印以下日志:

五、
3.2.1 进入datax文件夹。
执行下列命令新建json脚本文件并粘贴刚刚复制的脚本模板,然后根据自己的需要修改脚本。上图所示:"where" : "NAME is not null",这意味着只将源库中NAME字段值不空的数据同步到目标库。不同步我自己测试的 。3.2 删除隐藏文件。 对应版本的依赖性,在这里替换5.x。
vi job/oracle_to_mysql.json。
6.1 温馨提醒。
./bin/datax.py -r oraclereader -w mysqlwriter。tips1:。请参见附录-温馨提示-tips1.。增量同步。

vi job/increment_sync.sh。

5.1 创建增量脚本文件。
这个教程也是我在工作中需要完成数据库同步的时候,参考老板们的教程,实践结合自己遇到的问题总结出来的笔记,希望对大家有用避免踩坑提高效率!非常感谢大佬的教程解决我燃眉之急!下面是大佬的具体教程:
DataX oracle同步mysql(全量和增量)_oracle 全量 增量-CSDN博客。使用远程连接工具连接服务器,将下载datax.tar.gz上传到指定位置(我是自定义文件夹,方便自己找到#xff099;。

find ./ -name '._*' -print0 |xargs -0 rm -rf。vi /etc/crontab。

四、
chmod -R 777 job/increment_sync.sh。错误的重点是:listener does not currently know of SiDa given in connect descriptor,以及强调:SID!
已解决 ,这是SID的问题。
chmod -R 777 job/increment_sync.sh。建立一个环境
3.1 上传压缩包并解压。
修改reader的where值。
已解决 ,这是SID的问题。最后,如果你的朋友发现了缺点或错误,非常欢迎您的指正,交流学习菜鸟互相啄,
select instance name from V$instance。
tips2: 有条件的读取源库数据同步到目标库。
#!/bin/bashsource /etc/profile#当前时间戳cur_time=$(date +%s)#end_结束时间end_time="'$(date -d @$cur_time +"%Y-%m-%d %H:%M:%S")'"#开始时间当前时间前120screate_time="'$(date -d @$(($cur_time-120)) +"%Y-%m-%d %H:%M:%S")'"# 执行datax脚本,进入时间范围/时间范围mydata/dataX/datax/bin/datax.py /mydata/dataX/datax/job/oracle_to_mysql.json -p "-Dcreate_time=$create_time -Dend_time=$end_time" &
5.3 赋予脚本文件权限。{ "job": { "content": [ { "reader": { "name": "oraclereader", "parameter": { "column": [ "ID", "NAME", "TYPE", "NO", "CREATE_TIME" ], "splitPk": "ID", "where" : "NAME is not null", "connection": [ { "jdbcUrl": ["jdbc:oracle:thin:@172.xx.xx.xx:1521:orcl"], "table": ["XXX.XXX"] } ], "password": "xxxxxx", "username": "xxxx" } }, "writer": { "name": "mysqlwriter", "parameter": { "column": [ "id", "name", "type", "no", "create_time" ], "connection": [ { "jdbcUrl": "jdbc:mysql://172.xxx.xxx.xx:3306/xxx?useUnicode=true&characterEncoding=UTF-8", "table": ["xxxx"] } ], "username": "xxxxx", "password": "xxxxx", "preSql": [], "session": ["set session sql_mode='ANSI'"], "writeMode": "insert" } } } ], "setting": { "speed": { "channel": "1" } } }}。./bin/datax.py job/oracle_to_mysql.json。
总是报告数据库连接失败:数据库名称错误请检查数据库的实例名称或联系DBA确认该实例是否存在并在正常服务中]. - 具体错误信息为:
java.sql.SQLException: Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor。

3.1.2 解压后会出现上图序号3所示的文件夹 datax。1.开发环境:Linux centos7.
2.下载datax工具
datax工具下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz。

不删除会影响执行的.。查询数据库的SID:。
等他分析和执行脚本执行完成后,附录。
vi job/oracle_to_mysql.json。哈哈共同进步!(总结不容易请免费表扬,感谢!)5.1 创建增量脚本文件。3.3 执行datax自带的测试脚本。错误的重点是:listener does not currently know of SiDa given in connect descriptor,以及强调:SID!SERVICE NAME。#xff0c;再看看这个提示)。就是“orcl但有些数据库不是orcl。

./bin/datax.py job/job.json。"where" : "CREATE_TIME >to_date('${create_time}','yyyy-mm-dd hh24:mi:ss') and CREATE_TIME <= to_date('${end_time}','yyyy-mm-dd hh24:mi:ss')"
tips4: 表中需要有一个“”CREATE_TIME”字段和值否则,
"jdbcUrl": ["jdbc:oracle:thin:@172.xx.xx.xx:1521:orcl"], 在这里我狠狠地栽跟头【流下没有技术的眼泪】。
tips3先看看datax使用的mysql连接依赖哪个版本,如下图所示:


假如你安装了mysql8,