【技術實現步驟摘要】
本專利技術涉及數據庫應用技術,尤其涉及Oracle數據庫的應用技術。
技術介紹
隨著數據庫管理系統和操作系統平臺更新換代的速度不斷加快,數據庫工程師經常需要在兩個不同的數據庫之間或在兩種不同的操作系統平臺之間進行數據遷移。數據遷移是指將數據從一臺機器遷移到另一臺機器,或者將數據從一個數據庫遷移到另一個數據庫,并且這些數據(包括結構定義)在轉移后能正常運行。在現有技術中,常用的數據遷移方法主要包括:采用導出/導入(export/import)或者Oracle?10g版本提供的導出/導入(expdp/impdp)方式、insert/*+append*/into...from?db_link+nologging、standby遷移方式、利用stream與相關工具進行的數據遷移和基于表空間傳輸以及Oracle?10g的跨平臺數據文件轉換結合的方式。但是,上述的這些遷移方式有的停機時間過長,有的難以確定完全同步開始時的SCN點,有的則不能跨平臺、跨版本和跨字符集進行數據遷移。
技術實現思路
針對基于Oracle數據庫而進行數據遷移時所存在的上述技術缺陷,本專利技術提供了可實現跨平臺、跨版本且高效快速的在線數據遷移方法。按照本專利技術的一個方面,提供了一種采用prebuilt?mv(materialized?view:物化視圖)方式進行數據遷移的方法。該方法是指在預先創建好的表上面建立物化視圖,當該物化視圖被刪除的時候,原來已創建好的表仍予以保留,同時同步過來的數據也被保留。該方法采用表對象作為數據遷移的單個對象,并針對該表對象用一個主鍵刷新mv。首先在源表上創建mv日 ...
【技術保護點】
一種基于Oracle數據庫的在線數據遷移方法,其特征在于,該方法采用下列步驟實現: (1)依照預定的容量大小對表對象進行分級,將超過所述預定容量的表對象作為大表,將低于所述預定容量的表對象作為小表; (2)將所述大表作為源表,在源數據庫上創建物化視圖日志; (3)在目標數據庫上創建與所述源表的結構相同的目標表,并在所述目標表上采用prebuilt方式創建物化視圖; (4)對同步日志進行完全刷新; (5)對所述同步日志進行增量刷新; (6)創建可實現自動增量刷新的程序代碼; (7)按上述步驟(2)-(6)依次處理所有的大表; (8)對采用insert/↑[*]+append↑[*]/into…from db_link處理的小表,整理好insertinto的腳本; (9)運行所述的insert into腳本,對所述小表進行數據遷移;以及 (10)遷移切換。
【技術特征摘要】
1.?一種基于Oracle數據庫的在線數據遷移方法,其特征在于,該方法采用下列步驟實現:(1)依照預定的容量大小對表對象進行分級,將超過所述預定容量的表對象作為大表,將低于所述預定容量的表對象作為小表;(2)將所述大表作為源表,在源數據庫上創建物化視圖日志;(3)在目標數據庫上創建與所述源表的結構相同的目標表,并在所述目標表上采用prebuilt方式創建物化視圖;(4)對同步日志進行完全刷新;(5)對所述同步日志進行增量刷新;(6)創建可實現自動增量刷新的程序代碼;(7)按上述步驟(2)-(6)依次處理所有的大表;(8)對采用insert/*+append*/into...from?db_link處理的小表,整理好insertinto的腳本;(9)運行所述的insert?into腳本,對所述小表進行數據遷移;以及(10)遷移切換。2.?如權利要求1所述的方法,其特征在于,在執行步驟(3)時,所述源表的結構在所述日志創建完成之后且在遷移數據的復制完成之前保持不變。3.?如權利要求1所述的方法,其特征在于,所述完全刷新僅在第一次同步所述日志時執行。4.?一種基于Oracle數據庫的在線數據遷移方法,其特征在于,該方法采用下列步驟實現:(1)依照預定的容量大小對表對象進行分級,將超過所述預定容量的表對象作為大表,將低于所述預定容量的表對象作為小表;(2)將所述大表作為源表,在所述源表上創建數據操縱語言的觸發器;(3)在目標數據庫上創建與所述源表結構相同的目標表;(4)所述觸發器開始工作后,分批載入所述源表中的數據至所述目標數據庫的所述目標表中;(5)在所述目標數據庫上創建用戶自定義的過程;(6)完全刷新由所述觸發器產生的同步日志;(7)對所述同步日志進行增量刷新;以及(8)遷移切換。5.?如權利要求4所述的方法,其特征在于,在執行步驟(1)時,對低于所述預定容量的表對象,采用insert/*+append*/into...from?db_link進行數據遷移。6.?如權利要求4所述的方法,其特征在于,所述日志的REP_KEY用于存放所述源表的主鍵,字段類型取決于所述源表的字段類型...
【專利技術屬性】
技術研發人員:陳吉平,
申請(專利權)人:阿里巴巴公司,
類型:發明
國別省市:VG[英屬維爾京群島]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。