一種從AIX平臺向K-UX平臺遷移的Sybase數(shù)據(jù)庫遷移工具的制作方法
【專利說明】
具
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)庫的跨平臺迀移技術(shù)領(lǐng)域,特別涉及一種從AIX平臺向K-UX平臺迀移的Sybase數(shù)據(jù)庫迀移工具。
【背景技術(shù)】
[0002]高端服務(wù)器承載著行業(yè)的核心應(yīng)用,廣泛應(yīng)用在金融、電信、能源、交通等關(guān)鍵應(yīng)用領(lǐng)域,其運(yùn)行直接關(guān)系到社會、經(jīng)濟(jì)的正常運(yùn)轉(zhuǎn)。長期以來,由于缺乏高端服務(wù)器設(shè)計(jì)和制造能力,我國高端服務(wù)器市場一直為國外廠商把持,其中惠普長期占據(jù)20%以上的國內(nèi)市場。在科技部“十一五”863計(jì)劃的支持下,相關(guān)部門、科研單位積極配合,浪潮已成功研制了 32路高端容錯(cuò)計(jì)算機(jī)系統(tǒng),可用度達(dá)到99.999%,系統(tǒng)聯(lián)機(jī)事務(wù)處理能力達(dá)到世界先進(jìn)水平。為提高信息化建設(shè)重大裝備的自主可控性,越來越多的信息系統(tǒng)傾向于使用自主產(chǎn)品。因此,在未來較長的一段時(shí)間內(nèi),國內(nèi)的IT系統(tǒng)建設(shè)面臨著國產(chǎn)化的變革,具體的信息系統(tǒng)建設(shè)與實(shí)施層面,體現(xiàn)為越來越多的跨平臺迀移工作,其中有相當(dāng)?shù)霓|移工作是從AIX平臺至浪潮K-UX平臺。
[0003]數(shù)據(jù)庫是IT系統(tǒng)的核心軟件,數(shù)據(jù)庫迀移也是IT系統(tǒng)建設(shè)中極為重要的一部分。由于異構(gòu)服務(wù)器平臺的CPU指令集差異、操作系統(tǒng)差異以及編譯器差異,使得數(shù)據(jù)庫跨平臺迀移難度高,工作量大。如何降低移植難度,減少工作量,是數(shù)據(jù)庫跨平臺迀移需要解決的關(guān)鍵問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明為了彌補(bǔ)現(xiàn)有技術(shù)的缺陷,提供了一種簡約、高效的從AIX平臺向K-UX平臺迀移的Sybase數(shù)據(jù)庫迀移工具。
[0005]本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
一種從AIX平臺向K-UX平臺迀移的Sybase數(shù)據(jù)庫迀移工具,其特征在于:所述迀移工具的軟件架構(gòu)基于JAVA平臺,分為源端與目標(biāo)端,其中AIX平臺為源端,K-UX平臺為目標(biāo)端,通過以太網(wǎng)實(shí)現(xiàn)源端與目標(biāo)端通信;所述源端和目標(biāo)端對各自所在平臺環(huán)境進(jìn)行掃描,根據(jù)掃描結(jié)果與迀移算法,生成迀移評估報(bào)告與迀移方案建議;根據(jù)用戶對迀移方案建議的篩選和迀移算法生成迀移向?qū)Вㄟ^迀移向?qū)τ脩舻奶崾九c指導(dǎo),實(shí)現(xiàn)Sybase數(shù)據(jù)庫數(shù)據(jù)從其他服務(wù)器平臺至K-UX平臺的跨平臺跨版本半自動迀移。
[0006]所述源端包含通信模塊a (1)、分析模塊a (2)、備份模塊(3)與控制臺模塊a (4),所述目標(biāo)端包括通信模塊b (5)、分析模塊b (6)、恢復(fù)模塊(7)與控制臺模塊b (8);所述控制臺模塊(4,8)用于實(shí)現(xiàn)人機(jī)交互,控制臺模塊(4,8)第一通信端口與通信模塊(1,5)第一通信端口相連,控制臺模塊(4,8)第二通信端口與分析模塊(2,6)第一通信端口相連,控制臺模塊a (4)第三通信端口與備份模塊(3)相連,控制臺模塊b (8)第三通信端口與恢復(fù)模塊(7)相連,通信模塊(I,5)第二通信端口與分析模塊(2,6)第二通信端口相連,通信模塊a (I)第三通信端口與備份模塊(3)第二通信端口相連,通信模塊b (5)第三通信端口與恢復(fù)模塊(7)第二通信端口相連,源端通信模塊a (I)第四通信端口與目標(biāo)端通信模塊b (5)第四端口通過以太網(wǎng)相連;所述通信模塊(1,5)將分析模塊a (2)、備份模塊(3)和控制臺模塊a (4)的信息與分析模塊b (6)、恢復(fù)模塊(7)和控制臺模塊b (8)的信息通過以太網(wǎng)實(shí)現(xiàn)交互,實(shí)現(xiàn)源端與目標(biāo)端通信與控制。
[0007]所述分析模塊a (2)收集源端平臺信息與數(shù)據(jù)庫信息,分析模塊a (2)通過通信模塊a (I)接收分析模塊b (6)收集的目標(biāo)端平臺信息,對比源端平臺信息與目標(biāo)端平臺信息,得出源端、目標(biāo)端平臺差異分析表輸出至控制臺模塊a (4);分析模塊根據(jù)平臺差異分析表、收集的源端數(shù)據(jù)庫信息以及迀移算法,制定迀移方案輸出至控制臺模塊(1),根據(jù)控制臺模塊a (4)反饋的人工干預(yù)信息,生成迀移向?qū)е笇?dǎo)迀移;分析模塊a (2)將源端平臺信息、源端數(shù)據(jù)庫信息、平臺差異分析表、迀移方案、迀移向?qū)Оl(fā)送至通信模塊a (I)。
[0008]所述分析模塊b (6)收集目標(biāo)端平臺信息與恢復(fù)的數(shù)據(jù)庫信息;分析模塊b (6)通過通信模塊b (5)接收源端分析模塊a (2)收集的源端數(shù)據(jù)庫信息,對比源端數(shù)據(jù)庫信息與目標(biāo)端已恢復(fù)的數(shù)據(jù)庫信息,得出源端數(shù)據(jù)庫、目標(biāo)端數(shù)據(jù)庫一致性檢查表輸出至控制臺模塊b (8);分析模塊b (6)將目標(biāo)端平臺信息、目標(biāo)端數(shù)據(jù)庫信息、數(shù)據(jù)庫一致性檢查表、發(fā)送至通信模塊b (5)。
[0009]所述平臺信息包括處理器架構(gòu)信息、指令集信息、字節(jié)序信息、編譯器信息、操作系統(tǒng)信息、系統(tǒng)變量信息及文件系統(tǒng)信息,所述數(shù)據(jù)庫信息及恢復(fù)的數(shù)據(jù)庫信息包括數(shù)據(jù)庫版本信息、數(shù)據(jù)量信息、表信息、索引信息、存儲過程信息、用戶信息、日志信息。
[0010]所述備份模塊(3)根據(jù)迀移向?qū)?、迀移算法及控制臺模塊a (4)發(fā)送的人工干預(yù)信息執(zhí)行源端Sybase數(shù)據(jù)庫備份操作,并反饋每步操作的結(jié)果至控制臺模塊a (4)與通信模塊a (I);所述恢復(fù)模塊(7)根據(jù)迀移向?qū)?、迀移算法及控制臺模塊b (8)發(fā)送的人工干預(yù)信息執(zhí)行源端Sybase數(shù)據(jù)庫恢復(fù)操作,并反饋每步操作的結(jié)果至控制臺模塊b (8)與通信模塊b (5)。
[0011]所述迀移算法包括迀移向?qū)伤惴ê蛡浞莼謴?fù)算法。
[0012]所述迀移向?qū)伤惴ú襟E如下:
O制定源端、目標(biāo)端平臺差異分析表的格式以及各差異對應(yīng)的迀移方案建議;
2)若源端數(shù)據(jù)庫版本號高于12.5.3,則提示用戶2種選擇:可以先升級源端數(shù)據(jù)庫版本至12.5.3以上,再進(jìn)行迀移;或者先將源端數(shù)據(jù)庫數(shù)據(jù)迀移至同平臺同版本的中間數(shù)據(jù)庫上,然后將中間數(shù)據(jù)庫升級至12.5.3以上,再從中間庫迀移數(shù)據(jù)至目標(biāo)端數(shù)據(jù)庫;
3)根據(jù)不同的迀移數(shù)據(jù)量制定不同的數(shù)據(jù)庫轉(zhuǎn)儲文件傳輸建議:轉(zhuǎn)儲文件小于100G時(shí),使用千兆網(wǎng)傳輸;轉(zhuǎn)儲文件100G~4T時(shí),使用萬兆網(wǎng)傳輸;轉(zhuǎn)儲文件大于4T時(shí),使用直接掛載磁盤陣列方式進(jìn)行轉(zhuǎn)移;
4)根據(jù)表信息、用戶信息、存儲過程信息預(yù)估迀移時(shí)間,包括數(shù)據(jù)庫備份時(shí)間、轉(zhuǎn)儲文件傳輸時(shí)間、數(shù)據(jù)庫恢復(fù)時(shí)間;
5)分析模塊a(2)生成迀移方案建議,并將迀移方案建議發(fā)送至控制臺模塊a (4)和通?目模塊a (I);
6)最后根據(jù)用戶對迀移方案建議的決策,生成迀移向?qū)А?br>[0013]備份恢復(fù)算法步驟如下: 1)備份模塊(3)執(zhí)行源端用戶數(shù)據(jù)庫一致性檢查,包括確認(rèn)數(shù)據(jù)頁和索引頁的完整性,檢查數(shù)據(jù)庫內(nèi)的頁分配情況,檢查數(shù)據(jù)庫內(nèi)系統(tǒng)表的一致性,記錄總的數(shù)據(jù)檢查的時(shí)間,反饋檢查信息;
2)備份模塊(3)執(zhí)行源端系統(tǒng)數(shù)據(jù)庫一致性檢查,確認(rèn)master庫與sybsystemprocs庫的完整性及一致性,反饋檢查結(jié)果;
3)備份模塊(3)檢查源端數(shù)據(jù)庫用戶登陸狀態(tài),反饋檢查結(jié)果,提示確保無用戶登錄;
4)備份模塊(3)執(zhí)行源端數(shù)據(jù)庫強(qiáng)制寫磁盤,使得該時(shí)間點(diǎn)的全部臟數(shù)據(jù)以及日志均寫到磁盤中,反饋結(jié)果;
5)備份模塊(3)截?cái)嘣炊藬?shù)據(jù)庫日志,反饋結(jié)果;
6)備份模塊(3)迀出源端數(shù)據(jù)庫用戶信息,反饋迀出結(jié)果;
7)備份模塊(3)備份源端數(shù)據(jù)庫,生成轉(zhuǎn)儲文件,反饋結(jié)果;
8)提示用戶傳輸轉(zhuǎn)儲文件;
9)用戶通過源端的控制臺模塊a(4)或目標(biāo)端的控制臺模塊b (8)確認(rèn)轉(zhuǎn)儲文件傳輸完畢;
10)恢復(fù)模塊(7)提示用戶在目標(biāo)端重建用戶庫;
11)用戶通過源端的控制臺模塊a(4)或目標(biāo)端控制臺模塊b (8)確認(rèn)目標(biāo)端重建用戶庫完畢;
12)目標(biāo)端的分析模塊b(6)檢查目標(biāo)端用戶庫,并于源端的分析模塊a (2)