使用RMAN对数据文件进行恢复
(1)备份数据库
在使用RMAN进行数据库恢复之前,先用RMAN进行全库备份
[oracle@redhat6 ~]$ rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Wed May 16 14:32:54 2018 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1486787650) RMAN> backup database; Starting backup at 16-MAY-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/orcl/example01.dbf
input datafile file number=00009 name=/u01/app/oracle/oradata/orcl/mark.bdf
input datafile file number=00011 name=/u01/app/oracle/oradata/orcl/tbs01.bdf
input datafile file number=00012 name=/u01/app/oracle/oradata/orcl/tbs03.dbf
input datafile file number=00013 name=/u01/app/oracle/oradata/orcl/tbs04.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 16-MAY-18
channel ORA_DISK_1: finished piece 1 at 16-MAY-18
piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/01t31soh_1_1 tag=TAG20180516T144121 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:33
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00008 name=/u01/app/oracle/oradata/orcl/tbs_32k.dbf
channel ORA_DISK_1: starting piece 1 at 16-MAY-18
channel ORA_DISK_1: finished piece 1 at 16-MAY-18
piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/02t31sta_1_1 tag=TAG20180516T144121 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 16-MAY-18
channel ORA_DISK_1: finished piece 1 at 16-MAY-18
piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/03t31stc_1_1 tag=TAG20180516T144121 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 16-MAY-18
(2)删除数据文件
查看数据库的数据文件信息:
select t."NAME",
d."NAME",
d."FILE#"
from v$tablespace t,
v$datafile d
where t."TS#" = d."TS#"
order by t.ts#; NAME NAME FILE#
------------------------------ -------------------------------------------------------------------------------- ----------
SYSTEM /u01/app/oracle/oradata/orcl/system01.dbf 1
SYSAUX /u01/app/oracle/oradata/orcl/sysaux01.dbf 2
UNDOTBS1 /u01/app/oracle/oradata/orcl/undotbs01.dbf 3
USERS /u01/app/oracle/oradata/orcl/users01.dbf 4
EXAMPLE /u01/app/oracle/oradata/orcl/example01.dbf 5
TBS_32K /u01/app/oracle/oradata/orcl/tbs_32k.dbf 8
MARK /u01/app/oracle/oradata/orcl/mark.bdf 9
TBS01 /u01/app/oracle/oradata/orcl/tbs01.bdf 11
TBS03 /u01/app/oracle/oradata/orcl/tbs03.dbf 12
TBS04 /u01/app/oracle/oradata/orcl/tbs04.dbf 13
10 rows selected
删除一个数据文件,这里把文件编号为13的数据文件给删除:
[oracle@redhat6 ~]$ rm -f /u01/app/oracle/oradata/orcl/tbs04.dbf
(3)恢复数据文件
(3.1)使用list failure查看失败操作
RMAN> list failure; List of Database Failures
========================= Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
8 HIGH OPEN 16-MAY-18 One or more non-system datafiles need media recovery
42 HIGH OPEN 13-DEC-17 One or more non-system datafiles are missing
(3.2)使用RMAN建议来恢复丢失的文件
RMAN> advise failure
2> ; List of Database Failures
========================= Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
8 HIGH OPEN 16-MAY-18 One or more non-system datafiles need media recovery
42 HIGH OPEN 13-DEC-17 One or more non-system datafiles are missing analyzing automatic repair options; this may take some time
using channel ORA_DISK_1
analyzing automatic repair options complete Mandatory Manual Actions
========================
no manual actions available Optional Manual Actions
=======================
1. If you restored the wrong version of data file /u01/app/oracle/oradata/orcl/tbs04.dbf, then replace it with the correct one
2. If file /u01/app/oracle/oradata/orcl/tbs04.dbf was unintentionally renamed or moved, restore it Automated Repair Options
========================
Option Repair Description
------ ------------------
1 Restore and recover datafile 13; Recover datafile 13
Strategy: The repair includes complete media recovery with no data loss
Repair script: /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_1931299378.hm
最后一行给出了恢复的脚本,查看脚本
[oracle@redhat6 ~]$ more /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_1931299378.hm
# restore and recover datafile
sql 'alter database datafile 13 offline';
restore datafile 13;
recover datafile 13;
sql 'alter database datafile 13 online';
# recover datafile
sql 'alter database datafile 13 offline';
recover datafile 13;
sql 'alter database datafile 13 online';
根据脚本,执行修复和恢复
RMAN> sql 'alter database datafile 13 offline'; sql statement: alter database datafile 13 offline RMAN> restore datafile ;
Starting restore at 16-MAY-18
using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00013 to /u01/app/oracle/oradata/orcl/tbs04.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/11.2.0/db_1/dbs/01t31soh_1_1
channel ORA_DISK_1: piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/01t31soh_1_1 tag=TAG20180516T144121
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
Finished restore at 16-MAY-18 RMAN> recover datafile ; Starting recover at 16-MAY-18
using channel ORA_DISK_1 starting media recovery
media recovery complete, elapsed time: 00:00:00 Finished recover at 16-MAY-18 RMAN> sql 'alter database datafile 13 online'; sql statement: alter database datafile 13 online
(4)重启数据库,确认无异常
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started. Total System Global Area 730714112 bytes
Fixed Size 2216944 bytes
Variable Size 314575888 bytes
Database Buffers 411041792 bytes
Redo Buffers 2879488 bytes
Database mounted.
Database opened.
完结。
使用RMAN对数据文件进行恢复的更多相关文章
- RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复
1.归档模式有备份,丢失数据文件的恢复归档模式有备份,不管丢失什么数据文件,直接在RMAN下RESTOER--->RECOVER--->OPEN即可. RMAN> STARUP MO ...
- [20171225]没有备份数据文件的恢复.txt
[20171225]没有备份数据文件的恢复.txt --//别人问的问题,增加了数据文件没有备份,如何恢复,实际上很简单,因为当前控制文件有记录建立时间只要从建立数据文件开始的--//归档日志都存在恢 ...
- RMAN数据库恢复之丢失数据文件的恢复
删除某一数据文件:SQL> HOST del D:\app\Administrator\oradata\orcl\USERS01.dbf 启动数据库,提示丢失数据文件4,此时数据库处理MOUNT ...
- oracle11g 数据文件误删恢复(无备份)
OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...
- RMAN - "丢失控制文件的恢复"
OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...
- 记数据库数据文件损坏恢复ORA-00376+ORA-01110
现象:业务平台无法登陆,日志报错为ORACLE的错误. 查看oracle日志的报错, ORA-00376: file 5 cannot be read at this time ORA-01110: ...
- 误删除innodb ibdata数据文件-之恢复
今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了.不知道怎么解决.当时我也不知道怎么办.后来查阅相关资料.终找到解决方法.其实恢复也挺简单 ...
- Rman将数据文件恢复到不同的路径
RMAN> startup nomount connected to target database (not started)Oracle instance started Total Sys ...
- oracle 备份恢复篇(四)---rman 单个数据文件
一,环境背景
随机推荐
- 文档生成工具Sandcastle Help File Builder
Sandcastle Help File Builder http://shfb.codeplex.com/
- python学习(六)--正则的一些例子
import re #正则表达式#compile函数,--将正则表达式转变为内部函数,提高执行效率strr = "python123456"pattern = "Pyth ...
- [LeetCode]26. Remove Duplicates from Sorted Array删除排序数组中的重复项
Given a sorted array nums, remove the duplicates in-place such that each element appear only once an ...
- 转 【<meta name="description" content=">】作用讲解
今天在看别人写的网站代码,发现类似<meta name="Keywords" content="" >.<meta name="De ...
- Sde各类命令详解(sdemon 、sdelayer、sdeservice、sdetable、sdeconfig、SdeExport_SdeImport)
Sdemon命令详解: http://wenku.baidu.com/view/3b53e8ec0975f46527d3e1c2.html 1.重建空间索引 D:\Program Fi ...
- Appium 如何模拟返回按键
from appium.webdriver import Remote driver.keyevent(4) python中点击返回键是这样写的 附录 keycode 电话键 KEYCODE_CALL ...
- Javascript中的Prototype到底是什么
Javascript也是面向对象的语言,但它是一种基于原型Prototype的语言,而不是基于类的语言.在Javascript中,类和对象看起来没有太多的区别. 什么是prototype: funct ...
- 30分钟LINQ教程 【转载】
原文地址:http://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html 在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有 ...
- 爬虫入门之handler与opener(三)
1 自定义opener opener是 urllib.request.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的模块构建好的opener 但是基本的ur ...
- [图]Windows 10 Build 16273版本更新发布:新增可变式字体Bahnschrift
在经历了长达三周的等待之后,微软于今天终于面向Windows Insider项目的Fast通道用户发布了Windows 10 Build 16273版本更新.事实上,微软应该会在两周前就应该发布新版本 ...