执行表空间或数据文件恢复时,数据库既可以是MOUNT状态,也可以是OPEN状态。
1、恢复表空间
在执行恢复之前,如果被操作的表空间未处理OFFLINE状态,必须首先通过ALTER TABLESPACE…OFFLINE语句将其置为脱机。然后再RESTORE-->RECOVER--->ONLINE即可。

RMAN> SQL 'ALTER TABLESPACE USERS OFFLINE IMMEDIATE';

在恢复目录中注册的数据库的新原型
正在启动全部恢复目录的 resync
完成全部 resync
sql 语句: ALTER TABLESPACE USERS OFFLINE IMMEDIATE RMAN> RESTORE TABLESPACE USERS; 启动 restore 于 21-12月-14
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=172 设备类型=DISK 创建数据文件, 文件号 = 7 名称 = D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS02.DBF
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00004 还原到 D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 D:\RMAN_BAK\FUL_BAK_20141221
通道 ORA_DISK_1: 段句柄 = D:\RMAN_BAK\FUL_BAK_20141221 标记 = TAG20141221T134059
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:04
完成 restore 于 21-12月-14 RMAN> RECOVER TABLESPACE USERS; 启动 recover 于 21-12月-14
使用通道 ORA_DISK_1 正在开始介质的恢复 线程 1 序列 22 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_22_B9FPC0GR_.ARC 存在于磁盘上
线程 1 序列 23 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_23_B9FPC4PT_.ARC 存在于磁盘上
线程 1 序列 24 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_24_B9FPC37H_.ARC 存在于磁盘上
线程 1 序列 25 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_25_B9FPC3VQ_.ARC 存在于磁盘上
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_22_B9FPC0GR_.ARC 线程=1 序列=22
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_23_B9FPC4PT_.ARC 线程=1 序列=23
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_24_B9FPC37H_.ARC 线程=1 序列=24
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_25_B9FPC3VQ_.ARC 线程=1 序列=25
介质恢复完成, 用时: 00:00:04
完成 recover 于 21-12月-14 RMAN> SQL 'ALTER TABLESPACE USERS ONLINE'; sql 语句: ALTER TABLESPACE USERS ONLINE

2、恢复数据文件
恢复表空间其实就是恢复其所对应的数据文件。一个表空间可能对应多个数据文件。因此恢复文件操作与恢复表空间类似。
将数据文件置为OFFLINE,再RESTORE,再RECOVER,然后ONLINE即可。

SQL> SELECT FILE#,STATUS,NAME FROM V$DATAFILE;
FILE# STATUS NAME
---------- ------- ------------------------------------------------
1 SYSTEM D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
2 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
3 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
4 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
5 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
6 ONLINE D:\RMAN_CATALOG\RMANTBS01.DBF
7 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS02.DBF
7 rows selected =============================
oracle数据库告警日志文件路径:
D:\app\Administrator\diag\rdbms\orcl\orcl\trace
=========================
恢复数据文件D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF。
RMAN> SQL 'ALTER DATABASE DATAFILE 4 OFFLINE'; sql 语句: ALTER DATABASE DATAFILE 4 OFFLINE RMAN> RESTORE DATAFILE 4; 启动 restore 于 22-12月-14
使用通道 ORA_DISK_1 通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00004 还原到 D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 D:\RMAN_BAK\FUL_BAK_20141221
通道 ORA_DISK_1: 段句柄 = D:\RMAN_BAK\FUL_BAK_20141221 标记 = TAG20141221T134059
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:02
完成 restore 于 22-12月-14 RMAN> RECOVER DATAFILE 4; 启动 recover 于 22-12月-14
使用通道 ORA_DISK_1 正在开始介质的恢复 线程 1 序列 22 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_22_B9FPC0GR_.ARC 存在于磁盘上
线程 1 序列 23 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_23_B9FPC4PT_.ARC 存在于磁盘上
线程 1 序列 24 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_24_B9FPC37H_.ARC 存在于磁盘上
线程 1 序列 25 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_25_B9FPC3VQ_.ARC 存在于磁盘上
线程 1 序列 1 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_1_B9FWSYH4_.ARC 存在于磁盘上
线程 1 序列 2 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_2_B9FXKQ7X_.ARC 存在于磁盘上
线程 1 序列 3 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_3_B9FXPFMP_.ARC 存在于磁盘上
线程 1 序列 4 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_4_B9JDBDJ6_.ARC 存在于磁盘上
线程 1 序列 5 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_5_B9JDBC8L_.ARC 存在于磁盘上
线程 1 序列 6 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_6_B9JDBCNC_.ARC 存在于磁盘上
线程 1 序列 7 的归档日志已作为文件 D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_7_B9JDBD18_.ARC 存在于磁盘上
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_22_B9FPC0GR_.ARC 线程=1 序列=22
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_23_B9FPC4PT_.ARC 线程=1 序列=23
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_24_B9FPC37H_.ARC 线程=1 序列=24
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_21\O1_MF_1_25_B9FPC3VQ_.ARC 线程=1 序列=25
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_1_B9FWSYH4_.ARC 线程=1 序列=1
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_2_B9FXKQ7X_.ARC 线程=1 序列=2
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_3_B9FXPFMP_.ARC 线程=1 序列=3
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_4_B9JDBDJ6_.ARC 线程=1 序列=4
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_5_B9JDBC8L_.ARC 线程=1 序列=5
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_6_B9JDBCNC_.ARC 线程=1 序列=6
归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_12_22\O1_MF_1_7_B9JDBD18_.ARC 线程=1 序列=7
介质恢复完成, 用时: 00:00:05
完成 recover 于 22-12月-14 RMAN> SQL 'ALTER DATABASE DATAFILE 4 ONLINE'; sql 语句: ALTER DATABASE DATAFILE 4 ONLINE

