研發(fā)內(nèi)部快速備份、恢復(fù)方案_第1頁
研發(fā)內(nèi)部快速備份、恢復(fù)方案_第2頁
研發(fā)內(nèi)部快速備份、恢復(fù)方案_第3頁
研發(fā)內(nèi)部快速備份、恢復(fù)方案_第4頁
研發(fā)內(nèi)部快速備份、恢復(fù)方案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、研發(fā)內(nèi)部EAS帳套快速備份、恢復(fù)方案目前研發(fā)內(nèi)部備份、恢復(fù)帳套主要是采用邏輯方式。Oracle采用exp/imp,DB2采用export、load,該方式下帳套備份文件能跨操作系統(tǒng)平臺及數(shù)據(jù)庫版本傳輸,因此嚴(yán)格來說只是一種數(shù)據(jù)傳輸方式,適用于遠(yuǎn)程傳帳套,如果只是在研發(fā)內(nèi)部高效、快捷備份、恢復(fù)帳套,則應(yīng)該以物理方式為主,輔助使用邏輯方式。1. Oracle快速備份、恢復(fù)1.1. 表空間備份、恢復(fù)方式無論是測試庫還是開發(fā)庫,最終都需要統(tǒng)一規(guī)范命名,也就是對不同用戶帳套使用的表空間區(qū)分開來,對應(yīng)使用唯一表空間命名,即 EAS_D_用戶名英文縮寫_STANDARD。如:萬科帳套,對應(yīng)表空間命名為EAS

2、_D_WANKE_STANDARD,只有這樣,開發(fā)庫、測試庫同步帳套才會清晰、明了,表空間方式備份、恢復(fù)方式的性能優(yōu)勢才能最大程度發(fā)揮出來。表空間傳輸是一種快速在數(shù)據(jù)庫間移動數(shù)據(jù)的辦法,是把一個數(shù)據(jù)庫上的數(shù)據(jù)文件復(fù)制到另外一個數(shù)據(jù)庫中,只導(dǎo)出表空間的定義信息到DMP文件,而不是把整個數(shù)據(jù)文件導(dǎo)出成Dmp文件,因此表空間方式移動數(shù)據(jù)就象復(fù)制文件一樣快。一旦研發(fā)內(nèi)部將用戶帳套表空間命名統(tǒng)一規(guī)范后,帳套從測試庫恢復(fù)到開發(fā)庫將變的非常方便。如果同一個數(shù)據(jù)庫下恢復(fù)到之前表空間方式備份的帳套,則需要先刪除該帳套對應(yīng)的表空間,才能恢復(fù)。這種類型的恢復(fù)在性能測試中會經(jīng)常用到。1.1.1. 傳輸表空間相關(guān)規(guī)則O

3、racle9i版本源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫要求運行在相同的硬件平臺上。Oracle10g 版本 可跨平臺,但不同字節(jié)順序的平臺數(shù)據(jù)文件需要轉(zhuǎn)換。源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫必須使用相同的字符集(UTF8)。源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫一定要有相同大小的數(shù)據(jù)塊(默認(rèn)為8K)目標(biāo)數(shù)據(jù)庫不能有與遷移表空間同名的表空間,因此如果同一個數(shù)據(jù)庫下恢復(fù)之前表空間方式備份的帳套,需要先刪除該帳套對應(yīng)的表空間。必須傳輸自包含的對象集:可以用以下的方法來檢測一個表空間或一套表空間是否符合傳輸標(biāo)準(zhǔn):SQLexec sys.dbms_tts.transport_set_check(EAS_D_NM_STANDARD,true);SQLs

4、elect * from sys.transport_set_violations;如果沒有行選擇,表示該表空間只包含表數(shù)據(jù),并且是自包含的。對于有些非自包含的表空間,如需要將關(guān)聯(lián)的表空間一起傳輸。注:目前EAS只需要關(guān)注BLOB、CLOB類型字段是否與其它字段存在同一表空間,一般情況下是在同一表空間。1.1.2. 表空間備份、恢復(fù)帳套詳細(xì)步驟1、 設(shè)置源數(shù)據(jù)庫需要傳輸?shù)膸ぬ讓?yīng)的表空間為只讀alter tablespace EAS_D_NM_STANDARD read only;2、 導(dǎo)出表空間定義信息ORACLE9i 版本W(wǎng)indows下: exp userid=”/ as sysdba”

