`
sjk2013
  • 浏览: 2187120 次
文章分类
社区版块
存档分类
最新评论

Oracle RESETLOGS 和 NORESETLOGS 区别说明

 
阅读更多

一.创建控制文件时:ResetlogsNoresetlogs

当我们将控制文件备份到trace 文件时,可以看到里面包含了2部分的重建语句,一个是使用resetlogs,另一个是使用noresetlogs。

备份控制文件的SQL 如下:

SQL>alterdatabase backup controlfile to trace

有关控制文件的详细说明,参考:

Oracle 控制文件

http://blog.csdn.net/tianlesoftware/article/details/4974440

Set #1. NORESETLOGS case

The followingcommands will create a new control file and use it to open the database. Dataused by Recovery Manager will be lost.

Additional logsmay be required for media recovery of offline.

Use this only ifthe current versions of all online logs are available.

--使用noresetlogs仅是当前所有的online logs可用时。

Set #2. RESETLOGS case

The followingcommands will create a new control file and use it to open the database. Dataused by Recovery Manager will be lost.

The contents ofonline logs will be lost and all backups will be invalidated. Use this only ifonline logs are damaged.

--使用resetlogs,将导致online logs里的内容丢失,并且所有的备份失效,仅当online logs 随坏的情况下,才使用resetlos模式。

CREATE CONTROLFILE REUSE DATABASE"DAVE" RESETLOGS/NORESETLOGSARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 2

MAXDATAFILES 30

MAXINSTANCES 1

MAXLOGHISTORY 292

LOGFILE

GROUP 1'/u01/app/oracle/oradata/dave/redo01.log'SIZE 50M,

GROUP 2'/u01/app/oracle/oradata/dave/redo02.log'SIZE 50M,

GROUP 3'/u01/app/oracle/oradata/dave/redo03.log'SIZE 50M

-- STANDBY LOGFILE

DATAFILE

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

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

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

'/u01/app/oracle/oradata/dave/users01.dbf'

CHARACTER SET ZHS16GBK

;

二.打开数据库时:Resetlogs Noresetlogs

2.1 说明

Use RESETLOGSafter incomplete recovery (when the entire redo stream wasn't applied).RESETLOGS will initialize the logs, reset your log sequence number, and start anew "incarnation" of the database.
--RESETLOGS会初始化logs,重置log sequence号,创建一个新的incarnation

Use NORESETLOGSwhen doing complete recovery (when the entire redo stream was applied). Oraclewill continue using the existing (valid) log files.

--NORESETLOGS 会继续使用已经存在,且有效的log files

可以使用RMAN命令查看incarnation的信息:

RMAN>listincarnation;

更多内容参考:

RMAN 系列(八)---- RMAN List和report命令

http://blog.csdn.net/tianlesoftware/article/details/5728116

Oracle Rman跨resetlogs版本恢复

http://blog.csdn.net/tianlesoftware/article/details/4682463

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

2.2 MOS 上对这个RESETLOGSNORESETLOGS的说明:

Physical Backup and Recovery: An Insider'sPerspective [ID 16530.1]:

After recoverdatabase operation, open the database with: ALTER DATABASE OPEN [NO]RESETLOGS

(1) NORESETLOGS

The NORESETLOGSoption does not clear the redo log files during startup and the online redologs to be used for recovery. Only used in scenario where MANUAL RECOVERY isstarted, CANCEL is used, and then RECOVER DATABASE is started.

2RESETLOGS

CAUTION: Never use RESETLOGS unlessnecessary.

Once RESETLOGS is used then the redo logfiles cannot be used and any completed transactions in those redo logs arelost!!

Before using the RESETLOGS option take anoffline backup of the database.

The RESETLOGSoption clears all the online redo logs and modifies all the online data filesto indicate no recovery is needed. After resetting the redo logs none of theexisting log files or data file backups can be used.

In the control file, the log sequence number is modified,which is very important for recovery purposes. Therecovery will be applied only to the log files whose sequence number is greaterthan log sequence number in the control file. One has to be very cautious whenusing RESETLOGS option. It is important to remember that all datafiles must beonline otherwise they will become useless once the database is up。

2.3 几种情况的说明

(1) 第一种情况

假设仅仅控制文件丢失,而其他文件没有丢失(主要是归档和REDO),那么恢复的时候如果选择从备份中恢复控制文件。恢复后,控制文件会去读数据文件头中与CHECKPOINT SCN对应的RBA信息来确定从那个序列的归档日志开始恢复,一直推进恢复到NEXT SCN是无穷大的那个REDOLOG,此时恢复是完全恢复的,但打开的时候还要以resetlogs方式打开,这样要重置归档日志的sequence,也就是说,如果你恢复时使用了备份控制文件,那么打开数据库时必然是要resetlogs的。

不完全恢复时是必须RESETLOGS,但是完全恢复时如果使用备份控制文件来恢复,那么使用RESETLOGS一样可以完全恢复。但是丢失控制文件也可以不使用RESETLOGS方式打开数据库,这样也就可以避免重置日志序列号带来的不变,详情请见第四种情况。

(2) 第二种情况

不完全恢复,不管是要什么样的不完全恢复,SCN,TIME,跨越REDO,都必须使用resetlogs。


(3) 第三种情况

丢失REDOLOG,这就更需要resetlogs了,因为resetlogs能够重建REDOLOG。如果你的REDOLOG、控制文件、数据文件丢失的话,需要先恢复控制文件,然后restore database;recover database;alter database open resetlogs;

注意,这时候做的是不完全恢复,因为REDO没有了。在recover过程中可能会报错然后自动退出RMAN,无视,alter database open resetlogs即可,

(4) 第四种情况

没有丢失控制文件及各种日志,仅丢失数据文件,这种问题比较常见,有可能磁盘损坏造成数据文件丢失,等磁盘故障排除后,需要恢复,此时的恢复就很简单了,restore database;recover database;alter database open;就一切OK,也就是说,在不使用备份控制文件恢复的情况下,是可以使用noresetlog方式打开数据库的。

前提有一,不能丢失日志文件。假若丢失了控制文件和数据文件但还是想以noresetlog打开的话,就必须手动以noresetlogs方式重建控制文件,而且REDOLOG的状态都必须正常,否则是无法使用noresetlogs方式打开。

几种情况的分析转自一下Blog:

http://space.itpub.net/16628454/viewspace-524593

-------------------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Skype: tianlesoftware

QQ: tianlesoftware@gmail.com

Email: tianlesoftware@gmail.com

Blog: http://www.tianlesoftware.com

Weibo: http://weibo.com/tianlesoftware

Twitter: http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

DBA1 群:62697716(满); DBA2 群:62697977(满)DBA3 群:62697850(满)

DBA 超级群:63306533(满); DBA4 群:83829929 DBA5群: 142216823

DBA6 群:158654907 DBA7 群:172855474 DBA总群:104207940

分享到:
评论

相关推荐

    Open resetlogs操作对Oracle数据库恢复的影响.pdf

    Open resetlogs操作对Oracle数据库恢复的影响.pdf

    Oracle数据库恢复教程之resetlogs操作

    如果是一名合格的Oracle DBA,对resetlogs这种关键字都应该是极其敏感的,当确认需要这种操作时一定要三思而后行,如果自己不是特别确认,哪怕多花些时间申请去让高级DBA人员协助你一起确认,也不要擅自去尝试执行,...

    睿备份-oracle备份工具.zip

    可以支持oracle mysql sqlserver自动备份,mysql sqlserver恢复; oracle恢复: cmd rman target \ shutdown immediate; startup mount; restore database until time "to_date('2019-08-19 08:49:00','yyyy-mm-dd ...

    Oracle Recovery Tools-最新版

    3. 查看和修改某个block内容 4. 修改文件头scn(checkpoint scn) 5. 修改文件头resetlogs scn 6. 修改文件头fuzzy标记 7. 不同文件之间数据块拷贝 8. 修改oracle进程内存中内容,常见使用于修改oracle scn等

    Oracle Recovery Tools-202207版

    3. 查看和修改某个block内容 4. 修改文件头scn(checkpoint scn) 5. 修改文件头resetlogs scn 6. 修改文件头fuzzy标记 7. 不同文件之间数据块拷贝 8. 修改oracle进程内存中内容,常见使用于修改oracle scn等

    Oracle Recovery Tools 使用说明

    修复数据文件头 resetlogs 信息 .............................................................................................4 修复数据文件头 fuzzy 信息 ....................................................

    Oracle Recovery Tools-202208版本

    oracle数据块修复工具 修复单个block 坏块 标记单个block为坏块 查看数据块内容 修改数据块中数据 修复数据文件头SCN信息 修复数据文件头resetlogs 信息 修复数据文件头fuzzy信息 数据块拷贝

    在redolog都丢失的情况下,使用隐藏参数,尝试以open resetlogs的方式打开数据库.txt

    在redolog都丢失的情况下,使用隐藏参数,尝试以open resetlogs的方式打开数据库.txt

    oracle中FLASHBACK

    FLASHBACK DATABASE flashback data1base闪回到过去的某一时刻 闪回点之后的所有工作都将丢失 必须使用resetlogs创建新的场景并打开数据库(一旦resetlogs之后,将不能再闪回至resetlogs之前的时间点) .......

    oracle备份恢复五个案例

    恢复案例一:恢复个别表空间或者数据文件 恢复案例二:恢复控制文件 恢复案例三:恢复参数文件 恢复案例四:全库恢复 恢复案例五:隐含参数_allow_resetlogs_corruption的使用

    Oracle数据库实验操作

    实验113:不完全恢复,resetlogs后的再次恢复 203 实验114:表空间的传送 203 实验115:整个数据库的闪回 203 Rman备份和恢复 204 实验116:rman的连接,report和list命令 204 实验117:rman的copy命令 205 实验118...

    某大厂hrecp系统TSM备份恢复oracle手册

    2.1 备份ORACLE数据文件 5 2.2 数据库全备份 5 2.3 删除过期备份 6 2.4 数据库增量备份 6 2.5 查看已备份的数据 7 2.6 现阶段数据库备份脚本展示 7 3.数据库恢复操作 7 3.1 恢复前准备 7 3.2 恢复SPFILE文件 8 3.3 ...

    Oracle RAC集群转单实例/RMAN异机恢复/RMAN迁移/RMAN备份恢复操作概要

    说明:本文为Oracle RAC集群转单实例/RMAN异机恢复/RMAN迁移/RMAN备份恢复操作概要方便用户查阅 温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化 步骤 –全库备份(最好停止业务...

    rman恢复方案和oracle异机恢复

    在恢复时候丢失部分数据的恢复③在linux下需要设置环境变量,即需要恢复的oracle数据库的实例名:export ORACLE_SID=orcl④当用resetlogs启动数据库时,应该要对数据库进行一次全备份 一、恢复方案1、丢失数据文件,...

    误删除了Oracle的dbf文件后的解决方法

     误删除Oracle数据库的dbf文件,在启动和关闭数据库是会提示错误。  startup启动数据库时提示:  ORA-01157:无法标识/锁定数据文件  ORA-01110:数据文件:‘……/X1000_1.dbf' 未找到  解决方法:  1...

    ORA-00392ORA-00312日志正在清除故障

    最近在还原Oracle数据库后open的时候碰到了ORA-00392: log 3 of thread 1 is being cleared, operation not allowed,其字面含义则是日志文件正在被清除,不允许操作。 通常情况下,当我们基于不完全恢复的时候,...

    RMAN测试演练即讲解

    一、 Oracle数据库的备份分为物理备份和逻辑备份。今天测试整理下物理备份Rman,也就是oracle的恢复管理器(Recovery Manager)。 毕竟逻辑备份是不能实现时间点恢复的,所以生产数据库肯定用物理备份来保证灾难时...

    PS_ResetLogs:在重新生成日志文件之前,重置日志文件(可选),并通过电子邮件发送(可选)

    重置日志 什么是重置日志 Reset-Logs是一个小的实用程序,它接收一个日志文件(不能锁定),并且 [可选]以其他名称将其移至已存档状态 [可选]通过电子邮件将其发送到特定地址 使用[Optional]标头重新创建 ...

    RAC数据库恢复到单实例数据库

    RAC数据库恢复到单实例数据库的基本步骤如下:  a.准备单实例服务器,pfile文件,启动到nomount  b.备份rac数据库  c....  d....  e.resetlogs打开数据库 ...测试环境:RHEL4u7、oracle 10gR2、ASM、2节

Global site tag (gtag.js) - Google Analytics