An experiment of recovering read-only tablespace using backup controlfile

An experiment of recovering read-only tablespace using backup controlfile
When the tablespace users was read write ,I backup the database with autobackup on.
Rman> backup database plus archivelog delete input;

启动 Control File and SPFILE Autobackup 于 06-10月-10段
handle=F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2010_10_0
6\O1_MF_S_731665986_6BQJY3OH_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 于 06-10月-10

then,I shutdown db

RMAN> shutdown immediate

数据库已关闭
数据库已卸载
Oracle 实例已关闭

sql>alter system switch logfile;
sql>ALTER TABLESPACE TEST READ ONLY;  --------set the tablespace test read only.here,the backup controlfile still think that test is read-write.
sql>alter system switch logfile;


---backup database using backup controlfile;
RMAN> startup nomount

已连接到目标数据库 (未启动)
Oracle 实例已启动

系统全局区域总计     272629760 字节

Fixed Size                     1248476 字节
Variable Size                 96469796 字节
Database Buffers             167772160 字节
Redo Buffers                   7139328 字节

RMAN> restore controlfile from autobackup;    --- restore controlfile.here I think the "test"  is read-write,but indeed it is read-only.why?

启动 restore 于 06-10月-10
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK

恢复区域目标: F:\oracle\product\10.2.0/flash_recovery_area
用于搜索的数据库名 (或数据库的唯一名称): ORCL
通道 ORA_DISK_1: 在恢复区域中找到自动备份
通道 ORA_DISK_1: 已找到的自动备份: F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA
ORCL\AUTOBACKUP\2010_10_06\O1_MF_S_731666081_6BQK12F5_.BKP
通道 ORA_DISK_1: 从自动备份复原控制文件已完成
输出文件名=F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
输出文件名=F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL
输出文件名=F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL
完成 restore 于 06-10月-10

 

RMAN> alter database mount;

数据库已装载
释放的通道: ORA_DISK_1

sql>SELECT * FROM v$datafile;  --here you will see the datafile if "test" is read-only. why?

RMAN> restore database;

启动 restore 于 06-10月-10
启动 implicit crosscheck backup 于 06-10月-10
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=154 devtype=DISK
已交叉检验的 6 对象
完成 implicit crosscheck backup 于 06-10月-10

启动 implicit crosscheck copy 于 06-10月-10
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 06-10月-10

搜索恢复区域中的所有文件
正在编制文件目录...
目录编制完毕

已列入目录的文件的列表
=======================
文件名: F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2010_10_06\
O1_MF_1_4_6BQK229R_.ARC
文件名: F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2010_10_06\
O1_MF_S_731666081_6BQK12F5_.BKP

使用通道 ORA_DISK_1

未处理数据文件 7, 因为文件是只读的
未处理数据文件 8, 因为文件是只读的
未处理数据文件 9, 因为文件是只读的
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
正将数据文件00002恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
正将数据文件00003恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
正将数据文件00004恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
正将数据文件00005恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
正将数据文件00006恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SAMPLE.DBF
通道 ORA_DISK_1: 正在读取备份段 F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORC
L\BACKUPSET\2010_10_06\O1_MF_NNNDF_TAG20101006T083118_6BQJTQOZ_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2010_10_06\
O1_MF_NNNDF_TAG20101006T083118_6BQJTQOZ_.BKP 标记 = TAG20101006T083118
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:15
完成 restore 于 06-10月-10

RMAN> recover database;

启动 recover 于 06-10月-10
使用通道 ORA_DISK_1
未处理数据文件 7, 因为文件是只读的
未处理数据文件 8, 因为文件是只读的
未处理数据文件 9, 因为文件是只读的

正在开始介质的恢复

存档日志线程 1 序列 3 已作为文件 F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\OR
CL\ARCHIVELOG\2010_10_06\O1_MF_1_3_6BQK050H_.ARC 存在于磁盘上
存档日志线程 1 序列 4 已作为文件 F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\OR
CL\ARCHIVELOG\2010_10_06\O1_MF_1_4_6BQK229R_.ARC 存在于磁盘上
存档日志线程 1 序列 5 已作为文件 F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO1.LOG
 存在于磁盘上
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=2
通道 ORA_DISK_1: 正在读取备份段 F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORC
L\BACKUPSET\2010_10_06\O1_MF_ANNNN_TAG20101006T083304_6BQJY1MK_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2010_10_06\
O1_MF_ANNNN_TAG20101006T083304_6BQJY1MK_.BKP 标记 = TAG20101006T083304
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:02
存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\201
0_10_06\O1_MF_1_2_6BQKOYKL_.ARC 线程 =1 序列 =2
通道 default: 正在删除存档日志
存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\201
0_10_06\O1_MF_1_2_6BQKOYKL_.ARC 记录 ID=34 时间戳 =731666750
存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\201
0_10_06\O1_MF_1_3_6BQK050H_.ARC 线程 =1 序列 =3
存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\201
0_10_06\O1_MF_1_4_6BQK229R_.ARC 线程 =1 序列 =4
存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO1.LOG 线程 =1 序列 =5
介质恢复完成, 用时: 00:00:04
完成 recover 于 06-10月-10

RMAN> alter database open;

conclusion:I try to imitate the experiment of the question followed:
You have a read-only tablespace on read-only media. You want to perform. a media
recovery on the existing data files, but using a backup control file. The backup
control file indicates that the status of the read-only tablespace was read/write when
the control file was backed up. What should you consider?
A. take data files from the read-only tablespace offline before performing a recovery
B. recovery using backup control file is not possible, so restore all the files from the last
full database backup, and then open the database
C. drop the read-only tablespace and re-create the tablespace after recovery
D. perform. a recovery; status of the tablespace in control file will be changed
automatically

It seems to me that it faild.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14730395/viewspace-675469/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14730395/viewspace-675469/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值