您好,登錄后才能下訂單哦!
Oracle 多表格批量同步數(shù)據(jù)=》MYSQL
場景
多張Oracle表格,通過輪詢自動同步數(shù)據(jù)到mysql。
避免每個Oracle表格數(shù)據(jù)=》mysql都做一個轉(zhuǎn)換,產(chǎn)生大量轉(zhuǎn)換,難以管理和調(diào)整。
主要通過kettle變量,循環(huán),字段名自動匹配,以及Oracle、mysql數(shù)據(jù)字典來實現(xiàn)。
初步完成Oracle表格=》mysql的初始化同步,后續(xù)增加增量同步,DDL同步,異常處理操作。
1. 在mysql里查找test庫下有哪些表格,輸出到結(jié)果記錄
2. 從結(jié)果記錄里面每次取一行,設(shè)置變量
3. 針對每次使用的變量值,去oracle數(shù)據(jù)源里生成對應(yīng)的表輸入(通過變量生成)
4. 把變量賦給表輸出組件的表名
5. 表輸出其他內(nèi)容不做制定,因為表名和字段都和源端oracle是一樣的
6. 針對每個“輸出到結(jié)果記錄”做循環(huán),插入每個oracle表格數(shù)據(jù)到mysql
l 如何做增量的數(shù)據(jù)遷移
1. 針對oracle這端有時間字段的表格
2. 記錄每次遷移的系統(tǒng)時間
3. 增量時間是》上次系統(tǒng)時間 and 《本次系統(tǒng)時間
每張表格時間字段名字可能不一樣
所以要維護(hù)一張表格時間字段記錄(表名,時間字段名)
4. 每次生成表輸入時,也參照生成表名變量的方式,獲取時間字段名,用在表輸入的sql里
5. 表輸出這端,會復(fù)雜一些,包括刪除、插入、更新等等操作
l 無時間字段或流水號的表格同步
l 如何做DDL同步:
1. 獲取Oracle和mysql的數(shù)據(jù)字典
2. 比較表名和字段名
3. 比較字段數(shù)據(jù)類型
4. 注意數(shù)據(jù)類型映射(如oracle的varchar2《=》MySQL的varchar,oracle的data《=》MySQL的timestamp)
5. Mysql端的表格和字段同步
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。