=============================
说明:执行RESTORE/RECOVER操作指定数据文件时,既可以直接指定数据文件的详细路径,也可以以数据文件序号代替。
如果由于磁盘损坏导致数据文件无法访问,恢复时可能需要恢复到其它路径,此时必须给数据文件指定新的路径:

RMAN> RUN{SET NEWNAME FOR DATAFILE 4 TO 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF';
RESTORE DATAFILE 4;
SWITCH DATAFILE 4;
RECOVER DATAFILE 4;
}

RMAN数据库恢复之恢复表空间和数据文件的更多相关文章

  1. ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件

    ORACLE RMAN备份及还原   RMAN能够进行增量备份:数据库.表空间.数据文件 仅仅有使用过的block能够被备份成backup set 表空间与数据文件相应关系:dba_data_file ...

  2. bay——RAC 表空间时数据文件误放置到本地文件系统-介质恢复.txt

    RAC添加新表空间时数据文件误放置到本地文件系统的修正 于是我想11G 也兼容这些操作的方法,但是11G的新特性有一点就是可以直接支持ASM文件系统直接可以和本地文件系统进行文件的拷贝了,也就是有三种 ...

  3. Oracle数据库表空间与数据文件的关系描述正确的是( )

    Oracle数据库表空间与数据文件的关系描述正确的是( ) A.一个表空间只能对应一个数据文件 B.一个表空间可以对应多个数据文件 C.一个数据文件可以对应多个表空间 D.表空间与数据文件没任何对应关 ...

  4. 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

    查看Oracle数据库表空间大小(空闲.已使用),是否要增加表空间的数据文件 1.查看表空间已经使用的百分比 Sql代码 select a.tablespace_name,a.bytes/1024/1 ...

  5. 查看Oracle数据库表空间大小,是否需要增加表空间的数据文件

    在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见. --1查看表空间已经使用的百分比 Sql代码 select a.tablespace_name,a.bytes/1024/1024 ...

  6. ORACLE数据库增加表空间大小或给表空间增加数据文件

    转载 2017年11月24日 11:00:28 ----查询表空间使用情况--- SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GRO ...

  7. Oracle的表空间和数据文件

    一. 概念 表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象: 永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空 ...

  8. 管理表空间和数据文件<六>

    数据库管理 -- 管理表空间和数据文件  介绍 表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库则是存放在表空间中,表 空间由一个或多个数据文件组成. 数据库 ...

  9. 【转】Oracle 表空间与数据文件

    --============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...

随机推荐

  1. 关于使用STL常见的两个bug

    1.bug 1 class CTest { public : vector<int> getVector() const //需要写成引用形式,不然下面begin.end调用会以拷贝形式调 ...

  2. Qt之操作Excel

    Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件. ...

  3. C#中DataGridView控件使用大全

    DataGridView 动态添加新行: DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动 ...

  4. iOS-OC-基础-NSDate常用方法

    NSDate常用方法 /*=============================NSDate日期类的使用=============================*/ // 获取当前时间,获得的时 ...

  5. 解决iOS9苹果将原http协议改成了https协议问题

    解决方法: 在info.plist 加入key <key>NSAppTransportSecurity</key> <dict> <key>NSAllo ...

  6. Mock测试框架

    一.前言 使用Mock框架进行单元测试,能够使用当前系统已经开发的接口方法模拟数据.(未写完,慢慢完善) 二.例子 1.引用Moq

  7. 被sjy带刷题#1

        笔记[问题描述]给定一个长度为m的序列a,下标编号为1~m.序列的每个元素都是1~n的整数.定义序列的代价为 你现在可以选择两个数x和y,并将序列a中所有的x改成y.x可以与y相等.请求出序列 ...

  8. codeforces 339C Xenia and Weights(dp或暴搜)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Xenia and Weights Xenia has a set of weig ...

  9. Centos安装php提示virtual memory exhausted: Cannot allocate memory

    由于内存不够,需要在php配置的时候./configure最后添加上 --disable-fileinfo >>./configure --prefix= ...........   -- ...

  10. Hibernate之通过hibernate.cfg.xml配置文件访问数据库的例子

    hibernate.cfg.xml文件内容: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...