最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解MySQL實(shí)時(shí)同步到Oracle解決方案

 更新時(shí)間:2021年03月03日 10:12:16   作者:wahahaman  
這篇文章主要介紹了詳解MySQL實(shí)時(shí)同步到Oracle解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1 需求概述

將MySQL5.6生產(chǎn)庫多張表的數(shù)據(jù)實(shí)時(shí)同步到Oracle11g數(shù)據(jù)倉庫,MySQL歷史數(shù)據(jù)700G,平均每天產(chǎn)生50G左右日志文件,MySQL日志空間50G,超過后滾動(dòng)刪除日志文件。整個(gè)同步過程不可影響MySQL業(yè)務(wù)操作。

2 技術(shù)原理

采用靈蜂數(shù)據(jù)集成軟件BeeDI將MySQL數(shù)據(jù)實(shí)時(shí)同步到Oracle,通過ETL全量同步歷史數(shù)據(jù),通過日志解析方式實(shí)時(shí)同步增量數(shù)據(jù)。

受限于日志空間,如果將所有歷史數(shù)據(jù)一次性同步,需要的時(shí)間會(huì)超過一天,全量同步過程產(chǎn)生的日志會(huì)被刪除,造成實(shí)時(shí)日志解析任務(wù)數(shù)據(jù)缺失,所以需要分批同步歷史數(shù)據(jù),基本操作如下:

a 全量同步部分表。

b 在實(shí)時(shí)日志解析任務(wù)中添加已全量同步完成的表并啟動(dòng)任務(wù),當(dāng)MySQL和Oracle兩端對應(yīng)表數(shù)據(jù)一致時(shí),停止日志解析任務(wù)。

重復(fù)上面a和b步驟,直到所有表都加入實(shí)時(shí)日志解析任務(wù)。

3 MySQL環(huán)境配置

3.1 創(chuàng)建用戶

在主庫創(chuàng)建同步用戶,以用戶sync為例,創(chuàng)建用戶及權(quán)限分配語句如下:

CREATE USER 'sync'@'%' IDENTIFIED BY 'xxxxx';

GRANT SELECT,PROCESS,SUPER, REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'sync'@'%';

3.2 啟用BinLog

查詢主庫日志開啟狀態(tài)及日志記錄格式:

show variables like 'log_bin';

show variables like "%binlog_format%";

如果日志狀態(tài)為OFF或日志記錄格式不為ROW,則編輯my.ini文件,設(shè)置以下項(xiàng)目內(nèi)容:

log-bin="xxxxxx" --開啟日志

binlog_format="ROW" --日志記錄格式

4 BeeDI同步操作

4.1 配置全量同步任務(wù)

在BeeDI中新建ETL作業(yè),在【ETL模板屬性】對話框的【映射屬性】中設(shè)置【LOB裝載】為綁定存儲(chǔ)。

【LOB裝載】用于指定Oracle LOB數(shù)據(jù)載入方式,定位存儲(chǔ)通過定位LOB指針更新LOB內(nèi)容,綁定存儲(chǔ)通過參數(shù)綁定方式更新LOB內(nèi)容。

為優(yōu)化數(shù)據(jù)抽取性能,建議在抽取組件的【選項(xiàng)】對話框中設(shè)置【異步】抽取模式。

為優(yōu)化數(shù)據(jù)加載性能,建議在裝載組件的【選項(xiàng)】對話框中選擇【批量】裝載模式。

全量同步任務(wù)配置完成如下

按照以上方式,創(chuàng)建多個(gè)ETL作業(yè),其中每個(gè)ETL作業(yè)對應(yīng)一張同步表。

4.2 配置實(shí)時(shí)日志解析任務(wù)

實(shí)時(shí)解析任務(wù)使用一個(gè)腳本作業(yè),在其中指定所有要同步的表,腳本代碼如下

4.3 執(zhí)行全量同步任務(wù)

選中要執(zhí)行的全量同步作業(yè),點(diǎn)擊工具欄【啟動(dòng)】按鈕,可以同時(shí)啟動(dòng)多個(gè)全量同步作業(yè),只要生產(chǎn)庫資源及BeeDI所在機(jī)器資源充足。

4.4 執(zhí)行實(shí)時(shí)日志解析任務(wù)

當(dāng)所有全量同步作業(yè)運(yùn)行結(jié)束后,編輯實(shí)時(shí)任務(wù)腳本,在變量cdc_tables中指定已經(jīng)全量同步完成的表;在inquireLog函數(shù)參數(shù)中設(shè)置日志捕獲起始點(diǎn),可將最先運(yùn)行的全量同步作業(yè)的啟動(dòng)時(shí)間指定為日志捕獲起始點(diǎn),日志捕獲點(diǎn)只需在任務(wù)初次執(zhí)行時(shí)設(shè)置一次,以后任務(wù)運(yùn)行將自動(dòng)管理日志捕獲點(diǎn)。

在【調(diào)度窗口】通過快捷菜單【添加】把將要執(zhí)行的實(shí)時(shí)日志解析作業(yè)載入,選中調(diào)度窗口的實(shí)時(shí)作業(yè),點(diǎn)擊工具欄【定時(shí)】按鈕,設(shè)置按秒定時(shí),運(yùn)行周期1秒。

實(shí)時(shí)任務(wù)運(yùn)行后,在日志窗口輸出MySQL數(shù)據(jù)庫日志解析信息,包含每分鐘讀取的日志記錄,最近解析日志時(shí)間點(diǎn)。

4.5 添加更多同步表