5、 file=easnm.dmp log=easnm.log transport_tablespace=y tablespaces=(EAS_D_EASNM_STANDARD)Linux、Unix下:export ORACLE_SID=EASNM (環(huán)境變量設(shè)置為需要導(dǎo)出的數(shù)據(jù)庫實例名)Exp userid=”sysorcl as sysdba” file=easnm.dmp log=easnm.log transport_tablespace=y tablespaces=(EAS_D_EASNM_STANDARD)以上需要注意的是為了在SQL中執(zhí)行EXP,USERID必須用三個引號,在UNIX

6、中也必須注意避免“/”的使用必須使用sysdba才能操作這個命令在SQL中必須放置在一行ORACLE10G 以上版本expdp system/oracle dumpfile=eas_d_NM_standard.dmp directory=eas_expdp_dir transport_tablespaces=EAS_D_EASNM_STANDARD注:導(dǎo)出用戶不能使用導(dǎo)出帳套所在的用戶名,這里使用的是system,目錄名,導(dǎo)出的表空間名根據(jù)具體環(huán)境情況修改。如導(dǎo)出的表空間需跨平臺,需考慮數(shù)據(jù)文件是否需要轉(zhuǎn)換查詢Oracle10g支持的平臺轉(zhuǎn)換,相同字節(jié)順序的平臺之間傳輸表空間時,不需要任何轉(zhuǎn)換

7、SQL select * from v$transportable_platform order by platform_id;如果字節(jié)順序不同,需要使用rman轉(zhuǎn)換文件格式:$ rman target /RMAN convert tablespace EAS_D_EASNM_STANDARD2 to platform Microsoft Windows IA (32-bit)3 Format f:oracle_data%N_%f;例:將源數(shù)據(jù)文件轉(zhuǎn)換為windows 32位平臺數(shù)據(jù)文件注:目前研發(fā)內(nèi)部使用的數(shù)據(jù)庫服務(wù)器操作系統(tǒng)以windows,linux(Intel x86)為主,不需要做任

8、何數(shù)據(jù)文件轉(zhuǎn)換。3、 復(fù)制源數(shù)據(jù)庫導(dǎo)出的表空間包含的數(shù)據(jù)文件到目標(biāo)數(shù)據(jù)庫通過cp(unix)或copy(windows)或通過ftp傳輸源數(shù)據(jù)庫數(shù)據(jù)文件(一定要在bin方式)到目標(biāo)數(shù)據(jù)庫所在服務(wù)器。如跨不同字節(jié)順序平臺傳輸,之前通過RMAN轉(zhuǎn)換的數(shù)據(jù)文件要在目標(biāo)數(shù)據(jù)庫上還原出來:$ rman target /RMAN CONVERT DATAFILE F:ORACLE_DATAEAS_D_EASNM_STANDARD_82 DB_FILE_NAME_CONVERT3 f:oracle_dataEAS_D_EASNM_STANDARD01.dbf;4、 把源數(shù)據(jù)庫表空間改回讀寫狀態(tài)alter t

9、ablespace EAS_D_EASNM_STANDARD read write;5、 表空間方式導(dǎo)入目標(biāo)數(shù)據(jù)庫如目標(biāo)數(shù)據(jù)庫與原數(shù)據(jù)庫為同一數(shù)據(jù)庫,由于存在同名表空間,因此需要刪除該表空間及數(shù)據(jù)文件后才能導(dǎo)入。Alter database datafile f:oracle_dataEAS_D_EASNM_STANDARD01.dbf offline drop; /將該表空間所在的數(shù)據(jù)文件離線刪除drop tablespace EAS_D_EASNM_STANDARD including contents; /刪除表空間注:通過以上步驟刪除表空間速度最快,如直接刪除表空間數(shù)據(jù)庫會對其中包含的

