[發明專利]DB2數據庫數據同步更新方法及設備有效
| 申請號: | 201811219296.0 | 申請日: | 2018-10-19 |
| 公開(公告)號: | CN109271452B | 公開(公告)日: | 2021-04-13 |
| 發明(設計)人: | 付銓;孫峰;趙家威 | 申請(專利權)人: | 武漢達夢數據庫有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/23;G06F16/242 |
| 代理公司: | 武漢智嘉聯合知識產權代理事務所(普通合伙) 42231 | 代理人: | 黃君軍 |
| 地址: | 430014 湖北省武漢市東湖新技術開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | db2 數據庫 數據 同步 更新 方法 設備 | ||
本發明實施例提供了DB2數據庫數據同步更新方法及設備。所述方法包括:根據待同步更新表創建數據詳細地址存儲列,對待同步更新表上S鎖,獲取源端DB2數據庫當前的日志序列號LSN作為待同步更新表的起始LSN,釋放S鎖;獲取待同步更新表的結果集,將結果集發送至目標端數據庫入庫,獲取源端DB2數據庫當前LSN作為待同步更新表的結束LSN;接收源端同步更新服務發送的初始化數據,在目標端數據庫將ROWID插入數據詳細地址存儲列,初始化待同步更新表的數據;啟動數據實時同步更新服務,將源端DB2數據庫的變化發送至目標端數據庫進行數據同步更新。本發明的各個實施例可以在保證目標端數據庫數據一致性的前提下,避免長時間對待同步更新表上S鎖造成的不利影響。
技術領域
本發明實施例涉及計算機技術領域,尤其涉及一種DB2數據庫數據同步更新方法及設備。
背景技術
在基于軟件的數據庫數據復制技術中,基于數據庫日志分析的數據實時同步技術,支持異構系統復制,并且異構備機可讀寫,對源端數據庫的影響也比較小,因此在數據庫實時復制領域得到廣泛應用。目前在使用數據同步服務進行數據庫數據初始化的主要技術原理是,首先對源端數據庫中的同步表上S鎖,防止其他事務對同步表做修改操作,查詢出當前數據庫的LSN值作為表增量同步的起始LSN,然后使用SELECT語句查詢出源表中的數據。對于支持多版本并發控制的關系型數據庫,在發出SELECT查詢語句后,可以釋放掉同步表上的S鎖,因為SELECT語句能夠利用多版本機制查詢出起始LSN對應的結果集,對于大于此LSN的事務操作,SELECT不會查詢到變化的數據。這一部分的變化則是通過后續的增量同步來保證源和目標端的數據一致性。而對于不支持多版本機制的關系型數據庫,在SELECT查詢并提取完所有結果集之后才能釋放表上的S鎖,防止在查詢過程中,其他事務對同步表做修改操作,而讀取到了變更的數據,這樣再次在增量同步時會重復同步起始LSN之后提交的事務操作。
對于DB2數據庫,由于其不支持多版本并發控制機制,因此在目前初始化步驟實現中需要對數據庫同步表保持S鎖。如果不對該表保持S鎖,那么在某個表初始化時,查詢操作會讀取到在提取查詢結果集期間其它事務提交的數據,初始化結束后開啟同步時,這些提取結果集期間產生的事務會被再次同步,從而影響目標端庫數據的一致性。如果對該表保持S鎖,當源端數據表中數據量非常大時,查詢結果集會花費較長時間,而長時間對同步表保持S鎖,會對數據庫上的應用程序造成較大影響。因此,找到在保證目標端數據庫數據一致性的前提下,避免因長時間對待同步更新表上S鎖,對應用程序造成不利影響的方法,就成為業界廣泛關注的問題。
發明內容
針對現有技術存在的上述問題,本發明實施例提供了一種DB2數據庫數據同步更新方法及設備。
第一方面,本發明的實施例提供了一種DB2數據庫數據同步更新方法,包括:在目標端數據庫,根據待同步更新表創建數據詳細地址存儲列,在源端數據庫,對所述待同步更新表上S鎖,獲取源端DB2數據庫當前的日志序列號LSN作為所述待同步更新表的起始LSN,釋放S鎖;獲取所述待同步更新表的結果集,將所述結果集發送至目標端數據庫入庫,再次獲取源端DB2數據庫當前LSN作為所述待同步更新表的結束LSN;在目標端數據庫,接收源端同步更新服務發送的初始化數據,將所述待同步更新表中的數據及數據詳細地址ROWID組成INSERT語句,并在目標端數據庫中將ROWID插入所述數據詳細地址存儲列,完成所述待同步更新表的數據初始化;在源端數據庫,若所述結束LSN大于等于所述起始LSN,啟動數據實時同步更新服務,將源端DB2數據庫的變化發送至目標端數據庫進行數據同步更新;其中,所述數據詳細地址存儲列用于存儲源端數據庫中的ROWID,所述結果集中包括所述源端數據庫中的ROWID。
進一步地,所述數據詳細地址存儲列的形式包括:隱藏列或普通列。
進一步地,所述啟動數據實時同步更新服務,將源端DB2數據庫的變化發送至目標端數據庫,包括:捕獲并分析源端數據庫日志,將源端DB2數據庫的增刪變化進行轉換,將轉換后的結果通過TCP/IP網絡發送至目標端數據庫。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢達夢數據庫有限公司,未經武漢達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811219296.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據庫外部鏈接的提取方法
- 下一篇:一種數據庫容量的確定方法和裝置
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





