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進行資料同步(上)
- MySQL 拼接Insert批量同步異構表資料MySql
- kettle 實時同步資料(插入/更新/刪除資料)
- kettle 實現mysql單表增量同步MySql
- Mysql多臺資料庫同步問題(轉)MySql資料庫
- oracle批量插入資料Oracle
- [資料整合/資料同步] 基於資料庫增量日誌的資料同步方案 : Flink CDC/Debezium/DataX/Canal/Oracle Goldengate/Kettle/Sqoop資料庫OracleGoOOP
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- MySQL 到Oracle 實時資料同步HYXSMySqlOracle
- oracle批量新增更新資料Oracle
- Mysql批量大資料獲取MySql大資料
- mysql-kettle-superset電商視覺化資料分析MySql視覺化
- Ibatis批量更新資料(mysql資料庫)BATMySql資料庫
- clickhouse 同步mysql資料MySql
- Mysql主主同步-配置資料同步MySql
- Mybatis批量插入Oracle、MySQLMyBatisOracleMySql
- 批量刪除Oracle資料庫的資料Oracle資料庫
- MySQL資料庫遷移與MySQL資料庫批量恢復MySql資料庫
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- MySQL 批量匯入資料優化MySql優化
- MySQL 資料主從同步MySql主從同步
- clickhouse-mysql資料同步MySql
- mysql資料同步至redisMySqlRedis
- mysql根據查詢結果批量更新多條資料(插入或更新)MySql
- 自動同步整個 MySQL/Oracle 資料庫以進行資料分析MySqlOracle資料庫
- kettle從入門到精通 第六十九課 ETL之kettle kettle cdc mysql,輕鬆實現實時增量同步MySql
- oracle佇列(AQ)---實現orale到mysql的資料同步Oracle佇列MySql
- MySQL資料庫工具類之——DataTable批量加入MySQL資料庫(Net版)MySql資料庫
- Mysql和Redis資料同步策略MySqlRedis
- [資料庫]MYSQL主從同步資料庫MySql主從同步
- 設定 MySql 資料同步(轉)MySql
- Oracle批量插入資料insert all into用法Oracle
- Oracle批量建立、刪除資料庫表Oracle資料庫
- 使用goldengate從mysql同步資料到oracleGoMySqlOracle
- kettle從入門到精通 第七十課 ETL之kettle kettle資料校驗,髒資料清洗輕鬆拿捏
- MySQL 批量更新、刪除資料shell指令碼MySql指令碼
- 批量修改Mysql資料庫表Innodb為MyISANMySql資料庫