当使用RESETLOGS选项打开数据库,数据库执行下面的操作:
n 归档当前的联机重做日志(如果它们可访问),删除联机重做日志的内容并且重置日志序号为1。
例,当使用RESETLOGS选项打开数据库的时,当前的联机重做日志序号为1000和1001,
则数据库会归档日志1000和1001,然后重置联机重做日志序号为1和2。
n 如果当前联机重做日志不存在,则创建它。
n 在控制文件中初始化redo线程记录和联机重做日志记录到新的数据库incarnation的开始。
特别是数据库会设置redo线程状态为关闭,然后在redo线程记录中设置当前的线程序号为1,
设置每个redo线程的线程检查点到序号为1的日志的开始,从每个线程选择一个重做日志并初始化它的序号为1
n 使用新的RESETLOGS SCN和时间戳更新所有的数据文件和联机重做日志,以及所有后序的归档重做日志文件。
因为数据库不会应用归档重做日志到数据文件,除非RESETLOGS SCN和时间戳匹配,所以这种RESETLOGS的要求,
可以防止你使用不是从当前的incarnation的直接父incarnation开始的归档日志破坏数据。
在以前的数据库版本中,建议在OPEN RESETLOGS之后立即备份数据库。
因为现在你可以像其它的备份一样,很容易地恢复一个以前的RESETLOGS的备份,所以做一个新的数据库备份现在是可选的。
通过RESETLOGS来执行恢复,必须具有在最近的备份之后产生的所有归档重做日志和至少一个控制文件(当前的、备份的、创建的)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1088456/ ,如需转载,请注明出处,否则将追究法律责任。