RMAN 完全恢复

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> !
[[email protected] ~]$ srvctl stop database -d yoon

ASMCMD> rm -rf YOON.268.834334445

启动数据库
[[email protected] ~]$ 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

时间: 2024-08-28 17:41:12

RMAN 完全恢复的相关文章

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

Oracle RMAN 的 show,list,crosscheck,delete命令整理 Oracle RMAN 的 show,list,crosscheck,delete命令整理 1.SHOW命令:      显示rman配置: RMAN> show all; 2.REPORT命令: 2.1.RMAN> report schema 报告目标数据库的物理结构; 2.2.RMAN>report need backup days=3; 报告最近3天没有被备份的数据文件: 2.3.RMAN&

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

1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog. 2.rman备份脚本: a.RMAN 0级备份命令: run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup incremental level 0 tag 'level0' format "

RMAN常用备份恢复命令汇总

RMAN命令 1.独立命令  RMAN>shutdown immediate  RMAN>startup  RMAN>backup format 'd:\backup\%d_%s.bak' tablespace users;2.作业命令  RMAN>run { backup format 'd:\backup\$d_%s.bak' tablespace users; }3.运行SQL命令  RMAN>sql 'alter system switch logfile' ;4.运

enmo_day_07

数据备份 物理备份 : 底层数据块 逻辑备份 :exp(export), imp(import) 导入导出工具,提取成dump文件,再将dump文件放入数据库 expdp, impdp 数据蹦 utilities手册里有 exp -help which exp exp SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR) expdp dbms_datapump : 支持断点续传 逻辑备份 :速度较物理备份慢, 但更精细 物理备份 :底层数据块的拷贝 LUN —>

RMAN恢复案例之--不完全恢复错误案例

RMAN恢复案例之--不完全恢复错误案例 RMAN恢复案例: 不完全恢复,由于在先前的数据文件备份有误,导致恢复失败. [[email protected] ~]$ rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Sat Sep 20 15:54:25 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserve

RMAN深入解析之--Incarnation应用(不完全恢复)

RMAN深入解析之--Incarnation应用(不完全恢复) 案例环境: 操作系统:RedHat EL5 Oracle:  Oracle 11gR2    当在做Media Recover的不完全恢复时,通过resetlogs打开库,则Incarnation(数据库对应物)表示这个数据库的特定的逻辑生存期.当作为DBA可能面临这样的还原:需要使用上次执行resetlogs命令打开数据库前生成的一个备份来进行还原数据库,或者可能需要还原到执行上一个resetlogs命令之前的时间点.      

使用rman的level0的备份文件迁移oracle数据库-不完全恢复

使用rman的level0的备份文件迁移oracle数据库-不完全恢复-20160811 将oracle数据库从一台机器A迁移到另外的一台机器B(同为linux平台),设置为不同的路径,不同的实例名 源端: ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1 ORACLE_SID=SCPDB 数据文件位置:/u01/app/oracle/oradata/SCPDB/datafile/ 目标端:

RMAN基于表空间的不完全恢复(TSPITR)

RMAN基于表空间的不完全恢复(TSPITR) 表空间时间点恢复(TSPITR):概念 通过执行TSPITR 可将一个或多个表空间快速恢复到以前的某个时间. 执行TSPITR 不会影响数据库中其它表空间或对象的状态. 使用RMAN 自动表空间时间点恢复(TSPITR) 可将Oracle DB 中的一个或多个表空间快速恢复到以前的某个时间,而不会影响数据库中其它表空间和对象的状态. 表空间时间点恢复(TSPITR):术语 目标时间:表空间恢复到的时间点或SCN 恢复集:组成要恢复的表空间的数据文件

Oracle RMAN 备份及不完全恢复(删除archievelog)

RMAN备份命令 backup Database format='/home/oracle/backup/bak_full_%U_%T' tag='bak_full'; sql 'alter system archive log current'; backup archivelog all tag='arc_bak' format='/home/oracle/backup/arch_%U_%T' delete input; backup current controlfile tag='bak