oracle数据库还原表空间,表空间的删除与恢复 - Oracle数据库管理 - ITPUB论坛-中国专业的IT技术社区...

本帖最后由 最后的吃货 于 2013-4-30 21:03 编辑

做表空间删除后恢复的实验,到最后打开数据库时表空间状态为recover状态,这时应该怎么操作才能恢复呢。

实验步骤:

1.建立表空间rman_test,建立测试表r_t,插入数据。

2.数据库备份数据文件,控制文件设置为自动备份

RMAN>backup database from 'd:\oracle_file_llist\backup\full_%d_%s.bak';

3.删除表空间

drop tablespace rman_test including contents

4.在alter文件查看表空间删除时间

Tue Apr 30 19:16:13 2013

drop tablespace rman_test including contents

Completed: drop tablespace rman_test including contents

5.还原与恢复

RMAN>startup force nomount

RMAN>set dbid=1259414934

还原控制文件

RMAN> restore controlfile from 'd:\oracle_file_list\backup\C-1259414934-20130430-09';

启动 restore 于 30-4月 -13

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=153 设备类型=DISK

通道 ORA_DISK_1: 正在还原控制文件

通道 ORA_DISK_1: 还原完成, 用时: 00:00:04

输出文件名=D:\ORACLE_FILE_LIST\CONTROL1\CONTROL01.CTL

输出文件名=D:\ORACLE_FILE_LIST\CONTROL2\CONTROL02.CTL

输出文件名=D:\ORACLE_FILE_LIST\CONTROL3\CONTROL03.CTL

完成 restore 于 30-4月 -13

RMAN> alter database mount;

数据库已装载

释放的通道: ORA_DISK_1

RMAN> run{

2>      set until time="to_date('2013-04-30 19:16:10','yyyy-mm-dd hh24:mi:ss')";

3>      restore database;

4>      recover database;

5>      sql 'alter database open resetlogs';

6> }

正在执行命令: SET until clause

启动 restore 于 30-4月 -13

启动 implicit crosscheck backup 于 30-4月 -13

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=153 设备类型=DISK

已交叉检验的 14 对象

完成 implicit crosscheck backup 于 30-4月 -13

启动 implicit crosscheck copy 于 30-4月 -13

使用通道 ORA_DISK_1

完成 implicit crosscheck copy 于 30-4月 -13

搜索恢复区中的所有文件

正在编制文件目录...

没有为文件编制目录

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在开始还原数据文件备份集

通道 ORA_DISK_1: 正在指定从备份集还原的数据文件

通道 ORA_DISK_1: 将数据文件 00001 还原到 D:\ORACLE_FILE_LIST\COLD\SYSTEM01.DBF

通道 ORA_DISK_1: 将数据文件 00002 还原到 D:\ORACLE_FILE_LIST\COLD\SYSAUX01.DBF

通道 ORA_DISK_1: 将数据文件 00003 还原到 D:\ORACLE_FILE_LIST\COLD\UNDOTBS01.DBF

通道 ORA_DISK_1: 将数据文件 00005 还原到 D:\ORACLE_FILE_LIST\COLD\EXAMPLE01.DBF

通道 ORA_DISK_1: 将数据文件 00006 还原到 D:\ORACLE_FILE_LIST\COLD\TEST_DATA.DBF

通道 ORA_DISK_1: 将数据文件 00007 还原到 D:\ORACLE_FILE_LIST\COLD\TEST_INDEX.DBF

通道 ORA_DISK_1: 将数据文件 00010 还原到 D:\ORACLE_FILE_LIST\COLD\PERFSTAT_01.DBF

通道 ORA_DISK_1: 正在读取备份片段 D:\ORACLE_FILE_LIST\BACKUP\FULL_ORCL_126.BAK

通道 ORA_DISK_1: 段句柄 = D:\ORACLE_FILE_LIST\BACKUP\FULL_ORCL_126.BAK 标记 = TAG20130430T191305

通道 ORA_DISK_1: 已还原备份片段 1

通道 ORA_DISK_1: 还原完成, 用时: 00:01:55

完成 restore 于 30-4月 -13

启动 recover 于 30-4月 -13

使用通道 ORA_DISK_1

正在开始介质的恢复

归档日志文件名=D:\ORACLE_FILE_LIST\ARCHIVE\21_1_813776187 线程=1 序列=21

介质恢复完成, 用时: 00:00:02

完成 recover 于 30-4月 -13

sql 语句: alter database open resetlogs

修改数据文件路径

SQL>alter database rename file 'C:\APP\ADMINISTRATOR\PRODUCT\11.1.0\DB_1\DATABASE\MISSING00004' to 'd:\rman_test.dbf';

SQL> select file#,status,name from v$datafile;

FILE# STATUS  NAME

---------- ------- --------------------------------------------------

1 SYSTEM  D:\ORACLE_FILE_LIST\COLD\SYSTEM01.DBF

2 ONLINE  D:\ORACLE_FILE_LIST\COLD\SYSAUX01.DBF

3 ONLINE  D:\ORACLE_FILE_LIST\COLD\UNDOTBS01.DBF

4 RECOVER D:\RMAN_TEST.DBF

5 ONLINE  D:\ORACLE_FILE_LIST\COLD\EXAMPLE01.DBF

6 ONLINE  D:\ORACLE_FILE_LIST\COLD\TEST_DATA.DBF

7 ONLINE  D:\ORACLE_FILE_LIST\COLD\TEST_INDEX.DBF

10 ONLINE  D:\ORACLE_FILE_LIST\COLD\PERFSTAT_01.DBF

online时报错:

SQL> alter database datafile 4 online;

alter database datafile 4 online

*

第 1 行出现错误:

ORA-01190: 控制文件或数据文件 4 来自最后一个 RESETLOGS 之前

ORA-01110: 数据文件 4: 'D:\RMAN_TEST.DBF'

恢复时也报错:

RMAN> recover datafile 4;

启动 recover 于 30-4月 -13

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=121 设备类型=DISK

正在开始介质的恢复

无法恢复介质

DBGANY:     Mismatched message length! [20:16:01.540] (krmiduem)

DBGANY:     Mismatched message length! [20:16:01.540] (krmiduem)

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-00600: internal error, arguments [3045] [] [] [] []

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: recover 命令 (在 04/30/2013 20:16:01 上) 失败

ORA-00283: recovery session canceled due to errors

RMAN-11003: 在分析/执行 SQL 语句期间失败: alter database recover if needed

datafile 4

ORA-00283: 恢复会话因错误而取消

ORA-19909: 数据文件 4 属于孤立的原型

ORA-01110: 数据文件 4: 'D:\RMAN_TEST.DBF'

要怎么才能恢复呢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值