10、對象一個個刪除,需消耗很長時間。如目標(biāo)數(shù)據(jù)庫與原數(shù)據(jù)庫為不同數(shù)據(jù)庫,且目標(biāo)數(shù)據(jù)庫不存在與需導(dǎo)入表空間同名的表空間,則直接導(dǎo)入即可。ORACLE 9i:Windows下:imp file=easnm.dmp userid=”/ as sysdba” transport_tablespace=y datafiles=(f:oracle_dataEAS_D_EASNM_STANDARD01.dbf,f:oracle_dataEAS_D_EASNM_STANDARD02.dbf)Linux、Unix下:、export ORACLE_SID=ora9i (環(huán)境變量設(shè)置為需要導(dǎo)入的測試數(shù)據(jù)庫實例名)imp

11、 file=easnm.dmp userid=”sys/sys as sysdba” transport_tablespace=y datafiles=(f:oracle_dataEAS_D_EASNM_STANDARD01.dbf,f:oracle_dataEAS_D_EASNM_STANDARD02.dbf)ORACLE 10G:impdp system/oracle dumpfile=eas_d_NM_standard.dmp directory=eas_expdp_dir transport_datafiles=f:oracle_dataEAS_D_EASNM_STANDARD01.d

12、bf /目錄名,數(shù)據(jù)文件名根據(jù)具體環(huán)境情況修改。6、 設(shè)置目標(biāo)數(shù)據(jù)庫表空間為正常可讀寫狀態(tài)alter tablespace EAS_D_EASNM_STANDARD read write;1.2. Oracle 10g 數(shù)據(jù)泵expdp、impdp邏輯方式備份恢復(fù)Oracle 10g的數(shù)據(jù)泵方式采用了專用的API接口,替代了Oracle 9i版本前傳統(tǒng)的基于SQL方式執(zhí)行的exp、imp方式,因此性能更好,且提供了實時監(jiān)控進度、斷點續(xù)導(dǎo)等手段,便于控制。該方式實現(xiàn)步驟及自動腳本如下:導(dǎo)出涉及腳本:expdp_schema.bat(expdp_schema.sh)expdp_call.sqlex

13、p_cretablespace.sql導(dǎo)入涉及腳本:impdp_schema.bat(impdp_schema.sh)impdp_call.sqlcretablespace.sql1.2.1. Oracle10g expdp、impdp邏輯備份恢復(fù)詳細(xì)步驟1、導(dǎo)出用戶備份:直接執(zhí)行expdp_schema.bat(linux/unix使用expdp_schema.sh),按提示信息依次輸入兩個參數(shù):導(dǎo)出用戶名、口令,執(zhí)行完成后缺省將在Oracle安裝盤admin實例名dpdump路徑下生成導(dǎo)出的dmp文件,在當(dāng)前路徑下生成創(chuàng)建表空間腳本cretablespace.sql。2、導(dǎo)入用戶備份:將上

14、述導(dǎo)出的dmp文件放在目標(biāo)數(shù)據(jù)庫服務(wù)器Oracle安裝盤admin實例名dpdump路徑下。cretablespace.sql放在當(dāng)前路徑下,根據(jù)實際情況修改cretablespace.sql腳本中數(shù)據(jù)文件存放路徑及大小。直接執(zhí)行impdp_schema.bat(impdp_schema.sh),按提示信息依次輸入三個參數(shù):system用戶口令、dmp文件中源用戶名、目標(biāo)用戶名。(注:如目標(biāo)用戶不存在則自動創(chuàng)建表空間及用戶)3、關(guān)于備份、恢復(fù)腳本中DIRECTORY、REMAP_TABLESPACE參數(shù)說明自動備份腳本中使用的目錄為Oracle 10g缺省的DATA_PUMP_DIR參數(shù)所指定

15、的路徑,缺省為Oracle安裝盤admin實例名dpdump,如該路徑空間不足以存放DUMP文件,則需手工在源、目標(biāo)數(shù)據(jù)庫創(chuàng)建目錄,并修改備份腳本expdp_call.sql,impdp_call.sql,增加選項DIRECTORY等于該目錄,備份的DMP文件就會生成到該目錄下。Oracle用戶登錄操作系統(tǒng),執(zhí)行:sqlplus /as sysdbaSQLcreate directory eas_expdp_dir as /home/oracle/10gautoexpdp;SQLgrant read,write on directory eas_expdp_dir to eas用戶名;注:目錄

