OS:
ORACLE-LINUX 5.7

DB:
11.2.0.3.0

完全恢复

查看现有的数据文件
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/yoon/datafile/system.256.823151193
+DATA/yoon/datafile/sysaux.257.823151193
+DATA/yoon/datafile/undotbs1.258.823151193
+DATA/yoon/datafile/users.259.823151193
+DATA/yoon/datafile/undotbs2.264.823151401

做一个完全备份
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP on;

new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored

RMAN> backup as copy database ;

Starting backup at 2013:12:16 15:29:30
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=34 instance=yoon1 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=+DATA/yoon/datafile/system.256.823151193
output file name=+FLUSH/yoon/datafile/system.261.834334171 tag=TAG20131216T152930 RECID=1 STAMP=834334197
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=+DATA/yoon/datafile/sysaux.257.823151193
output file name=+FLUSH/yoon/datafile/sysaux.262.834334207 tag=TAG20131216T152930 RECID=2 STAMP=834334226
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=+DATA/yoon/datafile/undotbs1.258.823151193
output file name=+FLUSH/yoon/datafile/undotbs1.263.834334231 tag=TAG20131216T152930 RECID=3 STAMP=834334234
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=+DATA/yoon/datafile/undotbs2.264.823151401
output file name=+FLUSH/yoon/datafile/undotbs2.264.834334235 tag=TAG20131216T152930 RECID=4 STAMP=834334235
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=+DATA/yoon/datafile/users.259.823151193
output file name=+FLUSH/yoon/datafile/users.265.834334237 tag=TAG20131216T152930 RECID=5 STAMP=834334237
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 2013:12:16 15:30:38

Starting Control File and SPFILE Autobackup at 2013:12:16 15:30:38
piece handle=+FLUSH/yoon/autobackup/2013_12_16/s_834334238.266.834334241 comment=NONE
Finished Control File and SPFILE Autobackup at 2013:12:16 15:30:41

创建一个表空间
SQL> create tablespace yoon datafile size 5m;

Tablespace created.

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/yoon/datafile/system.256.823151193
+DATA/yoon/datafile/sysaux.257.823151193
+DATA/yoon/datafile/undotbs1.258.823151193
+DATA/yoon/datafile/users.259.823151193
+DATA/yoon/datafile/undotbs2.264.823151401
+DATA/yoon/datafile/yoon.268.834334445

创建表
SQL> create table yoon as select * from user_tables;

Table created.

SQL> select count(*) from yoon;

COUNT(*)
----------
       971
       
关闭数据库删除文件,模拟灾难场景
SQL> !
[oracle@rac1 ~]$ srvctl stop database -d yoon

ASMCMD> rm -rf YOON.268.834334445

启动数据库
[oracle@rac1 ~]$ srvctl start database -d yoon  
PRCR-1079 : Failed to start resource ora.yoon.db
CRS-5017: The resource action "ora.yoon.db start" encountered the following error: 
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: '+DATA/yoon/datafile/yoon.268.834334445'
. For details refer to "(:CLSN00107:)" in "/u01/app/grid/11.2.0/log/rac1/agent/crsd/oraagent_oracle/oraagent_oracle.log".

CRS-2674: Start of 'ora.yoon.db' on 'rac1' failed
CRS-2632: There are no more servers to try to place resource 'ora.yoon.db' on that would satisfy its placement policy
CRS-5017: The resource action "ora.yoon.db start" encountered the following error: 
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: '+DATA/yoon/datafile/yoon.268.834334445'
. For details refer to "(:CLSN00107:)" in "/u01/app/grid/11.2.0/log/rac2/agent/crsd/oraagent_oracle/oraagent_oracle.log".

SQL> startup
ORA-03135: connection lost contact
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area 1653518336 bytes
Fixed Size                  2228904 bytes
Variable Size            1023413592 bytes
Database Buffers          620756992 bytes
Redo Buffers                7118848 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: '+DATA/yoon/datafile/yoon.268.834334445'

不能用recover database; 因为这个数据文件根本没有备份

需要用alter database create datafile命令重建文件
SQL> alter database create datafile '+DATA/yoon/datafile/yoon.268.834334445';

Database altered.


alter database create datafile 6;

SQL> recover datafile 6;
ORA-00283: recovery session canceled due to errors
ORA-01110: data file 6: '+DATA/yoon/datafile/yoon.268.834334445'
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: '+DATA/yoon/datafile/yoon.268.834334445'

ASMCMD> ls
SYSAUX.257.823151193
SYSTEM.256.823151193
UNDOTBS1.258.823151193
UNDOTBS2.264.823151401
USERS.259.823151193
YOON.268.834334961

发现源文件和新建的文件不同之处,因此:
SQL> alter database rename file '+DATA/yoon/datafile/yoon.268.834334445' to '+DATA/yoon/datafile/YOON.268.834334961';

Database altered.

