RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复
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数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复的更多相关文章
- Oracle之rman数据库在非归档模式下的备份和恢复
1.数据库在非归档模式下的备份 SQL> archive log list;数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 ...
- 测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程
测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的 ...
- RMAN数据库恢复之丢失数据文件的恢复
删除某一数据文件:SQL> HOST del D:\app\Administrator\oradata\orcl\USERS01.dbf 启动数据库,提示丢失数据文件4,此时数据库处理MOUNT ...
- 07 归档模式 Active redo log丢失或损坏的恢复
环境同上一篇 模拟处于active状态的redo log损坏 sesion 1 SYS@ orcl >/ GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEM ...
- 查看oracle数据库是否为归档模式
查看oracle数据库是否为归档模式 [1] 1.select name,log_mode from v$database; NAME LOG_MODE --------------- ...
- Oracle数据库设置为归档模式的操作方法
Oracle归档模式非常非常重要!对于有些数据库刚装好后可能是非归档模式,这是很危险的!为了安全起见,一定要谨记:对于Oracle数据库,一定要设置为归档模式,尤其是生产库,只有这样才能实现数据库的有 ...
- 将Oracle数据库设置为归档模式及非归档模式
一.将Oracle数据库设置为归档模式 1)sql>shutdown normal/immediate;2)sql>startup mount;3)sql>alter databas ...
- 怎样将Oracle数据库设置为归档模式及非归档模式
怎样将Oracle数据库设置为归档模式及非归档模式 1.Oracle日志分类 分三大类: Alert log files--警报日志,Trace files--跟踪日志(用户和进程)和 redo lo ...
- [20171225]没有备份数据文件的恢复.txt
[20171225]没有备份数据文件的恢复.txt --//别人问的问题,增加了数据文件没有备份,如何恢复,实际上很简单,因为当前控制文件有记录建立时间只要从建立数据文件开始的--//归档日志都存在恢 ...
随机推荐
- Unity 读取CSV与Excel
前几天看到我们在游戏中需要动态加载某些角色的游戏策划值,关于这个问题怎么解决呢?其实办法很多种,归根到底,就是数据的读取.我们可以想到的存储数据的载体有很多.例如:txt,xml,csv,excel. ...
- C# 让textbox 只能输入数字的方法
使用textBox控件的KeyPress事件 private void textBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.Key ...
- fullcalendar .net版本
实现了基本的增删改和拖拽,先记与此,抽时间继续优化和完善. 参考链接:http://www.helloweba.com/tag-fullcalendar.html 参考demo: http://f ...
- Oracle - 找不到原因的无效字符
当执行Oracle语句时,提示“无效字符”,而语句并无错误时,尝试把语句中的空格替换成半角状态的. 一般直接复制的语句会出现这种问题.
- 1218.1——OC中的常见关键字及一些基本方法
OC常见的关键字介绍: @ 看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX. @interface 声明类 @implementation 实现类 ...
- 通过XSLT转换XML
Hello,every body.又与大家见面了,哈哈.今天我与大家分享一下XSLT,XSL,XML,XPath.因为项目中有些功能用到了XSLT.XML等技术.所以今天好好研究了一下这几个方面的技术 ...
- canvas写的一个小时钟demo
<!DOCTYPE html> <html> <head> <title>HTML5 Canvas Demo of clock</title> ...
- react基于webpack和babel以及es6的项目搭建
项目demo地址https://github.com/aushion/webpack_reac_config 1.打开命令提示窗口,输入 mkdir react_test cd react_test ...
- 关于Struts2的类型转换详解
详细出处参考:http://www.jb51.net/article/35465.htm 一.类型转换的意义 对于一个智能的MVC框架而言,不可避免的需要实现类型转换.因为B/S(浏览器/服务器)结构 ...
- 关于Android Assets读取文件为File对象
关于Android Assets读取文件为File对象的问题,在Assets里面放置文件,在使用的时候,一般是使用AssetManger对象,open方法获取InputStream 然后进行其他操作. ...