續(xù)處理,包括還原系統(tǒng)默認(rèn)表空間和無(wú)效對(duì)象編譯;
16)還原源數(shù)據(jù)庫(kù)用戶表空間狀態(tài)。
[0014]所述數(shù)據(jù)泵備份恢復(fù)算法步驟如下:
I)在源數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù)到dump文件; 2)移動(dòng)dump文件到目標(biāo)庫(kù);
3)導(dǎo)入dump文件中數(shù)據(jù)到目標(biāo)庫(kù)。
[0015]本發(fā)明的有益效果是:該從AIX平臺(tái)向K-UX平臺(tái)迀移的Oracle數(shù)據(jù)庫(kù)迀移工具,結(jié)構(gòu)簡(jiǎn)單合理,實(shí)現(xiàn)了 Oracle數(shù)據(jù)庫(kù)從AIX平臺(tái)向K-UX平臺(tái)的迀移,極大地降低了數(shù)據(jù)庫(kù)迀移難度,減少了工作量,縮短了工作時(shí)間,提高了工作效率。
【附圖說(shuō)明】
[0016]附圖1為發(fā)明Oracle數(shù)據(jù)庫(kù)迀移工具架構(gòu)示意圖。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)的說(shuō)明。
[0018]該從AIX平臺(tái)向K-UX平臺(tái)迀移的Oracle數(shù)據(jù)庫(kù)迀移工具,其軟件架構(gòu)基于JAVA平臺(tái),分為源端與目標(biāo)端,其中AIX平臺(tái)為源端,K-UX平臺(tái)為目標(biāo)端,通過(guò)以太網(wǎng)實(shí)現(xiàn)源端與目標(biāo)端通信;所述源端和目標(biāo)端對(duì)各自所在平臺(tái)環(huán)境進(jìn)行掃描,根據(jù)掃描結(jié)果與迀移算法,生成迀移評(píng)估報(bào)告與迀移方案建議;根據(jù)用戶對(duì)迀移方案建議的篩選和迀移算法生成迀移向?qū)Вㄟ^(guò)迀移向?qū)?duì)用戶的提示與指導(dǎo),實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)從其他服務(wù)器平臺(tái)至K-UX平臺(tái)的跨平臺(tái)跨版本半自動(dòng)迀移。
[0019]所述源端包含通信模塊a (1)、分析模塊a (2)、備份模塊(3)與控制臺(tái)模塊a (4),所述目標(biāo)端包括通信模塊b (5)、分析模塊b (6)、恢復(fù)模塊(7)與控制臺(tái)模塊b (8);所述控制臺(tái)模塊(4,8)用于實(shí)現(xiàn)人機(jī)交互,控制臺(tái)模塊(4,8)第一通信端口與通信模塊(1,5)第一通信端口相連,控制臺(tái)模塊(4,8)第二通信端口與分析模塊(2,6)第一通信端口相連,控制臺(tái)模塊a (4)第三通信端口與備份模塊(3)相連,控制臺(tái)模塊b (8)第三通信端口與恢復(fù)模塊(7)相連,通信模塊(I,5)第二通信端口與分析模塊(2,6)第二通信端口相連,通信模塊a (I)第三通信端口與備份模塊(3)第二通信端口相連,通信模塊b (5)第三通信端口與恢復(fù)模塊(7)第二通信端口相連,源端通信模塊a (I)第四通信端口與目標(biāo)端通信模塊b (5)第四端口通過(guò)以太網(wǎng)相連;所述通信模塊(1,5)將分析模塊a (2)、備份模塊(3)和控制臺(tái)模塊a (4)的信息與分析模塊b (6)、恢復(fù)模塊(7)和控制臺(tái)模塊b (8)的信息通過(guò)以太網(wǎng)實(shí)現(xiàn)交互,實(shí)現(xiàn)源端與目標(biāo)端通信與控制。
[0020]所述分析模塊a (2)收集源端平臺(tái)信息與數(shù)據(jù)庫(kù)信息,分析模塊a (2)通過(guò)通信模塊a (I)接收分析模塊b (6)收集的目標(biāo)端平臺(tái)信息,對(duì)比源端平臺(tái)信息與目標(biāo)端平臺(tái)信息,得出源端、目標(biāo)端平臺(tái)差異分析表輸出至控制臺(tái)模塊a (4);分析模塊根據(jù)平臺(tái)差異分析表、收集的源端數(shù)據(jù)庫(kù)信息以及迀移算法,制定迀移方案輸出至控制臺(tái)模塊(1),根據(jù)控制臺(tái)模塊a (4)反饋的人工干預(yù)信息,生成迀移向?qū)е笇?dǎo)迀移;分析模塊a (2)將源端平臺(tái)信息、源端數(shù)據(jù)庫(kù)信息、平臺(tái)差異分析表、迀移方案、迀移向?qū)Оl(fā)送至通信模塊a (I);所述分析模塊b (6)收集目標(biāo)端平臺(tái)信息與已恢復(fù)的數(shù)據(jù)庫(kù)信息;分析模塊b (6)通過(guò)通信模塊b (5)接收源端分析模塊a (2)收集的源端數(shù)據(jù)庫(kù)信息,對(duì)比源端數(shù)據(jù)庫(kù)信息與目標(biāo)端已恢復(fù)的數(shù)據(jù)庫(kù)信息,得出源端數(shù)據(jù)庫(kù)、目標(biāo)端數(shù)據(jù)庫(kù)一致性檢查表輸出至控制臺(tái)模塊b
(8);分析模塊b (6)將目標(biāo)端平臺(tái)信息、目標(biāo)端數(shù)據(jù)庫(kù)信息、數(shù)據(jù)庫(kù)一致性檢查表、發(fā)送至通信模塊b (5)。
[0021]所述平臺(tái)信息包括處理器架構(gòu)信息、指令集信息、字節(jié)序信息、編譯器信息、操作系統(tǒng)信息、系統(tǒng)變量信息及文件系統(tǒng)信息,所述數(shù)據(jù)庫(kù)信息及已恢復(fù)的數(shù)據(jù)庫(kù)信息包括數(shù)據(jù)庫(kù)版本信息、數(shù)據(jù)量信息、表信息、索引信息、存儲(chǔ)過(guò)程信息、用戶信息、日志信息。
[0022]所述備份模塊(3)根據(jù)迀移向?qū)?、迀移算法及控制臺(tái)模塊a (4)發(fā)送的人工干預(yù)信息執(zhí)行源端Oracle數(shù)據(jù)庫(kù)備份操作,并反饋每步操作的結(jié)果至控制臺(tái)模塊a (4)與通信模塊a (I);所述恢復(fù)模塊(7)根據(jù)迀移向?qū)?、迀移算法及控制臺(tái)模塊b (8)發(fā)送的人工干預(yù)信息執(zhí)行源端Oracle數(shù)據(jù)庫(kù)恢復(fù)操作,并反饋每步操作的結(jié)果至控制臺(tái)模塊b (8)與通信模塊b (5)。
[0023]所述迀移算法包括迀移向?qū)伤惴?、?dǎo)入/導(dǎo)出備份恢復(fù)算法、XTTS備份恢復(fù)算法和數(shù)據(jù)泵備份恢復(fù)算法。
[0024]所述迀移向?qū)伤惴ú襟E如下:
O制定源端、目標(biāo)端平臺(tái)差異分析表的格式以及各差異對(duì)應(yīng)的迀移方案建議;
2)當(dāng)源端數(shù)據(jù)庫(kù)版本為Oracle9i時(shí),則使用導(dǎo)入/導(dǎo)出備份恢復(fù)算法進(jìn)行迀移;
3)當(dāng)源端數(shù)據(jù)庫(kù)版本為Oracle1g或Oracle Ilg時(shí),則根據(jù)不同的數(shù)據(jù)量和時(shí)間窗口選擇不同的迀移方法和不同的轉(zhuǎn)儲(chǔ)文件傳輸建議;
當(dāng)數(shù)據(jù)量〈1T,時(shí)間窗口為8h~12h時(shí),采用XTTS備份恢復(fù)算法執(zhí)行數(shù)據(jù)迀移,并采用FTP傳輸或NFS中轉(zhuǎn)服務(wù)器的方式移動(dòng)數(shù)據(jù)文件;
當(dāng)數(shù)據(jù)量〈1T,時(shí)間窗口為12h~48h時(shí),采用數(shù)據(jù)泵備份恢復(fù)算法執(zhí)行數(shù)據(jù)迀移;
當(dāng)數(shù)據(jù)量1T~5T,時(shí)間窗口為8h~24h時(shí),采用XTTS備份恢復(fù)算法執(zhí)行數(shù)據(jù)迀移,并采用FTP傳輸或NFS中轉(zhuǎn)服務(wù)器的方式移動(dòng)數(shù)據(jù)文件;
當(dāng)數(shù)據(jù)量1T~5T,時(shí)間窗口為24h~48h時(shí),采用數(shù)據(jù)泵備份恢復(fù)算法執(zhí)行數(shù)據(jù)迀移;
當(dāng)數(shù)據(jù)量5T~10T,時(shí)間窗口為8h~48h時(shí),采用XTTS備份恢復(fù)算法執(zhí)行數(shù)據(jù)迀移,并采用NFS中轉(zhuǎn)服務(wù)器或存儲(chǔ)重新掛載的方式移動(dòng)數(shù)據(jù)文件;
當(dāng)數(shù)據(jù)量>10T,時(shí)間窗口為8h~48h時(shí),采用XTTS備份恢復(fù)算法執(zhí)行數(shù)據(jù)迀移,并采用存儲(chǔ)重新掛載的方式移動(dòng)數(shù)據(jù)文件;
5)根據(jù)表信息、用戶信息、存儲(chǔ)過(guò)程信息預(yù)估迀移時(shí)間,包括數(shù)據(jù)庫(kù)備份時(shí)間、轉(zhuǎn)儲(chǔ)文件傳輸時(shí)間、數(shù)據(jù)庫(kù)恢復(fù)時(shí)間;
6)分析模塊a(2)根據(jù)以上信息生成迀移方案建議,并將迀移方案建議發(fā)送至控制臺(tái)模塊a (4)和通信模塊a (I);
7)最后根據(jù)用戶對(duì)迀移方案建議的決策,生成迀移向?qū)А?br>[0025]所述導(dǎo)入/導(dǎo)出備份恢復(fù)算法步驟如下:
O備份模塊(3)執(zhí)行源端用戶數(shù)據(jù)庫(kù)一致性檢查;
2)備份模塊(3)備份源端數(shù)據(jù)庫(kù),生成轉(zhuǎn)儲(chǔ)文件,反饋結(jié)果;
3)提示用戶傳輸轉(zhuǎn)儲(chǔ)文件;
4)用戶通過(guò)源端控制臺(tái)模塊a(4)或目標(biāo)端控制臺(tái)模塊b (8)確認(rèn)轉(zhuǎn)儲(chǔ)文件傳輸完畢;
5 )恢復(fù)模塊(7 )在目標(biāo)端導(dǎo)入用戶庫(kù),并反饋結(jié)果;
6)恢復(fù)模塊(7)在目標(biāo)數(shù)據(jù)庫(kù)執(zhí)行一致性檢查,反饋檢查結(jié)果。
[0026]所述XTTS備份恢復(fù)算法步驟如下: 1)創(chuàng)建目標(biāo)數(shù)據(jù)庫(kù)
采用DBCA的方式使用源庫(kù)創(chuàng)建時(shí)生成的模板創(chuàng)建目標(biāo)數(shù)據(jù)庫(kù),以此創(chuàng)建出的目標(biāo)庫(kù)與源庫(kù)各項(xiàng)參數(shù)是相同的,減少了后續(xù)目標(biāo)庫(kù)優(yōu)化等手工干涉;
2)環(huán)境驗(yàn)證
驗(yàn)證源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)各個(gè)選項(xiàng),包括:系統(tǒng)平臺(tái)、字節(jié)序、字符集、時(shí)區(qū)版本、監(jiān)聽(tīng)器、TNS ;
3)初始化,生成迀移腳本,修改目標(biāo)庫(kù)系統(tǒng)默認(rèn)表空間;
4)刪除目標(biāo)數(shù)據(jù)庫(kù)用戶表空間;
5)創(chuàng)建映射用戶;
6)導(dǎo)出源數(shù)據(jù)庫(kù)元數(shù)據(jù)庫(kù);
7)用戶表空間自包含檢查;
8)變更源數(shù)據(jù)庫(kù)用戶表空間狀態(tài);
9)導(dǎo)出源數(shù)據(jù)庫(kù)用戶表空間元數(shù)據(jù);
10)采用FTP傳輸?shù)姆绞?,NFS做中間服務(wù)器的方式或存儲(chǔ)重新掛載的方式移動(dòng)元數(shù)據(jù)文件和新格式的數(shù)據(jù)文件;
11)轉(zhuǎn)換源數(shù)據(jù)庫(kù)數(shù)據(jù)文件字節(jié)序;
12)導(dǎo)入源數(shù)據(jù)庫(kù)用戶表空間元數(shù)據(jù);
13)還原目標(biāo)數(shù)據(jù)庫(kù)用戶表空間狀態(tài);
14)導(dǎo)入源數(shù)據(jù)庫(kù)元數(shù)據(jù);
15)目標(biāo)數(shù)據(jù)庫(kù)后續(xù)處理,包括還原系統(tǒng)默認(rèn)表空間和無(wú)效對(duì)象編譯;
16)還原源數(shù)據(jù)庫(kù)用戶表空間狀態(tài)。
[0027]所述數(shù)據(jù)泵備份恢復(fù)算法步驟如下:
1)在源數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù)到dump文件,從OracleIlg迀移到Oracle 1g時(shí),在導(dǎo)出時(shí),需要制定參數(shù)vers1n,如從Ilg迀移到Oracle 10.2.0.1.0,導(dǎo)出語(yǔ)句為:
EXPDP USERID=' test/test1rcl as sysdba' schemas=test directory=DATA_PUMP_DIR dumpfile=test.dmp 1gfile=test.log vers1n=10.2.0.1.0
2)移動(dòng)dump文件到目標(biāo)庫(kù);
3)導(dǎo)入dump文件中數(shù)據(jù)到目標(biāo)庫(kù)。
【主權(quán)項(xiàng)】
1