當(dāng)實(shí)時(shí)任務(wù)對應(yīng)的作業(yè)狀態(tài)頻繁出現(xiàn)定時(shí)圖標(biāo)時(shí),表明任務(wù)進(jìn)入實(shí)時(shí)狀態(tài),此時(shí)MySQL源表和Oracle目標(biāo)表數(shù)據(jù)一致,停止實(shí)時(shí)日志解析任務(wù),配置運(yùn)行其它表的全量同步任務(wù)(參考4.1和4.3)。當(dāng)全量任務(wù)結(jié)束后,編輯實(shí)時(shí)日志解析任務(wù),增加已全量同步完成的其他表,啟動(dòng)實(shí)時(shí)任務(wù)(參考4.2和4.4)。

5 效驗(yàn)同步數(shù)據(jù)一致性

依次在源庫和目標(biāo)庫執(zhí)行 select count(*) from [表] 比較表記錄數(shù)是否相等。

依次在源庫和目標(biāo)庫執(zhí)行 select sum([數(shù)值列]) from [表] 比較指定字段算術(shù)和是否相等。

到此這篇關(guān)于詳解MySQL實(shí)時(shí)同步到Oracle解決方案的文章就介紹到這了,更多相關(guān)MySQL實(shí)時(shí)同步到Oracle內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql如何通過ibd文件恢復(fù)數(shù)據(jù)

    Mysql如何通過ibd文件恢復(fù)數(shù)據(jù)

    這篇文章主要介紹了Mysql如何通過ibd文件恢復(fù)數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL中count(distinct?col...)組合使用的注意要點(diǎn)詳解

    MySQL中count(distinct?col...)組合使用的注意要點(diǎn)詳解

    @count()是一個(gè)聚合函數(shù),返回指定匹配條件的行數(shù),開發(fā)中常用來統(tǒng)計(jì)表中數(shù)據(jù)、全部數(shù)據(jù)、不為null數(shù)據(jù)或者去重?cái)?shù)據(jù),這篇文章主要給大家介紹了關(guān)于MySQL中count(distinct?col...)組合使用的注意要點(diǎn),需要的朋友可以參考下
    2024-08-08
  • 用SQL實(shí)現(xiàn)統(tǒng)計(jì)報(bào)表中的"小計(jì)"與"合計(jì)"的方法詳解

    用SQL實(shí)現(xiàn)統(tǒng)計(jì)報(bào)表中的"小計(jì)"與"合計(jì)"的方法詳解

    本篇文章是對使用SQL實(shí)現(xiàn)統(tǒng)計(jì)報(bào)表中的"小計(jì)"與"合計(jì)"的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL5.6安裝圖解(windows7/8_64位)

    MySQL5.6安裝圖解(windows7/8_64位)

    這篇文章主要內(nèi)容是關(guān)于MySQL5.6安裝圖解,希望通過這篇文章順利解決大家安裝MySQL5.6的問題,再也不用為了安裝煩惱
    2015-09-09
  • Mysql查詢列橫向轉(zhuǎn)換逗號拼接并加上雙引號

    Mysql查詢列橫向轉(zhuǎn)換逗號拼接并加上雙引號

    使用Mysql的GROUP_CONCAT函數(shù)和CONCAT函數(shù),將查詢結(jié)果的列橫向轉(zhuǎn)換為逗號拼接的字符串,并在每個(gè)值周圍加上雙引號,最終結(jié)果每一行包含一個(gè)user_id和一個(gè)由雙引號括起來的user_names字段,本文介紹Mysql查詢列橫向轉(zhuǎn)換逗號拼接并加上雙引號的知識,感興趣的朋友一起看看吧
    2025-02-02
  • 解讀數(shù)據(jù)庫的嵌套查詢的性能問題

    解讀數(shù)據(jù)庫的嵌套查詢的性能問題

    這篇文章主要介紹了解讀數(shù)據(jù)庫的嵌套查詢的性能問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • MySQL存儲(chǔ)過程中變量的定義以及應(yīng)用詳解

    MySQL存儲(chǔ)過程中變量的定義以及應(yīng)用詳解

    MySQL變量定義和應(yīng)用是我們經(jīng)常會(huì)遇到的問題,下面這篇文章主要給大家介紹了關(guān)于MySQL存儲(chǔ)過程中變量的定義以及應(yīng)用的相關(guān)資料,文章通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • mysql事務(wù)和隔離級別底層原理淺析

    mysql事務(wù)和隔離級別底層原理淺析

    大家好,本篇文章主要講的是mysql事務(wù)和隔離級別底層原理淺析,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2021-12-12
  • Mysql Binlog快速遍歷搜索記錄及binlog數(shù)據(jù)查看的方法

    Mysql Binlog快速遍歷搜索記錄及binlog數(shù)據(jù)查看的方法

    這篇文章主要介紹了Mysql Binlog快速遍歷搜索記錄及binlog數(shù)據(jù)查看的方法的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • MySQL性能優(yōu)化技巧分享

    MySQL性能優(yōu)化技巧分享

    這篇文章主要介紹了MySQL性能優(yōu)化的相關(guān)技巧,幫助大家提高數(shù)據(jù)庫的性能,感興趣的朋友可以了解下
    2020-09-09

最新評論

同德县| 陵水| 瑞金市| 上饶市| 宁蒗| 西宁市| 靖安县| 巴马| 乐清市| 通化县| 娄烦县| 丹巴县| 基隆市| 浦北县| 西安市| 和顺县| 忻州市| 兰考县| 洛浦县| 宝清县| 秦安县| 古丈县| 开远市| 合水县| 石林| 彩票| 青冈县| SHOW| 永兴县| 青浦区| 宁陵县| 金沙县| 襄垣县| 沛县| 丰顺县| 曲阜市| 壤塘县| 会东县| 景宁| 高平市| 中牟县|