摘要:完整的SAP系統(tǒng)由開發(fā)、測試、生產(chǎn)三個系統(tǒng)組成,其中生產(chǎn)系統(tǒng)擁有企業(yè)的核心業(yè)務(wù)數(shù)據(jù)。所有對其系統(tǒng)結(jié)構(gòu)和業(yè)務(wù)邏輯的變更都必須在測試系統(tǒng)中嚴格測試后,才能在生產(chǎn)系統(tǒng)中實施。為保證測試數(shù)據(jù)的有效性,測試系統(tǒng)應(yīng)盡可能與生產(chǎn)系統(tǒng)一致。這就需要將生產(chǎn)系統(tǒng)數(shù)據(jù)完整的遷移到新的測試系統(tǒng)中,以滿足測試需要。本文以AIX+Oracle環(huán)境為例對“同構(gòu)環(huán)境下SAP系統(tǒng)的數(shù)據(jù)庫遷移”進行探討。
關(guān)鍵詞:AIX;SAP系統(tǒng);Oracle數(shù)據(jù)庫;同構(gòu);數(shù)據(jù)遷移
中圖分類號:TP315 文獻標識碼:A 文章編號:1007-9599 (2012) 15-0000-02
1 系統(tǒng)環(huán)境描述
目標系統(tǒng)T49已經(jīng)搭建完畢,使用現(xiàn)有的T49環(huán)境來完成PRD的數(shù)據(jù)遷移。
源系統(tǒng)環(huán)境(生產(chǎn)系統(tǒng))
OS:AIX 5.3
DB:ORACLE 9.2.0.3
SAPSID:PRD
DBSID:PRD
目標系統(tǒng)環(huán)境(測試系統(tǒng))
OS:AIX 5.3
DB:ORACLE 9.2.0.3
SAPSID:T49
DBSID:T49
R/3 Version:4.6C
Kernel:46D_EXT
2 遷移前的準備工作
2.1 備份PRD數(shù)據(jù)庫控制文件
使用以下命令生成PRD數(shù)據(jù)庫控制文件
sqlplus/nolog
connect/as sysdba
alter database backup controlfile to trace resetlogs
生成的文件名及路徑為:
/oracle/PRD/saptrace/usertrace/PRD_ora_xxxxx.trc
2.2 創(chuàng)建NFS
將T49系統(tǒng)的/oracle/T49使用NFS到PRD系統(tǒng),NFS文件系統(tǒng)命名為:rmtt49
2.3 分別停止源系統(tǒng)及目標系統(tǒng)的SAP服務(wù),并確認SAP和ORACLE進程已停止
2.4 在目標系統(tǒng)T49上所作的準備工作(很重要:請注意是目標系統(tǒng)T49,切勿搞錯!)
(1)刪除垃圾文件及清除日志文件
#cd /oracle/T49/saparch
#rm *.dbf
#cd /oracle/T49/saparch/cntrl
#rm cntrlT49.dbf
(2)刪除T49上/oracle/sapdata1-sapdata6及日志文件
#cd /oracle/T49
#rm-rf sapdata1
……
#rm-rf sapdata6
#rm-rf mirrlogA
……
#rm-rf origlogB
3 開始遷移
從源主機PRD拷貝數(shù)據(jù)文件日志文件到目標主機T49
(1)用oracle用戶拷貝源主機PRD上的sapdata1-sapdata6(6個目錄)到T49上
在目標主機T49上:
用root用戶在根目錄下mount,
#cd
#mount/rmtt49
#su–orat49(用orat49用戶)
#cd/rmtt49
#cp-Rp sapdata1/oracle/T49(表示用后臺)
……
#cp-Rp sapdata6/oracle/T49
查看后臺拷貝進程
ps–ef|grep cp
(2)從源主機PRD上把mirrlogA、mirrlogB、origlogA、origlogB拷貝到目標主機T49上
#cd/rmtt49
#cp–Rp mirrlogA/oracle/T49
……
#cp–Rp origlogB/oracle/T49
(3)傳輸并修改生成的controlfile
在/oracle/PRD下面
cd/oracle/PRD/saptrace/usertrace
用ftp工具把PRD_ora_xxxxx.trc文件傳至目標系統(tǒng)
用Text Editor編輯PRD_ora_xxxxx.trc文件(修改結(jié)束后可改名存為db.sql)
把所有PRD改為T49
把REUSE改為SET
把從文件頭到startup nomount(包括startup nomount這一行的內(nèi)容,注意:是第二個startup nomount)的內(nèi)容刪除,把此文件最后一個
“CHARACTER SET WE8DEC
;”
以后的內(nèi)容全部刪除,然后存盤。
4 恢復(fù)工作(在目標主機T49上的操作)
(1)把修改好的db.sql文件放在T49上的/oracle/T49/的目錄下,并改變此文件的權(quán)限
#chmod 777 db.sql
(2)啟動oracle數(shù)據(jù)庫,執(zhí)行db.sql文件
#su–orat49
#sqlplus/nolog
SQL>connect /as sysdba;
SQL>startup nomount;
SQL>@db.sql;
SQL>recover database using backup controlfile;(執(zhí)行這條命令會提示要求輸入一個文件名稱,這個文件是在T49上的/oracle/T49/origlogA或/oracle/T49/origlogB中的八個文件之一:log_g11m1.dbf---log_g18m1.dbf的其中一個
格式:/oracle/T49/origlogA/log_g11m1.dbf
SQL>alter database open resetlogs;
SQL>commit;
SQL>shutdown
(3)檢查目標主機T49的oracle數(shù)據(jù)庫能否正常啟動關(guān)閉
SQL>startup
初始化sapr3的密碼和創(chuàng)建OPS$t49adm用戶。
System需密碼初始化
SQL>Alter user system identified by manager;
Orat49>sapdba->m->d->y
(4)啟動目標主機T49上的sap
切換到sap用戶
#su–t49adm
啟動sap
#./startsap
用下面的命令來查看sap和oracle進程是否正常
#ps-ef|grep ora
#ps-ef|grep sap
(5)在目標主機T49上,先刪除舊的license,安裝新的license
#su–t49adm
#saplicense–get
#saplicense–show
#saplicense–delete
#saplicense–install
5 結(jié)束語
本文以SAP系統(tǒng)同構(gòu)遷移為例,講述系統(tǒng)遷移的一種方法。通過以上方法,能快速地進行ORACLE數(shù)據(jù)遷移;該方案在實踐中得到了驗證,遷移后的測試系統(tǒng)運行效果良好。
參考文獻:
[1]陳巖冰,龍策景,彭丹.SAP系統(tǒng)管理[M].北京:清華大學(xué)出版社