1、归档模式有备份,丢失数据文件的恢复
归档模式有备份,不管丢失什么数据文件,直接在RMAN下RESTOER--->RECOVER--->OPEN即可。

RMAN> STARUP MOUNT;

RMAN> RESTORE DATAFILE 5; --恢复丢失的数据文件,序号为5;

RMAN> RECOVER DATAFILE 5; --应用归档文件,联机重做日志文件执行数据库修复,将数据文件恢复到最近时间点(就是应用备份后到数据文件
丢失前的那些更改,以保持数据库的一致性状态) RMAN> ALTER DATABASE OPEN;

2、归档模式无备份,丢失数据文件的恢复
说明:如果丢失的是SYSTEM表空间中的数据文件,则必须要有备份,否则无法恢复。如果丢失的是临时表空间,则不需要恢复,重建一个就可以了。如果丢失的是其它表空间的数据文件,从其创建时刻起所有的重做日志文件都还在,因此只需要重建该数据文件后,通过RECOVER应用重做日志,重建该数据文件的内容即可。
2.1 非RMAN模式恢复(用户管理和备份方式)

准备测试数据:

SQL> CREATE TABLESPACE TEST DATAFILE 'D:\TEST\test01.dbf' size 10M;
表空间已创建。 SQL> CREATE USER TEST IDENTIFIED BY TEST DEFAULT TABLESPACE TEST QUOTA UNLIMITED ON TEST;
用户已创建。 SQL> GRANT CONNECT,RESOURCE TO TEST;
授权成功。 SQL> create table test(id number(2), name varchar2(4));
表已创建。 SQL> insert into test values(1,'NM1');
已创建 1 行。 SQL> insert into test values(2,'NM2');
已创建 1 行。 SQL> insert into test values(3,'NM3');
已创建 1 行。 SQL> COMMIT;
提交完成。 SQL> SELECT * FROM TEST;
ID NAME
---------- ----
1 NM1
2 NM2
3 NM3

--以SYS连接,修改数据文件为offline,删除test01.dbf,并执行数据文件恢复

SQL> alter database datafile 'D:\TEST\test01.dbf' offline;
数据库已更改。 SQL> host del D:\TEST\test01.dbf SQL> alter database create datafile 'D:\TEST\TEST01.DBF';
数据库已更改。
(如果是原路径无法访问,可在创建数据文件时指定新的路径:alter database create datafile 'E:\TEST\TEST01.DBF' as 'D:\TEST
\TEST01.DBF';)
SQL> recover datafile 'D:\TEST\TEST01.DBF';
完成介质恢复。 SQL> conn TEST/TEST@ORCL;
已连接。 --以sys连接实例,修改数据文件状态为ONLINE:
SQL> ALTER DATABASE DATAFILE 'D:\TEST\TEST01.DBF' ONLINE;
数据库已更改。 SQL> conn TEST/TEST@ORCL;
已连接。
------------------查看数据,已恢复。
SQL> SELECT * FROM TEST;
ID NAME
---------- ----
1 NM1
2 NM2
3 NM3

2.2 在RMAN模式下恢复
与用户管理的备份和恢复模式相比,只多了一步连接RMAN的操作。

C:\Users\Administrator>rman catalog RMANCT/RMANCT@ORCL;

恢复管理器: Release 11.2.0.1.0 - Production on 星期三 12月 24 22:05:29 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

连接到恢复目录数据库

RMAN> CONNECT TARGET /

连接到目标数据库: ORCL (DBID=1392118573)

-----------------------------------------------------------------------------
同样将数据文件置于OFFLINE,删除数据文件,RESTORE,再RECOVER,置数据文件为ONLINE即可。

SQL> alter database datafile 'D:\TEST\TEST01.DBF' offline;

数据库已更改。

SQL> host del D:\TEST\TEST01.DBF

RMAN> restore datafile 'D:\TEST\TEST01.DBF';

启动 restore 于 24-12月-14
在恢复目录中注册的数据库的新原型
正在启动全部恢复目录的 resync
完成全部 resync
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=178 设备类型=DISK 创建数据文件, 文件号 = 8 名称 = D:\TEST\TEST01.DBF
没有完成还原; 所有文件均为只读或脱机文件或者已经还原
完成 restore 于 24-12月-14
正在启动全部恢复目录的 resync
完成全部 resync RMAN> recover datafile 'D:\TEST\TEST01.DBF'; 启动 recover 于 24-12月-14
使用通道 ORA_DISK_1 正在开始介质的恢复
介质恢复完成, 用时: 00:00:01 完成 recover 于 24-12月-14 SQL> alter database datafile 'D:\TEST\TEST01.DBF' online; 数据库已更改。 SQL> CONN TEST/TEST@ORCL;
已连接。
SQL> SELECT * FROM TEST; ID NAME
---------- ----
1 NM1
2 NM2
3 NM3

RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复的更多相关文章

  1. Oracle之rman数据库在非归档模式下的备份和恢复

    1.数据库在非归档模式下的备份 SQL> archive log list;数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 ...

  2. 测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程

    测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的 ...

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

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

  4. 07 归档模式 Active redo log丢失或损坏的恢复

    环境同上一篇 模拟处于active状态的redo log损坏 sesion 1 SYS@ orcl >/ GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEM ...

  5. 查看oracle数据库是否为归档模式

    查看oracle数据库是否为归档模式   [1]   1.select name,log_mode from v$database;   NAME LOG_MODE   --------------- ...

  6. Oracle数据库设置为归档模式的操作方法

    Oracle归档模式非常非常重要!对于有些数据库刚装好后可能是非归档模式,这是很危险的!为了安全起见,一定要谨记:对于Oracle数据库,一定要设置为归档模式,尤其是生产库,只有这样才能实现数据库的有 ...

  7. 将Oracle数据库设置为归档模式及非归档模式

    一.将Oracle数据库设置为归档模式 1)sql>shutdown normal/immediate;2)sql>startup mount;3)sql>alter databas ...

  8. 怎样将Oracle数据库设置为归档模式及非归档模式

    怎样将Oracle数据库设置为归档模式及非归档模式 1.Oracle日志分类 分三大类: Alert log files--警报日志,Trace files--跟踪日志(用户和进程)和 redo lo ...

  9. [20171225]没有备份数据文件的恢复.txt

    [20171225]没有备份数据文件的恢复.txt --//别人问的问题,增加了数据文件没有备份,如何恢复,实际上很简单,因为当前控制文件有记录建立时间只要从建立数据文件开始的--//归档日志都存在恢 ...

