建議xtts目錄和/rman 備份的路徑目錄都使用nfs共享 alter system set deferred_segment_creation=false sid='*' scope=spfile; ###########################增量臨時文件在asm#########xtt.properties ########################## tablespaces=SPROD_TBS,IDX_TBS platformid=13 dfcopydir=/xttrman/full 本地全量備份數據的路徑 backupformat=/xttrman/incr 本地增量備份數據的路徑 stageondest=/xttrman/full 目標端所須要恢復數據的路徑,後續生成的增量也要拷貝到這裏 storageondest=+DATA/prod/datafile 目標端數據文件路徑 -c 的時候放的位置 backupondest=+DATA/prod/datafile 目標端增量文件的臨時路徑,作完增量後會自動刪除,若是放asm須要設置asm_home和asm_sid asm_home=/oracle/app/grid/product/11.2.0/grid asm_sid=+ASM parallel=2 rollparallel=2 getfileparallel=2 #############################建議使用這種方式,增量臨時文件在文件系統######xtt.properties ####################### tablespaces=SPROD_TBS,IDX_TBS platformid=13 dfcopydir=/xttrman/full backupformat=/xttrman/incr stageondest=/xttrman/full storageondest=+DATA/prod/datafile backupondest=/xttrman/rec #asm_home=/oracle/app/grid/product/11.2.0/grid #asm_sid=+ASM parallel=2 rollparallel=2 getfileparallel=2 ########################################################################################### 源端全量備份腳本 cat full_backup.sh export TMPDIR=/oracle/soft/xttconvert perl xttdriver.pl -p 源端執行全量備份 sh full_backup.sh 生成文件 [oracle@localhost xttconvert]$ cat xttplan.txt SPROD_TBS::::967892 5 6 IDX_TBS::::967892 7 [oracle@localhost xttconvert]$ cat xttplan.txt SPROD_TBS::::967892 5 6 IDX_TBS::::967892 7 [oracle@localhost xttconvert]$ cat rmanconvert.cmd host 'echo ts::SPROD_TBS'; convert from platform 'Linux x86 64-bit' datafile '/xttrman/full/SPROD_TBS_5.tf' ,'/xttrman/full/SPROD_TBS_6.tf' format '+DATA/prod/datafile/%N_%f.dbf' parallelism 2; host 'echo ts::IDX_TBS'; convert from platform 'Linux x86 64-bit' datafile '/xttrman/full/IDX_TBS_7.tf' format '+DATA/prod/datafile/%N_%f.dbf' parallelism 2; 目標端,執行恢復轉換 vi convert.sh export XTTDEBUG=1 export TMPDIR=/oracle/soft/xttconvert perl xttdriver.pl -c sh convert.sh vi do_incr.sh export TMPDIR=/oracle/soft/xttconvert perl xttdriver.pl -i 源端增量備份 sh do_incr.sh [oracle@localhost xttconvert]$ cat xttplan.txt.new SPROD_TBS::::968168 5 6 IDX_TBS::::968196 7 [oracle@localhost xttconvert]$ cat tsbkupmap.txt IDX_TBS::7:::1=07u31cir_1_1 SPROD_TBS::5,6:::1=06u31ciq_1_1 注意每次作完增量 須要將增量的數據文件拷貝到全量備份的目錄下,恢復完刪除/xttrman/incr/* cp /xttrman/incr/* /xttrman/full/ 目標端增量恢復 vi restore_incr.sh export TMPDIR=/oracle/soft/xttconvert perl xttdriver.pl -r 注意若是增量恢復文件放在asm可能會出現如下錯誤,能夠忽略,這個是xtts沒法自動刪除asm的臨時文件 Can't locate strict.pm in @INC (@INC contains: /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/lib /oracle/app/grid/product/11.2.0/grid/lib/asmcmd /oracle/app/grid/product/11.2.0/grid/rdbms/lib/asmcmd /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl .) at /oracle/app/grid/product/11.2.0/grid/bin/asmcmdcore line 143. BEGIN failed--compilation aborted at /oracle/app/grid/product/11.2.0/grid/bin/asmcmdcore line 143. Can't locate strict.pm in @INC (@INC contains: /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/lib /oracle/app/grid/product/11.2.0/grid/lib/asmcmd /oracle/app/grid/product/11.2.0/grid/rdbms/lib/asmcmd /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl .) at /oracle/app/grid/product/11.2.0/grid/bin/asmcmdcore line 143. BEGIN failed--compilation aborted at /oracle/app/grid/product/11.2.0/grid/bin/asmcmdcore line 143. 下次增量要記錄當前恢復的scn位置,產生最新 xttplan.txt 文件要否則下次增量還會在全量進行備份 perl xttdriver.pl -s 後續增量循環如下三步驟 sh do_incr.sh sh restore_incr.sh perl xttdriver.pl -s 最後一次增量,表空間設置爲只讀模式 SQL> alter tablespace SPROD_TBS read only; Tablespace altered. SQL> alter tablespace IDX_TBS read only; Tablespace altered. 最後一次恢復 sh do_incr.sh sh restore_incr.sh 導入元數據,建議不要導入統計信息,目標庫直接收集 create or replace directory xtts_dir as '/oracle/soft/' create database link ttslink connect to system identified by "oracle" USING 'sprod'; ASMCMD> ls -al WARNING:option 'a' is deprecated for 'ls' please use 'absolutepath' Type Redund Striped Time Sys Name DATAFILE UNPROT COARSE JUN 01 21:00:00 Y +DATA/PROD/DATAFILE/idx_tbs_7.dbf => IDX_TBS.274.1009834557 DATAFILE UNPROT COARSE JUN 01 21:00:00 Y +DATA/PROD/DATAFILE/sprod_tbs_5.dbf => SPROD_TBS.273.1009834553 DATAFILE UNPROT COARSE JUN 01 21:00:00 Y +DATA/PROD/DATAFILE/sprod_tbs_6.dbf => SPROD_TBS.275.1009834553 DATAFILE UNPROT COARSE JUN 01 21:00:00 Y none => SYSAUX.257.1009808403 DATAFILE UNPROT COARSE JUN 01 21:00:00 Y none => SYSTEM.256.1009808403 DATAFILE UNPROT COARSE JUN 01 21:00:00 Y none => UNDOTBS1.258.1009808403 DATAFILE UNPROT COARSE JUN 01 21:00:00 Y none => USERS.259.1009808403 N idx_tbs_7.dbf => +DATA/PROD/DATAFILE/IDX_TBS.274.1009834557 N sprod_tbs_5.dbf => +DATA/PROD/DATAFILE/SPROD_TBS.273.1009834553 N sprod_tbs_6.dbf => +DATA/PROD/DATAFILE/SPROD_TBS.275.1009834553 ASMCMD> impdp \'/ as sysdba\' directory=xtts_dir logfile=tts_imp.log network_link=ttslink transport_full_check=no transport_tablespaces=SPROD_TBS,IDX_TBS exclude=STATISTICS transport_datafiles='+DATA/PROD/DATAFILE/IDX_TBS.275.1009832163','+DATA/PROD/DATAFILE/SPROD_TBS.274.1009832159','+DATA/PROD/DATAFILE/SPROD_TBS.273.1009832159' ls -al|grep -v *.zip|grep -v .sh|awk -F' ' '{print $9}'|xargs rm -rf