SQL> recover datafile 6;
Media recovery complete.

SQL> alter database open;

Database altered.

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/yoon/datafile/system.256.823151193
+DATA/yoon/datafile/sysaux.257.823151193
+DATA/yoon/datafile/undotbs1.258.823151193
+DATA/yoon/datafile/users.259.823151193
+DATA/yoon/datafile/undotbs2.264.823151401
+DATA/yoon/datafile/yoon.268.834334961

6 rows selected.

SQL> select count(*) from yoon;

COUNT(*)
----------
       971

RMAN 完全恢复的更多相关文章

  1. Oracle—RMAN完全恢复

    一.RMAN完全恢复的相关概念 1.在RMAN完全恢复中主要使用两个命令,一个是restore,另一个是recover. 2.可以在三个级别恢复,数据库,表空间,数据文件. 3.RMAN中应对于各种情 ...

  2. oracle之三rman 完全恢复

    rman 完全恢复 8.1 recover 恢复: 1)归档 : 完全恢复和不完全恢复 2)非归档:只能恢复到最后一次备份状态(还原) 8.2 完全恢复: ----先对数据库做一个备份(如果是arch ...

  3. oracle数据库rman备份计划及恢复

    1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog. 2.rman备份脚本: a.RMAN 0级备份 ...

  4. RMAN常用备份恢复命令汇总

    RMAN命令 1.独立命令  RMAN>shutdown immediate  RMAN>startup  RMAN>backup format 'd:\backup\%d_%s.b ...

  5. RMAN参数详解

    在Oracle 10g中的配置情况使用RMAN>show all;可以显示出RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # d ...

  6. RMAN主要命令 show,list,crosscheck,delete详解

    Oracle RMAN 的 show,list,crosscheck,delete命令整理  Oracle RMAN 的 show,list,crosscheck,delete命令整理 1.SHOW命 ...

  7. enmo_day_07

    数据备份 物理备份 : 底层数据块 逻辑备份 :exp(export), imp(import) 导入导出工具,提取成dump文件,再将dump文件放入数据库 expdp, impdp 数据蹦 uti ...

  8. ocp11g培训内部教材_053课堂笔记(043)_数据备份

    053:数据库高级管理: 目录 第一部分:数据库备份与恢复... 4 第一章:备份恢复概述... 4 1.1 备份的意义: 4 1.2 数据库故障的类型:... 4 1.3 制定你的备份和恢复的计划. ...

  9. 5. RAMN备份与恢复

    一. rman简介 RMAN(Recovery Manager)是一种用于备份(backup).还原(restore)和恢复(recover)数据库的 Oracle 工具.RMAN只能用于ORACLE ...

随机推荐

  1. Sublime Text 2/3中Autoprefixer失效解决方法

    ###Sublime Text 2/3中Autoprefixer失效解决方法: 相信每个前端er都会使用Subl这款工具吧,因为它有上千款开源的插件,而且功能各异,这里给大家带来的是标题中Autopr ...

  2. Android开发-API指南-<supports-gl-texture>

    <supports-gl-texture> 英文原文:http://developer.android.com/guide/topics/manifest/supports-gl-text ...

  3. extjs gride 显示序号

    在使用Extjs框架时,有时为了在信息列表中显示数据项的序号,这就要构造一些方法来显示序号,其方法有两种,具体如下: 1.方法一 对 Ext.grid.PageRowNumberer 进行扩展,详细代 ...

  4. JavaScript事件小结

    我们都晓得JavaScrip事件的重要性,所以下面小结一下以备后用!   序号 事件 描述 备注 onclick 鼠标点击某个对象时触发此事件 是最常用的事件之一 onchange 用户改变域的内容时 ...

  5. centos6.5没有eth0, 只有eth1, eth1无法上网

    1. cat  /etc/udev/rules.d/70-persistent-net/rules 2.将ATTR(address)=XXXXXXXX的内容 替换  文件/etc/sysconfig/ ...

  6. new 、operator new 和 placement new

    一.原生operator new 我们先从原生operator new开始.考虑如下代码,它用来分配5个int型的空间并返回指向他们的指针[1]: int* v = static_cast<in ...

  7. Java基础——左移和右移

    首先要明白一点,这里面所有的操作都是针对存储在计算机中中二进制的操作,那么就要知道,正数在计算机中是用二进制表示的,负数在计算机中使用补码表示的. 左移位:<<,有符号的移位操作 左移操作 ...

  8. Java基础——clone()方法浅析

    一.clone的概念 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...

  9. Centos linux php扩展安装步骤

    使用phpinfo()函数输出PHP信息,然后找到Configuration File (php.ini) apachectl 其设计意图是帮助管理员控制Apache httpd后台守护进程的功能. ...

  10. LINQ to DataSet的DataTable操作

    1. DataTable读取列表 DataSet ds = new DataSet();// 省略ds的Fill代码DataTable products = ds.Tables["Produ ...