随机推荐

  1. 针对各主流数据mysql、sqlserver、oracle中文乱码问题。

    针对各主流数据mysql.sqlserver.oracle当以编码格式gbk存放数据时,要注意字符串类型的字段,要采用宽字符串nvarchar存放,前提是当你的应用程序是utf8编码,而数据库是gbk ...

  2. android-sdk-windows版本号下载

    Android SDK 4.0.3 开发环境配置及执行 近期又装了一次最新版本号的ADK环境 眼下最新版是Android SDK 4.0.3 本文的插图和文本尽管是Android2.2的 步骤都是一样 ...

  3. Android应用程序消息处理机制(Looper、Handler)分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6817933 Android应用程序是通过消息来 ...

  4. Boost线程库学习笔记

    一.创建一个线程 创建线程 boost::thread myThread(threadFun); 需要注意的是:参数可以是函数对象或者函数指针.并且这个函数无参数,并返回void类型. 当一个thre ...

  5. input输入字母自动大小写转换

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  6. 已解决 C# 调用 MySQLDriverCS 类库 报 vshost32-clr2.exe 已停止工作

    这几天修改一个项目是用C# 通过调用 MySQLDriverCS.dll 类库来操作 MySql数据库, 调试的会发生以上错误(直接运行是正常的),刚开始以为是兼容性问题,吧此错误百度上一粘贴有的人说 ...

  7. JavaBean和EJB的区别

    首先,EJB是指运行在EJB容器中的JavaBean.Tomcat是Web容器的参考实现.一个完整的JavaEE服务器应该包括Web容器和EJB容器.其次,Web容器中无法运行EJB,同时所有的Jav ...

  8. Android-----------国际化多国语言文件夹命名汇总

    *如果不区分地区,则不加后面的-rxx内容 Arabic, Egypt (ar_rEG) —————————–阿拉伯语,埃及      Arabic, Israel (ar_rIL) ———————— ...

  9. perl6的介绍与下载编译安装

    遇到perl6 一直想认真的学习一门脚本语言或者与之类似的语言,因为相对与c++/c来说,一些工作可以很方便的用脚本语言来解决,比如对于日志文件的处理,自动ftp上传. 也看过不少语言的介绍,比如py ...

  10. css派生选择器

    后代选择器:即包含选择器,选择某元素的后代元素. 子元素选择器:只能选择某元素的子元素. 相邻兄弟选择器:可选择紧接在另一个元素后的元素,且两者有相同的夫元素.