16、/home/oracle/10gautoexpdp根據(jù)實際環(huán)境修改。缺省情況下,恢復(fù)的目標(biāo)數(shù)據(jù)庫中的表空間與源數(shù)據(jù)庫表空間同名、如表空間需使用不同命名,則修改自動腳本expdp_call.sql,impdp_call.sql,增加選項REMAP_TABLESPACE等于源表空間:目標(biāo)表空間名。注:expdp、impdp工具詳細(xì)使用運行expdp(impdp) help查看;也可以通過Oracle10g OEM配置expdp、impdp方式自動備份、恢復(fù)任務(wù)。1.3. Oracle快速備份、恢復(fù)方式總結(jié)研發(fā)內(nèi)部Oracle測試、開發(fā)環(huán)境帳套備份、恢復(fù)目前由于表空間命名還未規(guī)范,存在同一表空間包含

17、多個不同用戶帳套的問題,因此以expdp、impdp方式為主,后續(xù)逐步規(guī)范表空間命名后,以表空間備份、恢復(fù)方式為主,表空間備份方式是當(dāng)前EAS帳套備份、恢復(fù)時間最短的方式。2. DB2 快速備份、恢復(fù)方案2.1. DB2 BACKUP、RESTORE備份恢復(fù)方式DB2一個實例可以包含多個數(shù)據(jù)庫,分別對應(yīng)多個帳套,因此備份、恢復(fù)EAS帳套即備份、恢復(fù)相應(yīng)的數(shù)據(jù)庫,研發(fā)內(nèi)部數(shù)據(jù)庫主要是windows、linux操作系統(tǒng),因此備份、恢復(fù)帳套使用DB2本身的BACKUP、RESTORE方式效率最高。 DB2 BACKUP、RESTORE備份恢復(fù)單個數(shù)據(jù)庫詳細(xì)步驟:1、全庫備份db2 backup db

18、 eas to /bkdb注:備份開始后,該數(shù)據(jù)庫將置為備份暫掛狀態(tài),2、顯示需恢復(fù)庫當(dāng)前所有備份信息Db2 list history backup all for eas如:Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID - - - - - - - - R D 20080726030002001 F S0000000.LOG S0000000.LOG 20080102171206 - Contains 5 tablespace(s): 00001 SYSCATSPACE 00002 SYSTOOLSP

19、ACE 00003 EASTS16K 00004 EASTS32K 00005 EASTS8K -Comment: RESTORE YH NO RF Start Time: 20080726030002 End Time: 20080726030112注:從中可以獲取備份的時間戳序列號構(gòu)成的標(biāo)志及備份開始、結(jié)束的時間點信息,恢復(fù)時需要用到。3、從其中一個備份中恢復(fù)(獲取對應(yīng)時間戳,去除后三位序列號)4、創(chuàng)建恢復(fù)腳本(DB2V9以上版本)db2 restore db eas from /bkdb taken at 20080726030002 redirect generate script r

20、estoreeas.clp5、恢復(fù)到原庫db2 tvf restoreeas.clp 或者db2 restore db eas from /bkdb taken at 200807260300026、恢復(fù)到新庫EAS有幾個表空間需重定向路徑,如使用腳本restoreeas.clp恢復(fù),需要對腳本中以下表空間進行重定向修改,如命令行手工方式恢復(fù),則運行如下語句:db2 restore db eas from /bkdb taken at 20080726030002 on /bkdb/hseasnew dbpath on /bkdb/hseasnew into hseasnew newlogpa

21、th /bkdb/hseasnew/log redirectdb2 set tablespace containers for 4 USING (path /bkdb/hseasnew/eas_EAS_16K)db2 set tablespace containers for 5 USING (path /bkdb/hseasnew/eas_EAS_16K_temp)db2 set tablespace containers for 6 USING (path /bkdb/hseasnew/eas_EAS_32K)db2 set tablespace containers for 7 USIN

22、G (path /bkdb/hseasnew/eas_EAS_32K_temp)db2 set tablespace containers for 8 USING (path /bkdb/hseasnew/eas_EAS_8K)db2 set tablespace containers for 9 USING (path /bkdb/hseasnew/eas_EAS_8K_temp)db2 set tablespace containers for 2 USING (path /bkdb/hseasnew/SYSTOOLSTMPSPACE)db2 set tablespace containers f

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論