Chinaunix

标题: 数据丢了,恢复不过来 [打印本页]

作者: busyfan    时间: 2007-01-26 12:01
标题: 数据丢了,恢复不过来
思路是这样的:
建一个测试数据表,往里面加一些测试数据行,然后做一次RMAN的lev0备份,备份完成后把测试数据表drop掉,看RMAN的备份能不能恢复这张测试表.

整个过程是这样的:
1.在数据库里新建一个test1表,然后往里面insert一些数据,并且commit;

2.在RMAN里执行(backup incremental level 0 database)备份数据库成功;

3.在SQLPLUS里再执行drop table test1将表删除掉,然后shutdown immediate;

4.在RMAN里执行如下步骤来恢复数据库,尝试将test1表恢复过来:
  #rman target /
  RMAN>startup mount
  RMAN>restore database

5.切换回SQLPLUS,并执行recover动作如下:
  SQL>alter session set nls_date_format='yyyy-mm-dd,hh24:mi:ss';
  SQL>recover database until time '2007-01-25,23:16:00';
          注:上面的时间是执行recover命令时的时间,
  SQL>alter database open resetlogs;
  SQL>select * from test1;
select * from test1
              *
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在

6.没恢复回来
作者: macrodba    时间: 2007-01-26 12:21
RMAN>startup mount
  RMAN>restore database
recover database
作者: busyfan    时间: 2007-01-26 13:22
先就是这么试的,结果发现被drop掉的测试表没有被恢复过来,这才使用基于时间点的恢复的

可是还是没有恢复过来,为什么会这样啊?
作者: busyfan    时间: 2007-01-26 14:29
没人知道是怎么回事儿吗?
作者: kmzx    时间: 2007-01-26 14:40
archive mode ? no archive mode?
作者: busyfan    时间: 2007-01-26 18:40
楼上的大哥,如果是no archive mode的话,那backup 命令都执行不成功的
作者: busyfan    时间: 2007-01-26 18:40
已搞定
作者: david5337    时间: 2007-01-27 16:48
“5.切换回SQLPLUS,并执行recover动作如下:
  SQL>alter session set nls_date_format='yyyy-mm-dd,hh24:mi:ss';
  SQL>recover database until time '2007-01-25,23:16:00';
          注:上面的时间是执行recover命令时的时间,”
貌似时间点没有指定对哦,应该是执行drop操作前一点点的时间才可以的哦
作者: 流川    时间: 2007-01-28 21:25
use oracle internal tool dul
作者: yikaikai    时间: 2007-01-29 12:43
原帖由 流川 于 2007-1-28 21:25 发表
use oracle internal tool dul


没这个必要的




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2