ORACLE模拟一个数据文件坏块并使用RMAN备份来恢复
2013-09-13 20:41
1041 查看
1.创建一个实验用的表空间并在此表空间上创建表
create tablespace blocktest datafile '/u01/oradata/bys1/blocktest.dbf' size 1m;col name for a40
select file#,name from v$datafile;
FILE# NAME
---------- ----------------------------------------
1 /u01/oradata/bys1/system01.dbf
2 /u01/oradata/bys1/sysaux01.dbf
3 /u01/oradata/bys1/undotbs01.dbf
4 /u01/oradata/bys1/users01.dbf
5 /u01/oradata/bys1/example01.dbf
6 /u01/oradata/bys1/blocktest.dbf
BYS@bys1>create table test9 tablespace blocktest as select * from scott.emp;
Table created.
BYS@bys1>select count(*) from test9;
COUNT(*)
----------
14
2.使用RMAN对数据库进行备份,这里为了快速实验我只备份了准备制造坏块的数据文件。
[oracle@bys001 ~]$ rman target /Recovery Manager: Release 11.2.0.1.0 - Production on Fri Sep 13 13:28:36 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: BYS1 (DBID=3957527513)
RMAN> backup datafile 6;
Starting backup at 13-SEP-13
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=00006 name=/u01/oradata/bys1/blocktest.dbf
channel ORA_DISK_1: starting piece 1 at 13-SEP-13
channel ORA_DISK_1: finished piece 1 at 13-SEP-13
piece handle=/u01/flash_recovery_area/BYS1/backupset/2013_09_13/o1_mf_nnndf_TAG20130913T150457_935g8s7w_.bkp tag=TAG20130913T150457 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 13-SEP-13
RMAN> list backupset 7;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
7 Full 1.02M DISK 00:00:00 13-SEP-13
BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20130913T150457
Piece Name: /u01/flash_recovery_area/BYS1/backupset/2013_09_13/o1_mf_nnndf_TAG20130913T150457_935g8s7w_.bkp
List of Datafiles in backup set 7
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
6 Full 1910363 13-SEP-13 /u01/oradata/bys1/blocktest.dbf
3.模拟产生一个坏块:我这里使用了VI来删除数据文件中一些内容方法
[oracle@bys001 bys1]$ vi blocktest.dbf 打开后都是乱码,随便删除点中间的数据就可以,有时候 需要多次删除才会有坏块。我第一次实验一下就制造出坏块,后来都是通过多次才行。然后进入数据库查询建立在blocktest.表空间上的TEST9表,报错并给出了坏块的提示:文件号是6,坏块是10:[oracle@bys001 bys1]$ sqlplus bys/bys
BYS@bys1>select * from test9;
select * from test9
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 6, block # 10)
ORA-01110: data file 6: '/u01/oradata/bys1/blocktest.dbf'
4.进入RMAN,修复坏块
《《《可选:--我未做RMAN> backup validate datafile 6; 这条命令是对文件做一次校验,也可以发现坏块。
然后从SQLPLUS中查询:select * from v$database_block_corruption;
直接使用RMAN指定恢复的文件及BLOCK号》》》
执行以下 命令来修复坏块:
RMAN> blockrecover datafile 6 block 10 from backupset;
RMAN> exit
6.在SQLPLUS中查询表
BYS@bys1>select count(*) from test9;COUNT(*)
----------
14
相关文章推荐
- ORACLE模拟一个数据文件坏块并使用RMAN备份来恢复
- ORACLE 11G没有备份文件参数文件在异机通过rman备份恢复找回被误删的数据
- Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复
- ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)
- ORACLE 11G没有备份文件參数文件在异机通过rman备份恢复找回被误删的数据
- Oracle恢复(四)------用RMAN恢复一个数据文件
- oracle实验记录 (恢复,备份-含坏块数据文件)
- oracle直通车6关于rman备份恢复数据文件,以及创建分区表的实验
- Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复
- ORACLE基础学习-RMAN应用--归档模式有备份,丢失数据文件恢复
- Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复
- oracle备份之rman_恢复数据文件
- Oracle - 使用RMAN的备份及恢复一例-丢失所有控制文件
- oracle RMAN模拟数据文件丢失简单恢复方法
- 丢失oracle参数文件,数据文件以及控制文件,只有rman备份的恢复
- [强烈推荐]Oracle:只有rman备份(数据,参数,日志,控制文件全丢失)的恢复
- oracle 学习笔记 利用RMAN修复数据文件中的坏块
- Oracle 11G Rman备份ASM数据恢复到本地磁盘
- 【Oracle 数据备份恢复】RMAN异机恢复
- oracle rman 备份与恢复 临时表空间的文件问题解决 留痕