一、控制文件的恢复
1、查询控制文件的路径

SQL> SELECT * FROM V$CONTROLFILE;
STATUS NAME IS_RECOVERY_DEST_FILE BLOCK_SIZE FILE_SIZE_BLKS
------- -------------------------------------------------------------- --------------------- ---------- --------------
D:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL NO 16384 594
D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL NO 16384 594

2、删除控制文件

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host del D:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL SQL> startup
ORACLE 例程已经启动。 Total System Global Area 647204864 bytes
Fixed Size 2178536 bytes
Variable Size 478151192 bytes
Database Buffers 159383552 bytes
Redo Buffers 7491584 bytes
ORA-00205: …… SQL> shutdown immediate;
ORA-01507:
ORACLE 例程已经关闭。

3、启动数据库到NOMOUNT状态

RMAN> SET DBID=1392118573;
RMAN> startup nomount;
ORACLE 例程已经启动。 Total System Global Area 647204864 bytes
Fixed Size 2178536 bytes
Variable Size 478151192 bytes
Database Buffers 159383552 bytes
Redo Buffers 7491584 bytes

4、RESTORE控制文件

RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP; --控制文件会被恢复到初始化参数:CONTROL_FILES指定的路径下。

启动 restore 于 21-12月-14
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=10 设备类型=DISK 恢复区目标: D:\app\Administrator\flash_recovery_area
用于搜索的数据库名 (或数据库的唯一名称): ORCL
通道 ORA_DISK_1: 在恢复区中找到 AUTOBACKUP D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2014_12_21\O1_MF_S_866919295_B9F9R0BL_.BKP
由于未设置 DBID 而未尝试使用格式 "%F" 搜索 AUTOBACKUP
通道 ORA_DISK_1: 正在从 AUTOBACKUP D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2014_12_21\O1_MF_S_866919295_B9F9R0BL_.BKP 还原控制文件
通道 ORA_DISK_1: 从 AUTOBACKUP 还原控制文件已完成
输出文件名=D:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
输出文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL
完成 restore 于 21-12月-14

5、MOUNT-RECOVER-OPEN数据库

RMAN> ALTER DATABASE MOUNT;

数据库已装载
释放的通道: ORA_DISK_1 RMAN> RECOVER DATABASE; 启动 recover 于 21-12月-14
启动 implicit crosscheck backup 于 21-12月-14
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=10 设备类型=DISK
已交叉检验的 7 对象
完成 implicit crosscheck backup 于 21-12月-14 启动 implicit crosscheck copy 于 21-12月-14
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 21-12月-14 搜索恢复区中的所有文件
正在编制文件目录...
目录编制完毕 已列入目录的文件的列表
=======================
文件名: D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2014_12_21\O1_MF_S_866919295_B9F9R0BL_.BKP 使用通道 ORA_DISK_1 正在开始介质的恢复 线程 1 序列 22 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_22_B9DR7DS3_.ARC 存
线程 1 序列 23 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_23_B9DZJWGJ_.ARC 存
线程 1 序列 24 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_24_B9F6WMP8_.ARC 存
线程 1 序列 25 的归档日志已作为文件 D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG 存在于磁盘上
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_22_B9DR7DS3_.ARC 线程=1 序列=22
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_23_B9DZJWGJ_.ARC 线程=1 序列=23
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_24_B9F6WMP8_.ARC 线程=1 序列=24
归档日志文件名=D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG 线程=1 序列=25
介质恢复完成, 用时: 00:00:04
完成 recover 于 21-12月-14 RMAN> ALTER DATABASE OPEN RESETLOGS;
数据库已打开

----------------------------------------------------------------
说明:
1、由于控制文件丢失,只能启动数据库到NOMOUNT状态。不过在启动数据库之前,必须首先通过SET设定DBID。关于DBID的查询可通过V$DATABASE视图查询;或者是RMAN的备份日志;自动备份的文件名中包含有DBID;RMAN连接到目标数据库时也会显示DBID。
2、如果是在NOCATALOG模式下,RMAN创建的备份信息都将保存在目标数据库的控制文件中,所以一旦控制文件丢失,不仅目标数据库崩溃,连RMAN的备份信息也全丢失。如果有备份的控制文件,还可进行恢复,没有的话,只能通过写脚本的方式重写控制文件。
3、由于是通过备份的控制文件恢复,因此打开时必须指定RESETLOGS;
4、如果在执行备份之前修,修改过自动备份的默认路径,那么在执行RESTORE CONTROLFILE FROM AUTOBACKUP会提示找不到备份文件。此时需要重新设置一下自动备份路径,或者手动复制自动备份的控制文件到当前的默认的路径下。
在NOCATALOG模式下修改控制文件自动备份的保存路径时,使用SET命令:
RMAN> SET AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '之前修改过的路径';
然后执行RESTORE命令,从自动备份中恢复控制文件即可。
RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;
5、从指定备份集中恢复控制文件
RMAN> RESTORE CONTROLFILE FROM '备份集路径'; --也可以加上TO参数,将控制文件恢复到指定路径下。

二、恢复服务器端初始化参数文件SPFILE
可能过BACKUP SPFILE命令手动备份初始化参数文件。不过一般RMAN在备份控制文件时,会自动备份SPFILE;
恢复参数文件与恢复控制文件相似:
执行恢复参数文件命令:
RESTORE SPFILE FROM AUTOBACKUP;
SPFILE文件的修改:
由于SPFILE文件是二进制文件,无法直接编辑,如果要修改,可先通过SPFILE创建PFILE(客户端初始化参数文件),PFILE可直接用记事本打开编辑。再通过PFILE创建SPFILE即可。

