正确恢复步骤为:
1.看系统原型,rman:>list incarnation of database "portgis";
2.重新启动数据库到加载状态.
3.重置原型到时间点之前 rman:>reset database to incarnation 5
4.执行恢复
不然就会有下面的问题了:
在我们用RMAN进行备份 恢复的时候。 若出现如下错误:
until time or recovery window is before resetlogs time
说明原型设置要改改了。先列出原型:
C:>RMAN target/@portgis
RMAN:>list incarnation of database "test";
数据库原型列表
DB 关键字 Inc 关键字 DB 名 DB ID STATUS 重置 SCN 重置时间
------- ------- -------- ---------------- --- ---------- ----------
1 1 TEST 1978860036 PARENT 1 30-8月 -05
2 2 TEST 1978860036 PARENT 534907 05-3月 -09
3 3 TEST 1978860036 PARENT 762990 10-3月 -09
4 4 TEST 1978860036 PARENT 764885 10-3月 -09
5 5 TEST 1978860036 PARENT 765443 10-3月 -09
6 6 TEST 1978860036 PARENT 767488 10-3月 -09
7 7 TEST 1978860036 PARENT 771807 10-3月 -09
8 8 TEST 1978860036 PARENT 774320 10-3月 -09
9 9 TEST 1978860036 PARENT 779541 10-3月 -09
10 10 TEST 1978860036 PARENT 782000 10-3月 -09
11 11 TEST 1978860036 PARENT 783792 10-3月 -09
12 12 TEST 1978860036 CURRENT 801599 10-3月 -09 --此行原型(incarnation)号状态为current,即当前
所以,数据库的前一个(resetlogs之前)原型号为11.
我们重新启动数据库到mount状态(因为需要知道是重置哪个库,所以要挂载)
2.重置数据库到前一个原型(注意:此时的控制文件已经在前面的步骤中,还原到了适当的时间点。实际上,我们应该在nomount前还原控制文件)
RMAN> reset database to incarnation 11;
将数据库重置为原型 11
然后就可以进行恢复了。
原因是:系统恢复要用到日志文件 当重置日志号后,系统恢复时默认会使用日志号后的日志文件。当我们要恢复到日志号前的某个时间点的时候,那么肯定需要用到日志号前的日志,所以需要重置 原型号到“恢复指定时间点”之前的原型。