Kettle:Oracle多表格批量同步資料=》mysql
Oracle 多表格批量同步資料=》MYSQL
場景
多張Oracle表格,通過輪詢自動同步資料到mysql。
避免每個Oracle表格資料=》mysql都做一個轉換,產生大量轉換,難以管理和調整。
主要通過kettle變數,迴圈,欄位名自動匹配,以及Oracle、mysql資料字典來實現。
初步完成Oracle表格=》mysql的初始化同步,後續增加增量同步,DDL同步,異常處理操作。
基本步驟
1. 在mysql裡查詢test庫下有哪些表格,輸出到結果記錄
2. 從結果記錄裡面每次取一行,設定變數
3. 針對每次使用的變數值,去oracle資料來源裡生成對應的表輸入(通過變數生成)
4. 把變數賦給表輸出元件的表名
5. 表輸出其他內容不做制定,因為表名和欄位都和源端oracle是一樣的
6. 針對每個“輸出到結果記錄”做迴圈,插入每個oracle表格資料到mysql
總體流程
步驟1:Tables in mysql(Job)
步驟2:insert into mysql(Job)
步驟2.1 set tablename(tranfomation)
步驟2.2:insert data into mysql(tranfomation)
後續問題:
l 如何做增量的資料遷移
1. 針對oracle這端有時間欄位的表格
2. 記錄每次遷移的系統時間
3. 增量時間是》上次系統時間 and 《本次系統時間
每張表格時間欄位名字可能不一樣
所以要維護一張表格時間欄位記錄(表名,時間欄位名)
4. 每次生成表輸入時,也參照生成表名變數的方式,獲取時間欄位名,用在表輸入的sql裡
5. 表輸出這端,會複雜一些,包括刪除、插入、更新等等操作
l 無時間欄位或流水號的表格同步
l 如何做DDL同步:
1. 獲取Oracle和mysql的資料字典
2. 比較表名和欄位名
3. 比較欄位資料型別
4. 注意資料型別對映(如oracle的varchar2《=》MySQL的varchar,oracle的data《=》MySQL的timestamp)
5. Mysql端的表格和欄位同步
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10009036/viewspace-2169029/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用Kettle進行資料同步(下)
- 利用Kettle進行資料同步(上)
- [資料整合/資料同步] 基於資料庫增量日誌的資料同步方案 : Flink CDC/Debezium/DataX/Canal/Oracle Goldengate/Kettle/Sqoop資料庫OracleGoOOP
- MySQL 到Oracle 實時資料同步HYXSMySqlOracle
- kettle 實時同步資料(插入/更新/刪除資料)
- kettle 實現mysql單表增量同步MySql
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- oracle批量新增更新資料Oracle
- Ibatis批量更新資料(mysql資料庫)BATMySql資料庫
- Oracle批量插入資料insert all into用法Oracle
- Mysql批量大資料獲取MySql大資料
- 自動同步整個 MySQL/Oracle 資料庫以進行資料分析MySqlOracle資料庫
- clickhouse 同步mysql資料MySql
- MySQL資料庫遷移與MySQL資料庫批量恢復MySql資料庫
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- mysql-kettle-superset電商視覺化資料分析MySql視覺化
- 使用oracle的logminer同步資料Oracle
- mysql根據查詢結果批量更新多條資料(插入或更新)MySql
- mysql資料同步至redisMySqlRedis
- MySQL 資料主從同步MySql主從同步
- clickhouse-mysql資料同步MySql
- kettle從入門到精通 第六十九課 ETL之kettle kettle cdc mysql,輕鬆實現實時增量同步MySql
- Kettle8.2連線Oracle資料庫失敗解決方法Oracle資料庫
- ORACLE批量刪除無主鍵重複資料Oracle
- FlinkCDCSQL資料同步mysql->clickhouseMySql
- Mysql和Redis資料同步策略MySqlRedis
- [資料庫]MYSQL主從同步資料庫MySql主從同步
- MySQL 批量更新、刪除資料shell指令碼MySql指令碼
- 資料同步:教你如何實時把資料從 MySQL 同步到 OceanBaseMySql
- Kettle: create_sampledata_mysqlMySql
- kettle連線本地MYSQLMySql
- 異構資料庫資料遷移 oracle to mysql之oracle sqlloader和mysql load data資料庫OracleMySql
- kettle從入門到精通 第七十課 ETL之kettle kettle資料校驗,髒資料清洗輕鬆拿捏
- Salesforce Integration 概覽(四) Batch Data Synchronization(批量資料的同步)SalesforceBAT
- DataX將Oracle資料庫資料同步到達夢資料庫Oracle資料庫
- Oracle 查詢多個資料Oracle
- Apache NIFI離線同步MySQL資料ApacheNifiMySql
- Mysql資料實時同步實踐MySql