|
我给你一套方案你看看可不可以:
这套方案是在你已经 用RMAN备份(冷备)过,并且只想要原来的数据库而不要新建的数据库,不知道你备份的时候是在NOARCHIVELOG还是ARCHIVELOG模式,这个方案是NOARCHIVELOG模式的。
1.安装新的数据库(建库)
2.删除所有的数据文件、重做日志文件、控制文件、参数文件。
3.从 备份中恢复SPFILE;
SET ORACLE_SID = yourself_sid
RMAN TARGET rman_user/password
SET DBID = enter the dbid of database here
STARTUP NOMOUNT;
RESTORE SPFILE FROM AUTOBACKUP;
SHUTDOWN IMMEDIATE;
4.从备份中恢复控制文件;
SET ORACLE_SID = yourself_sid
RMAN TARGET rman_user/password
SET DBID = enter the dbid of database here
STARTUP NOMOUNT;
RESTORE SPFILE FROM AUTOBACKUP;
ALTER DATABASE MOUNT;
5.还原数据文件并恢复数据库
RUN
{
SET NEWNAME FOR DATAFILE 'backup_path1' to 'new_path1';
SET NEWNAME FOR DATAFILE 'backup_path2' to 'new_path2';
.....
SET NEWNAME FOR DATAFILE 'backup_pathn' to 'new_pathn';
RESTORE DATABASE;
RECOVER DATABASE NOREDO;
ALTER DATABASE OPEN RESETLOGS;
SWITCH DATAFILE ALL;
}
如果没有使用恢复目录,DBID应该是必须的。
在SET NEWNAME FOR DATAFILE 命令中backup_path是备份路径,new_path是新库的路径。
祝你好运! |
|