本人初学,对数据库恢复不是很懂。
比如我的是归档模式,先对现有的所有数据文件做一个冷备,然后再打开数据库,往其中一个表中插入一个数据,然后切换一下日志,类似
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的)归档还是可用的呢?
这只测试,也是学习。请大家指教,谢谢!最好给个例子!
比如我的是归档模式,先对现有的所有数据文件做一个冷备,然后再打开数据库,往其中一个表中插入一个数据,然后切换一下日志,类似
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的)归档还是可用的呢?
这只测试,也是学习。请大家指教,谢谢!最好给个例子!
前提是在线日志没有毁坏
如果恢复到4则是完全恢复
你根本不必用resetlog模式打开
如果恢复到3则是不完全恢复
你需要知道一个时间点或者scn
然后用resetlog模式打开当你用resetlog打开之后
要做全备
因为之前的备份可能用不上了
基于时间点
基于scn
基于cancel的如果你要恢复到3的状态那必然是不完全恢复
你也必须知道
你要恢复到那个程度
scn与时间点都是一个刻度
一般自己做实验的话
都会记下时间或者scn如果没几下的话也可以从redo log里面挖掘
但是工程就大喽~