`

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

    通过深入学习和实践上述知识点,数据库管理员可以在遇到数据库恢复需求时,更加熟练地运用resetlogs操作,有效地进行Oracle数据库的备份和恢复,确保数据的安全性和可靠性。同时,随着Oracle数据库技术的不断发展,...

    Oracle备份与恢复讲义(3)

    在创建控制文件时,需要注意一些关键参数的使用,如RESETLOGS和NORESETLOGS,它们分别用于控制是否重置重做日志。 DBCA(Database Configuration Assistant)是Oracle提供的图形化工具,可以用来创建、配置和管理...

    BE oracle数据库还原注意事项.docx

    这将导致“ORA-01589: must use RESETLOGS or NORESETLOGS option for database open”错误。为解决这个问题,需要使用`ALTER DATABASE OPEN RESETLOGS;`命令来重置重做日志序列,这样系统会从序列1重新开始,并忽略...

    案例解决:一次oracle掉电的处理过程

    数据库在重启后尝试打开时,出现了ORA-01589错误,提示必须使用RESETLOGS或NORESETLOGS选项进行数据库打开。这通常意味着数据库在异常关闭后需要进行介质恢复(Media Recovery),并且日志文件的状态可能已经不一致...

    ORACLE备份恢复

    在数据文件和控制文件都损坏的情况下,结合`resetlogs`或`noresetlogs`策略可以尝试恢复,但`shutdown abort`可能需要更复杂的处理。 5. 当控制文件损坏,同时活动在线日志也损坏时,恢复操作会更加复杂。对于正常`...

    oracle总结

    根据给定的Oracle相关命令和描述,我们可以总结出以下关键知识点: ### Oracle系统参数与内存管理 1. **查看系统参数** - `show parameters ga;`:这应该是`show parameters`的一个错误输入,用于显示当前数据库...

    Oracle 12c 12.1.0.1.0管理控制文件官方文档翻译说明(一抹曦阳)

    - **示例**:提供了两个示例,一个是不重置日志文件序列号(NORESETLOGS),另一个是重置日志文件序列号(RESETLOGS)。 #### 四、创建控制文件后的故障排除(Troubleshooting After Creating Control Files) - *...

    ORACLE之FAQ -- 备份与恢复

    - 备份控制文件并生成追踪文件:`alter database backup controlfile to trace [resetlogs | noresetlogs];` **控制文件恢复** 如果控制文件损坏或丢失,可以通过以下步骤进行恢复: 1. 恢复控制文件之前,应先...

    oracle无备份回复各种场景处理

    以上就是Oracle数据库在无备份情况下面对各种场景的恢复策略,这些方法需要在充分理解数据库结构和状态的基础上谨慎操作,以防进一步损害数据库的完整性。在实际操作中,建议在有经验的数据库管理员指导下进行,或在...

    Oracle备份恢复-非归档&归档学习手册

    在Oracle数据库管理中,备份和恢复是非常重要的环节。根据数据库的工作模式不同,备份策略也会有所不同。通常,Oracle数据库有两种工作模式:非归档模式(No Archivelog Mode)和归档模式(Archivelog Mode)。 ###...

    oracle恢复手册

    Oracle恢复手册主要关注的是在Oracle数据库遇到问题时如何恢复数据和系统。这涉及到不同类型的恢复操作,包括系统表空间数据文件恢复、非系统表空间数据文件恢复以及联机日志文件的恢复。以下是对这些恢复过程的详细...

    数据库的物理结构(4).ppt

    在Oracle数据库系统中,物理结构包括控制文件、数据文件和重做日志文件等关键组件。 控制文件是Oracle数据库的核心元素之一,它记录并维护了数据库的物理结构和状态信息。当数据库启动时,Oracle会根据初始化参数`...

    非归档模式system表空间损坏数据库恢复.docx

    2. **无法打开数据库**:尝试使用`ALTER DATABASE OPEN`命令时,收到了ORA-01589错误,提示需要使用`RESETLOGS`或`NORESETLOGS`选项。 3. **数据文件损坏**:进一步尝试使用`ALTER DATABASE OPEN RESETLOGS`命令时,...

Global site tag (gtag.js) - Google Analytics