- 浏览: 286335 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
Mirale:
mark, cute guy
linux下生成core dump文件方法及设置 -
u014442029:
先addNode 再startNode即可
was启动节点报没有server.xml文件错误 -
hyhai7:
mark , cool job
linux下生成core dump文件方法及设置 -
andyniu:
弄了接近2天。由于安装的虚拟机是建议版本的系统。很多包都没安装 ...
hadoop 2.2.0安装开发环境单机版本以及集群版本 -
cvics_ailk:
哇塞,楼主写的太好了,很好,很实用。里面的图片怎么看不了呢?
PLSQL developer 连接不上64位Oracle 解决办法一
在网上看的,感觉挺好,收藏啦。呵呵
一.创建控制文件时:Resetlogs和Noresetlogs
当我们将控制文件备份到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/NORESETLOGS ARCHIVELOG
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> list incarnation;
更多内容参考:
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 上对这个RESETLOGS和NORESETLOGS的说明:
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.
(2)RESETLOGS
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
一.创建控制文件时:Resetlogs和Noresetlogs
当我们将控制文件备份到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/NORESETLOGS ARCHIVELOG
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> list incarnation;
更多内容参考:
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 上对这个RESETLOGS和NORESETLOGS的说明:
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.
(2)RESETLOGS
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
发表评论
-
spool
2016-09-23 15:17 416set head off;set feed off;set d ... -
AIX crontab 不执行 以及 shell连数据库乱码
2016-09-23 10:12 8351、AIX 单独执行shell正常,放到crontab时 ... -
Oracle hang 之sqlplus -prelim使用方法
2015-05-20 16:50 1237很多情况下,Oracle hang导致sqlplus无法连接 ... -
ORACLE 11.2静默安装
2015-04-25 10:19 904yum install gcc make b ... -
如何释放v$session 中status='KILLED'的进程
2015-01-15 16:29 1285如何释放v$session 中status='KILLED ... -
Job特性及解决时间偏移
2014-10-27 15:26 7611、创建Job variable jobno n ... -
ORA-00119和ORA-00132的解决方案
2014-10-22 14:05 735今天在启动服务器上的ORACLE时遇到如下错误: SQL& ... -
oracle调用java
2014-08-19 18:02 599exec dbms_java.grant_permission ... -
DB CPU和latch: cache buffers chains
2014-05-23 10:24 621最近数据库主机CPU使用率很高,通过nmon监控工具发现CP ... -
【转贴】oracle参数open_cursors和session_cached_cursor详解!
2014-05-18 13:55 1377SQL> show parameter open_ ... -
ORACLE 中 PROFILE的管理
2014-04-29 15:19 1214PROFILE的管理(资源文件) 当需要设置资源 ... -
PLSQL developer 连接不上64位Oracle 解决办法一
2014-04-02 17:14 1478PLSQL developer 连接不上64位Oracle ... -
oracle10g和11g关于角色口令的区别
2014-03-26 16:57 673角色是一组相关权限的命名集合,使用角色最主要的目的是简化权限 ... -
ORA-28000: the account is locked-的解决办法
2014-02-28 21:07 786ORA-28000: the account is loc ... -
ORCLE lightweight jobs
2013-12-04 11:25 740OCP题库 Q11. Which ... -
Oracle oradebug 命令 使用说明
2013-11-06 14:40 1063当数据库出现一些挂起状态时,如果sqlplus仍然可以连接, ... -
rac下的TS enq解决方案–适用于rac数据仓库环境
2013-11-01 14:35 1013公司里面有一个12nodes的rac环境来跑数据仓库的应用, ... -
ORACLE 11g基本参数配置
2013-10-18 14:56 777如果采用自动共享内存管理技术,则如下设置: 对于OLTP系 ... -
Oracle 11g 新特性:只读表(Read-only)
2013-10-16 10:32 1523在Oracle 11g前的版本中,若想对表设置为只读,可以通 ... -
Oracle服务器如何科学组织RAID阵列
2013-10-12 15:36 730我们在部署服务器时通常都免不了RAID阵列级别的选择,RAI ...
相关推荐
通过深入学习和实践上述知识点,数据库管理员可以在遇到数据库恢复需求时,更加熟练地运用resetlogs操作,有效地进行Oracle数据库的备份和恢复,确保数据的安全性和可靠性。同时,随着Oracle数据库技术的不断发展,...
在创建控制文件时,需要注意一些关键参数的使用,如RESETLOGS和NORESETLOGS,它们分别用于控制是否重置重做日志。 DBCA(Database Configuration Assistant)是Oracle提供的图形化工具,可以用来创建、配置和管理...
这将导致“ORA-01589: must use RESETLOGS or NORESETLOGS option for database open”错误。为解决这个问题,需要使用`ALTER DATABASE OPEN RESETLOGS;`命令来重置重做日志序列,这样系统会从序列1重新开始,并忽略...
数据库在重启后尝试打开时,出现了ORA-01589错误,提示必须使用RESETLOGS或NORESETLOGS选项进行数据库打开。这通常意味着数据库在异常关闭后需要进行介质恢复(Media Recovery),并且日志文件的状态可能已经不一致...
在数据文件和控制文件都损坏的情况下,结合`resetlogs`或`noresetlogs`策略可以尝试恢复,但`shutdown abort`可能需要更复杂的处理。 5. 当控制文件损坏,同时活动在线日志也损坏时,恢复操作会更加复杂。对于正常`...
根据给定的Oracle相关命令和描述,我们可以总结出以下关键知识点: ### Oracle系统参数与内存管理 1. **查看系统参数** - `show parameters ga;`:这应该是`show parameters`的一个错误输入,用于显示当前数据库...
- **示例**:提供了两个示例,一个是不重置日志文件序列号(NORESETLOGS),另一个是重置日志文件序列号(RESETLOGS)。 #### 四、创建控制文件后的故障排除(Troubleshooting After Creating Control Files) - *...
- 备份控制文件并生成追踪文件:`alter database backup controlfile to trace [resetlogs | noresetlogs];` **控制文件恢复** 如果控制文件损坏或丢失,可以通过以下步骤进行恢复: 1. 恢复控制文件之前,应先...
以上就是Oracle数据库在无备份情况下面对各种场景的恢复策略,这些方法需要在充分理解数据库结构和状态的基础上谨慎操作,以防进一步损害数据库的完整性。在实际操作中,建议在有经验的数据库管理员指导下进行,或在...
在Oracle数据库管理中,备份和恢复是非常重要的环节。根据数据库的工作模式不同,备份策略也会有所不同。通常,Oracle数据库有两种工作模式:非归档模式(No Archivelog Mode)和归档模式(Archivelog Mode)。 ###...
Oracle恢复手册主要关注的是在Oracle数据库遇到问题时如何恢复数据和系统。这涉及到不同类型的恢复操作,包括系统表空间数据文件恢复、非系统表空间数据文件恢复以及联机日志文件的恢复。以下是对这些恢复过程的详细...
在Oracle数据库系统中,物理结构包括控制文件、数据文件和重做日志文件等关键组件。 控制文件是Oracle数据库的核心元素之一,它记录并维护了数据库的物理结构和状态信息。当数据库启动时,Oracle会根据初始化参数`...
2. **无法打开数据库**:尝试使用`ALTER DATABASE OPEN`命令时,收到了ORA-01589错误,提示需要使用`RESETLOGS`或`NORESETLOGS`选项。 3. **数据文件损坏**:进一步尝试使用`ALTER DATABASE OPEN RESETLOGS`命令时,...