暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在Oracle中,RESETLOGS和NORESETLOGS的区别是什么?

DB宝 2017-07-18
1451



Q
题目如下所示:

在Oracle中,RESETLOGS和NORESETLOGS的区别是什么?


     

A
答案如下所示:


RESETLOGSNORESETLOGS主要用在个地方,第一是在创建控制文件的时候,第二是在打开数据库的时候。当将控制文件备份到TRACE文件时,可以看到里面包含了部分的重建语句,一个是使用RESETLOGS,另一个是使用NORESETLOGS

备份控制文件的SQL如下:

SQL>alter database backup controlfile to trace as '/home/oracle/cct_ctl_lhr.sql';

以下是重建控制文件的命令:

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "lhrdb" RESETLOGS  ARCHIVELOG

    MAXLOGFILES 16

    MAXLOGMEMBERS 3

    MAXDATAFILES 100

    MAXINSTANCES 8

    MAXLOGHISTORY 292

LOGFILE

  GROUP 1 '/u01/app/oracle/oradata/lhrdb/redo01.log'  SIZE 50M BLOCKSIZE 512,

  GROUP 2 '/u01/app/oracle/oradata/lhrdb/redo02.log'  SIZE 50M BLOCKSIZE 512,

  GROUP 3 '/u01/app/oracle/oradata/lhrdb/redo03.log'  SIZE 50M BLOCKSIZE 512

-- STANDBY LOGFILE

DATAFILE

  '/u01/app/oracle/oradata/lhrdb/system01.dbf',

  '/u01/app/oracle/oradata/lhrdb/sysaux01.dbf',

  '/u01/app/oracle/oradata/lhrdb/undotbs01.dbf',

  '/u01/app/oracle/oradata/lhrdb/users01.dbf',

  '/u01/app/oracle/oradata/lhrdb/example01.dbf'

CHARACTER SET ZHS16GBK

;

若当前的所有在线日志可用时,则在创建控制文件的时候使用NORESETLOGS。若当前的在线日志有所损坏时,则在创建控制文件的时候需要使用RESETLOGS。若使用RESETLOGS则将导致在线日志里的内容丢失,并且所有的备份失效。

在打开数据库的时候也可以使用RESETLOGSNORESETLOGS选项。在做了不完全恢复后,RESETLOGS会初始化日志,重置日志序列号(从1开始),并且创建一个新的INCARNATION。可以使用RMAN命令查看INCARNATION的信息:

RMAN> LIST INCARNATION;

做不完全恢复必须使用RESETLOGS,但是RESETLOGS也可以做完全恢复。而NORESETLOGS则必须是在做完全恢复时使用。RESETLOGS会重置日志序列号,强制清空或重建在线日志,而NORESETLOGS则不会这么做。



DB笔试面试历史连接

http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

About Me:小麦苗

 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

 版权所有,欢迎分享本文,转载请保留出处

 QQ:646634621  QQ群:230161599

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。


最后修改时间:2020-01-10 21:07:16
文章转载自DB宝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论