利用RMAN恢復,還需要備份控制文件,而且由于是非歸檔模式,還需要檢查當前能夠恢復到的最大SCN,然后在SQLPLUS中recover database until change scn,然后再alter database open resetlogs,整個操作比EXP/IMP繁瑣,對于現場業務人員來說可能較為困難,所以使用RMAN還是使用導出導入作數據轉移,還是見仁見智吧。
以下為測試中RMAN和導出導入使用的命令,基本上沒有作任何優化。
RMAN的備份腳本: @@connect.rcv # Backup up database at full level # shutdown immediate; startup mount; run{ allocate channel d1 type disk; set limit channel d1 kbytes 2097150; backup full database format 'E:/rman_bak/dbfull_%d_%s_%p_%t' tag='dbfull'; release channel d1; } alter database open; exit;
RMAN的恢復腳本: @@connect.rcv shutdown immediate; startup mount; run { sql "alter session set nls_date_language=AMERICAN"; sql "alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''"; set until time '2004-9-7 15:30:00'; allocate channel ch1 type disk; restore database; release channel ch1; } exit;