利用RMAN备份的时间明显长于EXP的时间,备份出的文件也远大于EXP出的文件但是恢复的时间却要少于IMP所需要的时间。利用RMAN恢复,还需要备份控制文件,而且由于是非归档模式,还需要检查当前能够恢复到的最大SCN,然后在SQLPLUS中ecover 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; EXP的脚本: userid=jhjkrec/jhjkrec file=e:\rman_bak\jhjkrec.dmp owner=jhjkrec direct=n compress=n feedback=1000 IMP的脚本: userid=jhjkrec/jhjkrec file=e:\rman_bak\jhjkrec.dmp ignore=y fromuser=jhjkrec touser=jhjkrec feedback=1000