recover database until time 为什么不能成功恢复

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
我在 2004-01-14:13:25:00 以后删除了一个表,
用下列语句恢复.
recover database until time '2004-01-14:13:25:00 '
语句执行成功.
但我打开数据库后,那个表还是没有恢复过来.
os :win2000
dbms: oracle 8.1.7
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
1.用该时间之前的INC 0备份,保证到UNTIL TIME为止的ARCH完好;
2,执行recover database until time '2004-01-14:13:25:00 '等RMAN语句;
3.RESETLOGS OPEN库,此时表应该恢复.
看看你的步骤对不对.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
删除表后,是否提交?若没有提交恢复不了.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
你用的都是系统时间么?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
谢谢楼上的.
删除表后提交也不行,再说ddl语句有隐式提交.
是用的系统时间.
还有什么原因吗.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
恢复过程中根本就没有用到归档日志.因为我把所有的归档日志全部删掉还是说恢复成功,也没提示说找不到哪个日志.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
你能把详细过程贴出来吗?
是对整个数据库作了备份然后restore的吧
打开数据库的时候是 alter database openresetlogs ?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
SQL> create table ct_kk (no char(3));
表格已被建立
SQL> select to_char(sysdate,'yyyymmdd hh24miss') from dual;
TO_CHAR(SYSDATE
---------------
20040114 210227
SQL> drop table ct_kk;
表格已被廢棄
SQL> alter system archive log current;
系統已被更改
shutdown
冷备份数据库
startup mount
recover database until time '2004-01-14:21:02:27';
alter database open resetlogs;
SQL> desc ct_kk
ERROR:
ORA-04043: 物件 ct_kk 不存在
就这样,表没有恢复.
数据库在归档模式,自动归档.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
先备份数据库,再drop table ct_kk;

怎么能先drop表在备份数据库 ? 然后再恢复?数据库怎么能往前recover? 你以为你是10G 啊
基本概念严重混淆不清
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
谢谢biti的指教.已经可以恢复删除的表了
可是我发现一个问题,
我照如下的程序做.
先做一个冷备份,
然后建一个表 ct_a
得到时间 time_a
删除表 ct_a
归档日志.
然后down数据库
考贝备份 *.dbf 到数据库数据文件目录.
然后startup mount
执行 recover database until time 'time_a';
alter database open resetlogs;
表ct_a 恢复.
然后此时归档日志的顺序清零.
我重复上面的步骤重建另一个表,然后试图恢复时出现如图错误.
是不是归档日志顺序清零后,复写了原来的日志文件,如果此时的恢复要用到原来的归档日志怎么办. 或是恢复到以前,而要用的日志文又被复写,(当然在第一次恢复后就应该做一次冷备份),该怎么办.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行