【控制文件丢失恢复】

oracle文档里有这么一个案例,我整理了一下:

1.        设置ORACLE_SID
export ORACLE_SID=central

2.        启动RAMN
rman TARGET / NOCATALOG

3. 设置DBID
SET DBID 1331322689;

4. 启动数据库(no mount状态)
STARTUP NOMOUNT
会出现以下信息
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/net/hostb/oracle/dbs/inittrgta.ora'

trying to start the Oracle instance without parameter files ...
Oracle instance started

#5. 恢复参数文件

  RESTORE SPFILE TO PFILE '?/oradata/test/inittrgta.ora' FROM AUTOBACKUP;
  SHUTDOWN ABORT;

#6. 编辑参数文件中的文件路径
如路径和原来一样,则不需修改
eg:
  - *_DUMP_DEST
  - LOG_ARCHIVE_DEST*
  - CONTROL_FILES

#7. 重启实例,使用已编辑好的参数文件
STARTUP FORCE NOMOUNT PFILE='?/oradata/test/inittrgta.ora';

8.恢复控制文件,装载数据库
  RESTORE CONTROLFILE FROM AUTOBACKUP;
  ALTER DATABASE MOUNT;

9.查询记录在控制文件中的数据文件信息
        % sqlplus '/ AS SYSDBA'
SQL> COLUMN NAME FORMAT a60
SQL> SPOOL LOG 'db_filenames.out'
SQL> SELECT FILE# AS "File/Grp#", NAME FROM V$DATAFILE
     UNION
     SELECT GROUP#,MEMBER FROM V$LOGFILE;
SQL> SPOOL OFF

10.数据库恢复
        如果路径和原来的一样,则不需要指定数据文件的恢复路径
       
        RUN
{
  # rename the datafiles and online redo logs
  SET NEWNAME FOR DATAFILE 1 TO '?/oradata/test/system01.dbf';
  SET NEWNAME FOR DATAFILE 2 TO '?/oradata/test/undotbs01.dbf';
  SET NEWNAME FOR DATAFILE 3 TO '?/oradata/test/cwmlite01.dbf';
  SET NEWNAME FOR DATAFILE 4 TO '?/oradata/test/drsys01.dbf';
  SET NEWNAME FOR DATAFILE 5 TO '?/oradata/test/example01.dbf';
  SET NEWNAME FOR DATAFILE 6 TO '?/oradata/test/indx01.dbf';
  SET NEWNAME FOR DATAFILE 7 TO '?/oradata/test/tools01.dbf';
  SET NEWNAME FOR DATAFILE 8 TO '?/oradata/test/users01.dbf';

  SQL "ALTER DATABASE RENAME FILE ''/dev3/oracle/dbs/redo01.log''
      TO ''?/oradata/test/redo01.log'' ";
  SQL "ALTER DATABASE RENAME FILE ''/dev3/oracle/dbs/redo02.log''
      TO ''?/oradata/test/redo02.log'' ";

  # Do a SET UNTIL to prevent recovery of the online logs
  #SET UNTIL SCN 123456;
  
# restore the database and switch the datafile names
  RESTORE DATABASE;
  SWITCH DATAFILE ALL;

  # recover the database
  RECOVER DATABASE;
}

11.以重置日志的方式打开数据库
        ALTER DATABASE OPEN RESETLOGS;

 

时间: 2024-10-12 08:57:01

【控制文件丢失恢复】的相关文章

探索ORACLE之RMAN_07控制文件丢失恢复

探索ORACLE之RMAN_07控制文件丢失恢复 作者:吴伟龙   Name:Prodence Woo QQ:286507175  msn:hapy-wuweilong@hotmail.com 1.     控制文件(controlfile)丢失恢复 基于控制文件的复合多路径性,它的丢失分为两种,一种是其中某个控制文件的损坏或丢失,另外一种是所有控制文件均丢失.基于第一种情况,只需把好的控制文件复制一份在损坏或丢失的那个控制文件路径下即可.第二种情况下则需要通过备份信息来对控制文件进行恢复或手工

rman恢复案例——丢失全部控制文件的恢复

