文档地址:http://docs.oracle.com/cd/B19306_01/backup.102/b14191/osrecov.htm#i1007426
About Opening with the RESETLOGS Option
The RESETLOGS
option is alwaysrequired after incomplete media recovery or recoveryusing a backup control file. Resetting the redo log does thefollowing:
-
Archives the current online redo logs (if they are accessible)and then erases the contents of the online redo logs and resets thelog sequence number to 1. For example, if the current online redologs are sequence 1000 and 1001 when you open
RESETLOGS
, then the database archives logs 1000 and1001 and then resets the online logs to sequence 1 and 2. -
Creates the online redo log files if they do not currentlyexist.
-
Reinitializes(--重新初始化) the control file metadata about onlineredo logs and redo threads.
-
Updates allcurrent datafiles and online redo logs and all subsequent archivedredo logs with a new
RESETLOGS
SCN
andtime stamp.
Because the database will not apply an archived log to adatafile unless the RESETLOGS
SCN
andtime stamps match, the RESETLOGS
prevents you fromcorrupting datafiles with archived logs that are not from directparent incarnations of the current incarnation.
In prior releases, it was recommended that you back up thedatabase immediately after the RESETLOGS
. Because youcan now easily recover a pre-RESETLOGS
backup like anyother backup, making a new database backup is optional. In order toperform recovery through resetlogs you must have all archived logsgenerated since the last backup and at least one control file(current, backup, or created).
Figure 18-1 shows the case of a database that can only berecovered to log sequence 2500 because an archived redo log ismissing. When the online redo log is at sequence 4000, the databasecrashes. You restore the sequence 1000 backup and prepare forcomplete recovery. Unfortunately, one of your archived logs iscorrupted. The log before the missing log contains sequence 2500,so you recover to this log sequence and openRESETLOGS
. As part of the RESETLOGS
, thedatabase archives the current online logs (sequence 4000 and 4001)and resets the log sequence to 1.
You generate changes in the new incarnation of thedatabase, eventually reaching log sequence 4000. The changesbetween sequence 2500 and sequence 4000 for the new incarnation ofthe database are different from the changes between sequence 2500and sequence 4000 for the old incarnation. You cannot apply logsgenerated after 2500 in the old incarnation to the newincarnation, but you can apply the logs generatedbefore sequence 2500 in the old incarnation to the newincarnation. The logs from after sequence 2500 are said to beorphaned in the new incarnation because they areunusable for recovery in that incarnation.
译文:你在数据库的新的场景里生成改变,最终到日志序列号4000.对于数据库新场景中的日志序列号为2500到4000的改变和老场景中2500到4000的改变是不一样的。你不能应用在老场景中生成的日志序列号为2500以后的日志到新场景中,但你能应用老场景的日志序列号为2500之前的日志(-----即是RESELOGS时之前的日志可以应用到RESETLOGS之后的数据库恢复中),应用到新的场景中。所以老场景中2500到4000的日志被称为“孤儿”,因为它对新场景无用。
--从上段文字可以知道:
Figure 18-1 Creating a NewDatabase Incarnation
![Description of Figure 18-1 follows Description of Figure 18-1 follows](https://i-blog.csdnimg.cn/blog_migrate/26b93e06a204a21d0d4551f9afe957d3.gif)
Description of "Figure 18-1Creating a New Database Incarnation"