SQL> SHOW PARAMETER SPFILE;
NAME TYPE VALUE
------- ----------- ------------------------------
spfile string D:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILEORCL.ORA SQL> create pfile = 'D:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\PFILEORCL.ORA' from spfile;--后也可加上绝对路径。from spfile='……'; 文件已创建。 SQL> create spfile from pfile= 'D:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\PFILEORCL.ORA'; --从PFILE文件创建SPFILE文件。

RMAN数据库恢复之控制文件和参数文件恢复的更多相关文章

  1. ORACLE体系结构一 (物理结构)- 数据文件、日志文件、控制文件和参数文件

    一.物理结构Oracle物理结构包含了数据文件.日志文件.控制文件和参数文件 1.数据文件每一个ORACLE数据库有一个或多个物理的数据文件(data file).一个数据库的数据文件包含全部数据库数 ...

  2. RMAN数据库恢复之对数据库进行完全介质恢复

    RMAN数据库恢复之对数据库进行完全介质恢复环境:控制文件和参数文件SPFILE及归档文件.重做日志文件都在.其它数据文件丢失.恢复方法:使用之前创建的全库备份进行恢复1.删除数据文件: SQL> ...

  3. 数据文件、日志文件、归档文件、控制文件、参数文件及RMAN备份数据库信息查询

    一.查看数据库信息:=====================1.数据文件 SQL> SELECT FILE#,STATUS,ENABLED,NAME FROM V$DATAFILE; FILE ...

  4. RMAN数据库恢复之丢失数据文件的恢复

    删除某一数据文件:SQL> HOST del D:\app\Administrator\oradata\orcl\USERS01.dbf 启动数据库,提示丢失数据文件4,此时数据库处理MOUNT ...

  5. RMAN数据库恢复之恢复表空间和数据文件

    执行表空间或数据文件恢复时,数据库既可以是MOUNT状态,也可以是OPEN状态.1.恢复表空间在执行恢复之前,如果被操作的表空间未处理OFFLINE状态,必须首先通过ALTER TABLESPACE… ...

  6. RMAN数据库恢复之恢复归档日志文件

    恢复归档日志文件如果只是为了在恢复数据文件之后应用归档文件,那并不需要手动对归档文件进行恢复,RMAN会在RECOVER时自动对适当的归档进行恢复.单独恢复归档文件一般是有特别的需求,如创建了Data ...

  7. springmvc笔记(基本配置,核心文件,路径,参数,文件上传,json整合)

    首先导入jar包 大家注意一下我的springmvc,jackson,common-up的jar包版本.其他版本有可能出现不兼容. src文件: webroot目录: web.xml <?xml ...

  8. RMAN备份与恢复 —— 参数文件还原

         在RMAN用语中,“还原”与“恢复”具有不同的含义,还原(restore)是指访问先前生成的备份集,从中得到一个或多个对象,然后再磁盘上的某个位置还原这些对象.还原与恢复时分离的.恢复(re ...

  9. Oracle的参数文件

    参数文件的作用: 它们是在数据库实例启动时候加载的,决定了数据库的物理结构.内存.数据库的限制及系统大量的默认值.数据库的各种物理属性.指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重 ...

随机推荐

  1. windows 和linux 同步api对比

    初始化临界区 (win) InitializeCriticalSection(RTL_CRITICAL_SECTION &rtl_critial_section) (linux) pthrea ...

  2. [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]

    第一章 前言与概述 web服务器做什么? 答:接收客户请求,然后向客户返回结果 web客户做什么? 答:此处客户指浏览器,web客户允许用户请求服务器上的某个资源,并向用户展现请求的结果. html ...

  3. android——仿微拍贷滑动圆形菜单

    一次偶然机会接触到微拍贷的app,瞬间被其圆形可滑动菜单吸引了.一直琢磨着给弄出来. 现在弄出来了.先看看效果吧 如果你也喜欢这个菜单.去我的github找源码吧.太忙了.没时间贴代码和讲解了. ht ...

  4. PHP学习笔记二十八【抽象类】

    <?php //定义一个抽象类.主要用来被继承 //如果一个类继承了抽象类,则它必须实现该抽象类的所有抽象方法(除非它自己也是抽象类) // abstract class Animal{ pub ...

  5. 在[self addsubView:xxx]中,self.name 和 _name的区别

    在[self addsubView:xxx]中,self.name 和 _name的区别self.name 会调用重写的getter方法,而_name添加的只是_name 这个成员变量

  6. Java IO4:字符流进阶及BufferedWriter、BufferedReader

    字符流和字节流的区别 拿一下上一篇文章的例子: 1 public static void main(String[] args) throws Exception 2 { 3 File file = ...

  7. Link-Cut-Tree题目泛做(为了对应自己的课件)

    题目1:BZOJ 2049 洞穴勘测 #include <bits/stdc++.h> #define L(x) c[x][0] #define R(x) c[x][1] using na ...

  8. (原)使用intel的ipp库计算卷积及相关

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5462631.html 参考网址: https://software.intel.com/zh-cn/n ...

  9. Asp.Net MVC+EF+三层架构的完整搭建过程

    架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案下,新建解决方案文件夹(UI,BLL,DAL,Model) ...

  10. inPolygonTest学习和C++实现

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang 此篇博客实现了判定平面一点是否在给定多边形内部的功能.精确,性能优良,因为只包含加法和乘法运算,效 ...