简答题 11.  RESETLOGS和NORESETLOGS的区别是什么?
【正确答案】RESETLOGS和NORESETLOGS主要用在两个地方,第一是在创建控制文件的时候,第二是在打开数据库的时候。当将控制文件备份到TRACE文件时,可以看到里面包含了两部分的重建语句,一个是使用RESETLOGS,另一个是使用NORESETLOGS。
   备份控制文件的SQL如下:
   
   以下是重建控制文件的命令:
   
   
   若当前的所有在线日志可用,则在创建控制文件的时候使用NORESETLOGS。若当前的在线日志有所损坏时,则在创建控制文件的时候需要使用RESETLOGS。若使用RESETLOGS则将导致在线日志里的内容丢失,并且所有的备份失效。
   在打开数据库的时候也可以使用RESETLOGS或NOR_ESETLOGS选项。在做了不完全恢复后,RESETLOGS会初始化日志,重置日志序列号(从1开始),并且创建一个新的INCARNATION。可以使用RMAN命令查看INCARNATION的信息:
   
【答案解析】