由于只有一台服务器,所以备份完后,用DBCA把源库删除.再把备份集恢复到源库.
oracle环境如下:
win7系统,oracle安装在D盘,
版本:10.2.0.1
安装后,几个文件的路径如下:
口令文件
D:\oracle\product\10.2.0\db_1\database\PWDorcl.ora
参数文件
D:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA
控制文件
D:\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL
D:\oracle\product\10.2.0\oradata\orcl\CONTROL02.CTL
D:\oracle\product\10.2.0\oradata\orcl\CONTROL03.CTL
用以下命令把ORACLE换到归档环境下
C:\Users\grow>sqlplus system/oracle as sysdba;
SQL>shutdown immediate;
SQL>startup mount
SQL>alter database archivelog;
SQL>alter database open;
SQL>archive log list;
SQL> exit;
C:\Users\grow>rman target /
记录下 DBID=1357279847
RMAN> configure controlfile autobackup on;
RMAN> backup database;
RMAN> list backupset;
记下两个备份集的路径:
数据文件备份在如下备份集
D:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2013_10_22\O1_MF_NNNDF_TAG20131022T163751_96DGBZYZ_.BKP
参数文件和控制文件备份在如下备份集
D:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2013_10_22\O1_MF_S_829499917_96DGDFO6_.BKP
用DBCA把数据库删除掉,删除后,则数据文件,重做日志文件,参数文件,口令文件,控制文件都没有了.
CMD执行以下命令:
C:\Users\grow>oradim -new -sid orcl
C:\Users\grow>set oracle_sid=orcl
C:\Users\grow>rman target /
RMAN> set dbid 1357279847
RMAN> startup nomount
首先恢复参数文件
RMAN> restore spfile to pfile "D:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA" from "D:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2013_10_22\O1_MF_S_829499917_96DGDFO6_.BKP";
RMAN> shutdown immediate;
用参数文件启动至nomount状态
RMAN> startup force nomount pfile="D:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA";
在D:\oracle\product\10.2.0\oradata下创建orcl文件夹
恢复控制文件
RMAN> restore controlfile from "D:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2013_10_22\O1_MF_S_829499917_96DGDFO6_.BKP";
有了控制文件,可以启动到mount状态
RMAN> alter database mount;
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open resetlogs;
大功告成了.这个时候数据库可以使用了.所以文件都恢复到原先的位置了.