测试环境:
操作系统 : Red Hat Enterprise Linux ES release 4 (Nahant Update 4) VMWARE
数据库 : Oracle Database 10g Release 10.2.0.4.0 - Production
简要介绍,一台服务器A位于虚拟机VMWARE上,由于测试需要,在VMWARE上克隆了该系统作为服务器B,过了一段时间,由于数据变更,需要将服务器A上的ORACLE数据库还原恢复到服务器B上。
案例介绍:
由 于这两台服务器的数据库实例名称相同、以及对应的环境基本一致(恢复目录相同,数据文件、控制文件都是一致),所以虽然是RMAN异机备份,但是这种异机 恢复相对而言比较简单,不需要修改实例名称、数据库名称、指定数据文件位置等等。一般来说,这种环境的恢复还原基本没啥问题。下面介绍操作过程以及解决方 法。
Step 1:通过FTP将对应的备份文件以及归档日志放置到相应的目录位置。
Step 2:还原数据库的spfile文件。
Step 3: 关闭数据库后,利用还原spfile的初始化文件启动数据库
Step 4: 恢复数据库控制文件。
Step 5: 将数据库启动到mount状态
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
Step 6: restore 数据库(中间太多数据文件restore,使用.....替代)
Step 7 : recover database
- RMAN> recover database;
- Starting recover at 02-APR-14
- using channel ORA_DISK_1
- starting media recovery
- Oracle Error:
- ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
- ORA-01152: file 1 was not restored from a sufficiently old backup
- ORA-01110: data file 1: '/u01/app/oracle/oradata/EPPS/system01.dbf'
- RMAN-00571: ===========================================================
- RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
- RMAN-00571: ===========================================================
- RMAN-03002: failure of recover command at 04/02/2014 12:03:29
- RMAN-06053: unable to perform media recovery because of missing log
- RMAN-06025