[前提]安装python3.7
oracle版本:oracle 11g
mysql版本:mysql5.7
1.下载DataX
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
2.解压DataX
tar -zxvf datax.tar.gz
3.编写同步脚本
- 进入dataX bin目录
cd ${HOME目录}/datax/bin
- 编写同步脚本
vi oracleToMysql.json
- 脚本内容如下
{
"job": {
"setting": {
"speed": {
"byte": 1048576
},
"errorLimit": {
"record": 0,
"percentage": 0.02
}
},
"content": [
{
"reader": {
"name": "oraclereader",
"parameter": {
"username": "hdkg",
"password": "hdkg2007",
"splitPk": "ID",
"connection": [
{
"jdbcUrl": [
"jdbc:oracle:thin:@100.100.100.210:1521:ORCL"
],
"querySql": [
"select * from T_FLIGHT_INFO where sobt >'20181231160000'"
]
}
]
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"writeMode": "insert",
"username": "root",
"password": "password",
"column": [
"`ID`",
"`PFID`",
"`SCHID`",
"`FLNO`",
"`SSRMC`",
"`SOURCE`",
"`SOBT`",
"`SOBT_SITA`",
"`SIBT`",
"`SIBT_SITA`",
"`EOBT`",
"`EOBT_SITA`",
"`EIBT`",
"`EIBT_SITA`",
"`ATOT`",
"`ALDT_SITA`",
"`ALDT`",
"`ATOT_SITA`",
"`ADEPS`",
"`ADEPE`",
"`ADEPA`",
"`ADESS`",
"`ADESE`",
"`ADESA`",
"`ACTTS`",
"`ACTTE`",
"`REGNS`",
"`REGNE`",
"`SALTITUDE`",
"`ESPD`",
"`EALTITUDE`",
"`STYPE`",
"`MTYPE`",
"`SLEVEL`",
"`EXECSTAT`",
"`ISEXEC`",
"`LOCKSTAT`",
"`ABSTAT`",
"`ALN1E`",
"`ALN2E`",
"`ALN1A`",
"`ROUTS`",
"`ROUTE`",
"`EXECDATE`",
"`ISDEL`",
"`COMMON_INFO`",
"`POBT`",
"`SLDT`",
"`ELDT`",
"`DETA`",
"`EXIT`",
"`AXIT`",
"`AIBT`",
"`COBT`",
"`TOBT`",
"`ECZT`",
"`ARZT`",
"`ACZT`",
"`EEZT`",
"`AEZT`",
"`ASBT`",
"`AOBT`",
"`ARDT`",
"`ASRT`",
"`ASAT`",
"`EXOT`",
"`AXOT`",
"`ETOT`",
"`TTOT`",
"`TLDT`",
"`CTOT`",
"`USEC`",
"`CDAT`",
"`USEU`",
"`LSTU`",
"`REMK`",
"`ACT_SITA`",
"`REGN_SITA`",
"`MTYPE_SITA`",
"`PLTYPE`",
"`APPROVALNO`",
"`ENTPOINT`",
"`EXTPOINT`",
"`FLLEVEL`",
"`AIRWAYS`",
"`ACNUM`",
"`OTHERS`",
"`SIGN`",
"`CONTACT_INFO`",
"`DATETIME_GRP`",
"`TLX_CDATE`",
"`AUTO_SEND`",
"`CANCELTYPE`",
"`CANCELREASON`",
"`CANCELTIME`",
"`ISCONNECT`",
"`ISNOCONNECTIVITY`",
"`MPROPERTY`",
"`REPAIRREASON`",
"`REPLYPERSON`",
"`REPLYTIME`",
"`ISJOIN`",
"`FIRST_CONTRACT_TIME`",
"`RELEASE_TIME`",
"`REQUEST_TIME`",
"`WAITING_TIME`",
"`TRANSFER_GROUND_TIME`",
"`PUSH_TIME`",
"`DRIVE_TIME`",
"`TRANSFER_ADJACENT_GROUND_TIME`",
"`TRANSFER_TOWER_TIME`",
"`RELEASE_FLY_TIME`",
"`CHGFLG`",
"`FORPILOTONLY`",
"`SCH_REMK`",
"`NATIONALSARB`",
"`ATTR1`",
"`ATTR2`",
"`ATTR3`",
"`ATTR4`",
"`ATTR5`",
"`ATTR6`",
"`ATTR7`",
"`ATTR8`",
"`ATTR9`",
"`ATTR10`",
"`ATTR11`",
"`ATTR12`",
"`ATTR13`",
"`ATTR14`",
"`ATTR15`",
"`ATTR16`",
"`ATTR17`",
"`ATTR18`",
"`ATTR19`",
"`ATTR20`",
"`MILPATCH`",
"`KHPROPERTY`",
"`FLT_SOURCE`"
],
"session": [
"set session sql_mode='ANSI'"
],
"preSql": [
"delete from t_flight_info"
],
"connection": [
{
"jdbcUrl": "jdbc:mysql://100.100.100.211:3306/atc?useUnicode=true&characterEncoding=gbk",
"table": [
"t_flight_info"
]
}
]
}
}
}
]
}
}
4.运行同步脚本
python datax.py oracleToMysql.json
- 同步成功