使用RMAN Oracle11g还原备份

时间:2015-11-15 16:43:26

标签: oracle11g rman

我的数据库崩溃后,我尝试恢复我的备份集。 1.创建一个与旧数据库同名的新数据库 2.将flash_recovery_area设置为存储旧数据库中备份集的文件夹 3. rman - >连接目标/ - >恢复数据库;

RMAN说:没有找到数据。

我怎么说存储备份集的数据库?

谢谢!

2 个答案:

答案 0 :(得分:0)

如果数据库是新的数据库或不同的服务器,我们无法直接还原数据库,如果它是新服务器,我们需要首先对备份集进行编目,并使RMAN知道其位置。

 RMAN> CATALOG START WITH '/<path>/';
 RMAN> SET DBID <DBID>
 RMAN> RESTORE CONTROLFILE 
 RMAN> RESTORE DATABASE ;

答案 1 :(得分:0)

假设您至少有一个控制文件(或控制文件自动备份)的良好副本,您知道DB_NAME,您知道您的DBID

1) install exact the same Oracle DB version (only binaries)
2) in $ORACLE_HOME/dbs create "initSID.ora" file with just 1 line DB_NAME=YouDbName (on Linux)
3) SQL> startup nomount
4) 
RMAN> run{
RMAN> set DBID 104183017;
RMAN> SET CONTROLFILE AUTOBACKUP FORMAT  FOR DEVICE TYPE DISK TO '/u01/app/oracle/product/12.1.0.2/dbhome_1/dbs/%F';
RMAN> restore controlfile from autobackup;
RMAN> }

5)     SQL> alter database mount;

6)     RMAN> restore database;
7)     RMAN> recover database;
8)     SQL> alter database open resetlogs;

如果你有一个控制文件备份,你不需要CATALOG,否则你需要它。