本人初学,对数据库恢复不是很懂。
   比如我的是归档模式,先对现有的所有数据文件做一个冷备,然后再打开数据库,往其中一个表中插入一个数据,然后切换一下日志,类似
insert into fortest.test values(3);
 alter system switch logfile;  insert into fortest.test values(4);
 alter system switch logfile;  
等。然后我从最开始的冷备恢复到 插入数据为3或为4的。请问怎么操作?还有如果我恢复到了插入数据为4的时候,alter database open resetlogs后,那么是不是插入数据为4为前的归档不能用了,但后面(就是插入数据为5的)归档还是可用的呢?
   这只测试,也是学习。请大家指教,谢谢!最好给个例子!

解决方案 »

  1.   

    你是在利用冷备份做恢复
    前提是在线日志没有毁坏
    如果恢复到4则是完全恢复
    你根本不必用resetlog模式打开
    如果恢复到3则是不完全恢复
    你需要知道一个时间点或者scn
    然后用resetlog模式打开当你用resetlog打开之后
    要做全备
    因为之前的备份可能用不上了
      

  2.   

      谢谢!你需要知道一个时间点或者scn ?这是什么意思,具体怎么做呢?
      

  3.   

    所谓不完全恢复有三种
    基于时间点
    基于scn
    基于cancel的如果你要恢复到3的状态那必然是不完全恢复
    你也必须知道
    你要恢复到那个程度
    scn与时间点都是一个刻度
      

  4.   

      哦,谢谢Airroll。还有很多需要学习啊!那我怎么知道3 的scn与时间点呢?
      

  5.   

    这就要看你估计的时间了
    一般自己做实验的话
    都会记下时间或者scn如果没几下的话也可以从redo log里面挖掘
    但是工程就大喽~