使用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 单个数据文件
一,环境背景
随机推荐
- Javascript “等于”
JavaScript支持“=”.“==”和“===”运算符. 我们应当理解这些(赋值.相等.恒等)运算符之间的区别,并在编码过程中小心使用. == equality 等同,用于一般比较,在比较的时候可 ...
- IDEA中一个工程多个模块(module)分别提交到不同的git服务器
说明:本文档适用于一个工程多个模块的项目,每个模块对应不同的git服务器地址. 一.将本地项目导入到git服务器 1.打开 File -> Settings,选择 Version C ...
- mysql数据库将表移动到新数据库,或者说更改数据库名字
①创建新的数据库(你要改的名字) CREATE DATABASE new_name; ②更改数据库表的名字 RENAME TABLE old_name.table TO new_name.table ...
- setTimeout的实现原理以及setTimeout(0)的使用场景
先看一段代码: var start = new Date(); setTimeout(function(){ var end = new Date(); console.log("Tim ...
- 介绍一款web端的截图工具
牛牛截图,web端的一款截图工具,下面是代码及实例. 依赖jquery-1.7.min.js /**************************************************** ...
- js贪食蛇
<!DOCTYPE html><head><title>canvas贪食蛇</title><style>.canvas{ backgr ...
- Highcharts error #14: www.highcharts.com/errors/14
错误原因:数据类型错误,需要的是Number类型,传入的却是String 以为为官网说明: Highcharts Error #14 String value sent to series.data, ...
- haproxy学习——安装(一)
安装包:haproxy-1.5.4.tar.gz (挺小的,大约1.3M) ①.首先要sz到本地虚拟机上(centos-6.5),tar zxvf haproxy-1.5.4.tar.gz,完成解压. ...
- 关于main函数的参数,argc,argv的内部机制
偶尔对main函数的参数感兴趣,写了个程序验证. int main(int argc,char **argv) 首先,解释两点: 第一 .系统将参数列表,即我们在shell下输入的命令,存储到一个一维 ...
- 猿创|有赞的zan framework安装与使用
1.准备工作 1.1 一台腾讯云服务器2核CPU+2G内存的Linux CentOS 7.2(谢谢小杨同学@erchoc) 1.2 预装lnmp一键安装包环境,官方地址:lnmp一键安装包 (如不会使 ...