li
  当前位置:主页 > 配置管理 > 文章内容
li
疑惑解答:重建控制文件示疑
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2007-12-20   阅读:28  

Reuse noresetlogs

一般用于控制文件损坏,但是redo file完好的情况下,重建控制文件的方式。

 

Reuse resetlogs

一般用于重建控制文件,同时redo file遭到破坏的情况下,用此参数创建控制文件后,最后必须以alter database open resetlogs打开数据库。

IXDBA.NET社区论坛

 

Set  resetlogs

一般用于数据库异常关闭,重建控制文件,同时redo file遭到破坏的情况下,用此参数创建控制文件后,最后必须以alter database open resetlogs打开数据库。

 

重建控制文件的时候,使用noresetlogs方式 创建的控制文件中scn是从redo log中获得,使用resetlogs方式 创建的控制文件中scn是从datafile中获得。

因此,利用noresetlogs方式创建的控制文件,在数据库恢复的时候无需手动指定恢复日志,oracle会根据从redo file中读取的scn自动完成恢复,我们只需执行recover databaseoracle来自动完成恢复。

利用resetlogs方式创建控制文件,其实就是告诉oracle,“我的redo file有问题了,不能完成恢复,于是oracle在创建控制文件的时候直接从现有的数据文件读取每个数据文件的scn,数据文件信息也到此为止了,不能继续向下恢复了”,因此,oracle在打开数据库时刻会清空所有redo file日志文件,redo file seq0重新开始.

有时我们在数据文件丢失后,没有直接去创建控制文件,而是拿备份的控制文件进行恢复,此时在恢复的时候,oracle恢复进程会首先读取每个数据文件的scn,其实也就是 on low rba,并且恢复到此处为止,此时oracle会自动去应用归档日志,归档应用完毕,oracle自动恢复停止,此时恢复到了每个数据文件的scn值。

但是要做到完全恢复,这些还是不够的,因为还有部分数据操作仍在redo file中,这些操作记录可能还没有写入数据文件。此时如果redo损坏,就不能完全恢复数据,如果所有redo完好,要手动指定redo file,具体指定哪个,可以一个一个去试,直到完成完全恢复。

类似操作如下:

SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 25546853 (? 03/20/2003 11:51:40 ??) ???? 1 ????
ORA-00289: ??: E:\ORACLE\ORA81\RDBMS\ARC00002.001
ORA-00280: ?? 25546853 ???? 1 ???? # 2 ???

指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
'E:\ORACLE\ORADATA\BILLY\REDO03.LOG'
ORA-00310: ???????? 1????? 2
ORA-00334: ????: 'E:\ORACLE\ORADATA\BILLY\REDO03.LOG'

ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ???????
ORA-01194: ??1?????????????
ORA-01110: ???? 1: 'E:\ORACLE\ORADATA\BILLY\SYSTEM01.DBF'

SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 25546853 (? 03/20/2003 11:51:40 ??) ???? 1 ????
ORA-00289: ??: E:\ORACLE\ORA81\RDBMS\ARC00002.001
ORA-00280: ?? 25546853 ???? 1 ???? # 2 ???

指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
'E:\ORACLE\ORADATA\BILLY\REDO01.LOG'
已应用的日志。
完成介质恢复。
SQL> alter database open resetlogs;

其实不建议用老的控制文件恢复数据就是由于还要手工指定恢复文件redo file,最后还要resetlogs 打开数据库。




  上一篇: 字符集专题:数据库乱码的原因与...   下一篇: Oracle10g特性:Recycle Bin回收站
li
 §相关评论  
 热点文章

·oracle Logfile的不同状态说明
·Oracle数据库的一些常用操作经
·Oracle10g(10.2) 在Redhat AS4
·oracle工具:浅谈LogMiner的使用
·RHAD AS4 上安装 Oracle 数据库
·oracle基础知识(物理结构)
·oracle基础:Oracle中null的使用
·Oracle常用基本语法操作集锦
·oracle数据库查询前台正在发出
·AIX+ORACLE10G安装手册
·oracle数据库9i升级到oracle10
li
 编辑推荐
·oracle Logfile的不同状态说明
·Oracle数据库的一些常用操作经
·Oracle10g(10.2) 在Redhat AS4
·oracle工具:浅谈LogMiner的使用
·RHAD AS4 上安装 Oracle 数据库
·oracle基础知识(物理结构)
·oracle基础:Oracle中null的使用
·Oracle常用基本语法操作集锦
·oracle数据库查询前台正在发出
·AIX+ORACLE10G安装手册
·oracle数据库9i升级到oracle10
li
 相关篇章
·字符集专题:数据库乱码的原因与...
·安装篇推荐:oracle9i安装综合以...
·Oracle10g在Redhat AS4u2 x86_64...
·手动创建oracle9i数据库具体步骤
·Oracle登录认证方式探讨
·Oracle预定义角色有哪些?
·Oracle 9i轻松取得建表和索引的D...
·Oracle 9i初始化参数文件详解
·Oracle入门基本知识一点通
·推荐阅读:成就DBA职业生涯
·Oracle10g特性:Recycle Bin回收站
·oracle基本操作:启动/关闭数据库...
·新手强烈推荐:linux+oracle全程...
·DBA手册:Oracle数据库维护步骤
·oracle扫盲篇:Oracle基本概念
·oracle知识总结:ORACLE问题与解...
·概念篇:理解oracle中连接和会话
·经典的ORACLE培训文档
·oracle学习:oracle的学习历程
·关于数据库管理员的验证小结
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接