恢复|控制 1.1. 丢失全部控制文件的恢复1.1.1.    模拟控制文件丢失RMAN> shutdown abort;   Oracle 例程已关闭   RMAN> host;   Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp.   C:\>del D:\oracle92\test1\CONTROL*.CTL   C:\>dir D:\oracle92\test1\CONTROL*.CT

DBA工作备忘录之三:rman备份,未使用catalog,控制文件丢失的解决办法

备份|解决|控制 [Oracle] DBA工作备忘录之三:rman备份,未使用catalog,控制文件丢失的解决办法 作者:Fenng 日期:July 19 2004 情况描述客户报告数据库故障,新来的系统管理员误操作.删掉了一些文件.询问:删掉了那些文件?答曰:所有重要数据文件,所有控制文件.数据库原来是归档模式,用rman备份数据,rman 使用控制文件.幸运的是,最后一次rman full 备份是包括了控制文件在内.系统没有设定自动备份控制文件.现在状况是数据库无法启动. 不用说,客户的备

Oracle基于备份控制文件的恢复

通常在当前控制文件丢失,或者当前的控制文件与需要恢复的控制文件不一致的情况下,我们需要重新创建一个控制文件或者使用 unsingbackup controlfile方式来恢复控制文件.说简单点,只要是备份的控制文件与当前的控制文件不一致进行恢复数据库,就需要使用到 unsingbackup controlfile方式,而一旦使用了该方式,则需使用resetlgos选项来打开数据库. 一.基于备份控制文件的恢复注意事项(无论是否使用恢复目录catalog) 1.即使没有数据文件需要还原,当使用un

探索ORACLE之RMAN_07 参数文件丢失恢复

探索ORACLE之RMAN_07 参数文件丢失恢复 作者:吴伟龙   Name:Prodence Woo QQ:286507175  msn:hapy-wuweilong@hotmail.com   Oracle数据库的参数文件有两种一种是pfile(初始化参数文件),还有一种是spfile(服务器初始化参数文件):实际上spfile是pfile衍生过来的一新参数文件,应用9i以后的版本,在9i之前的版本都不支持,只支持pfile:而且pfile是不能通过oracle命令来进行备份的,只有spf

探索ORACLE之RMAN_07 重做日志redu文件丢失恢复

探索ORACLE之RMAN_07 重做日志redu文件丢失恢复 作者:吴伟龙Name:Prodence Woo QQ:286507175  msn:hapy-wuweilong@hotmail.com                   重做日志文件记录了数据库的变更数据.一般重做日志文件的失败不会使数据库数据丢失,但是会影响数据库的恢复.重做日志分为两种状态当前联机重做日志和非当前的联机重做日志 4.1 非当前redo(联机重做日志)文件丢失恢复   数据库运行的时候,日志中报如下错误: OR

oracle重建控制文件丢失数据文件导致悲剧

数据库最初故障 Thu Sep 25 09:27:26 2014 MMON started with pid=15, OS id=1968 starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'... starting up 1 shared server(s) ... ORACLE_BASE from environment = F:\oracle Thu Sep 25 09

Oracle 基于备份控制文件的恢复(unsing backup controlfile)

    Oracle 基于备份控制文件的恢复(unsing backup controlfile)     有关RMAN的备份恢复与管理请参考     RMAN 概述及其体系结构     RMAN 配置.监控与管理     RMAN 备份详解     RMAN 还原与恢复     RMAN catalog 的创建和使用     基于catalog 创建RMAN存储脚本     基于catalog 的RMAN 备份与恢复     RMAN 备份路径困惑     使用RMAN实现异机备份恢复(WIN

探索ORACLE之RMAN_07单个数据文件丢失恢复

探索ORACLE之RMAN_07单个数据文件丢失恢复 作者:吴伟龙   Name:Prodence Woo QQ:286507175  msn:hapy-wuweilong@hotmail.com   备份的终极目的是为了更好的将数据恢复和还原过来,在前面的章节中我们已经重点谈完了RMAN的备份,实际上也穿插的谈了些复杂的完整恢复.当然在这节当中我们将会由浅入深的详细谈谈在几种不同情况下的数据库恢复. 1.     数据文件的丢失恢复 1.1    在wwl表空间上创建5张表,并添加数据. SQ