help about imcomplete oracle recovery

[复制链接]
查看11 | 回复4 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
请问一下,那位朋友能告诉一下:
 (1)、在incomplete recovery中,cancel-based这种类型的媒体恢复是恢复到什么时间点上或说是恢复到失败前的什么点上。
 (2)、为什么在这种恢复:Restore files to a different location过程中,在重建完CONTROL FILE后采用cancel-based类型的恢复,如下脚本中的语句:
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TEST"
  NORESETLOGS
  ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 254
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'SIZE 1M,
GROUP 2 'D:\ORACLE\ORADATA\TEST\REDO02.LOG'SIZE 1M,
GROUP 3 'D:\ORACLE\ORADATA\TEST\REDO03.LOG'SIZE 1M
DATAFILE
'D:\ORACLE\ORADATA\TEST\SYSTEM01.DBF',
'D:\ORACLE\ORADATA\TEST\RBS01.DBF',
'D:\ORACLE\ORADATA\TEST\USERS01.DBF',
'D:\ORACLE\ORADATA\TEST\TEMP01.DBF',
'D:\ORACLE\ORADATA\TEST\TOOLS01.DBF',
'D:\ORACLE\ORADATA\TEST\INDX01.DBF',
'D:\ORACLE\ORADATA\TEST\DATA01.DBF'
CHARACTER SET US7ASCII
;
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE;
# All logs need archiving and a log switch is needed.
ALTER SYSTEM ARCHIVE LOG ALL;
# Database can now be opened normally.
ALTER DATABASE OPEN RESETLOGS;
# No tempfile entries found to add.
#
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
I think the main purpose of cancel_based recovery is to recover the database which lost some archived log files or one nonarchived online redo file corrupt.So you can not get the exact time of the lost redo file.I think this method can be substituted by change_based recovery but it is more difficult.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
Thanks!franking2000,and can you providethe second question's answers
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
I am not sure why the cancel_based recovery is used.The possible reason is that you can not ensure how many online redo log files and archived redo log files can be used and whether these files exist or not be corrupted after the controlfile is corrupt and re-created.
What doyou think about this question?Tell me pls.Thx
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
第二个问题,我认为只不过是为了骗过Oracle,因为一定要有一次incomplete recovery,才可以用backup controlfile,以及open resetlogs,所以就用until cancel但是实际上什么也不做,一上来就cancel,让Oracle以为做了一次incomplete recovery。理论上until time或者until change也可以但是你既不知道时间也不知道SCN,只有cancel可以。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行