• Oracle ORA1122, ORA1110, ORA1207 file is more recent than control file 处理方法


    在启动数据库的时候,我们可能会遇到如下错误:

    ORA-1122 :database file %s failedverification check

    ORA-1110 : datafile : 

    ORA-1207: ORA 1207 file is more recent thancontrol file

    ORA-1207的主要原因是因为数据库突然掉电,在重启的时候,就会容易遇到这种错误。

    MOS上对这个错误的解释如下:

    The informationin this file is inconsistent with information from the control file.

    The datafileheader CHECKPOINT count is beyond the controlfile CHECKPOINT count.

          

    控制文件中记录了整个数据库的全部信息,具体包括数据文件的,日志文件等等。

    在数据库运行期间,由于检查点发生等原因会不断的更新控制文件,同时数据库在关闭和重启过程中都会更新控制文件的内容,但是数据库服务器突然的掉电,会导致当前的db信息无法适时更新到控制文件中,再次启动数据库后,当oracle检测控制文件和其它文件信息是否一致时,就出现了这个错误。

    MOS上给出的解决方案是重建控制文件:

    1.Mount the database
    SQL> Startup mount

    2. Save the information from the control file:
    SQL> Alter database backup controlfile to trace;

    3. Create a control file creation script from the tracefile generated inuser_dump_dest.

    Use the Noresetlogs option

    --注意这里使用的是noresetlogs


    4. Shutdown the database and start it in NOMOUNT mode

    SQL> shutdown abort
    SQL> startup nomount

    5. Create the control file
    Use the script generated by the 'backup controlfile to trace' commandabove. 

    Please refer to:
    Note735106.1 - How to Recreate a Controlfile


    6.Recover the database
    SQL> recover database;


    7. Open the database
    SQL> Alter database open;

    注意:

    我们这里将控制文件的内容备份到trace文件里的前提条件是数据库必须是mount或者open状态,如果连mount都不行的话,我们生成控制文件就麻烦点了。

    SQL> Alter database backup controlfileto trace;

    在MOS的[ID 735106.1]里说明:

    如果没有控制文件的内容,我们也有两种方法来处理ORA-1207的错误,一是使用Restore的方式,另一个是从备份中找回控制文件,如果这2个都没有,我们就必须手工的写编写控制文件的内容。

    控制文件的内容是有一定格式的,我们只需要按照规定的格式创建就好了。

    具体内容参考:

    Oracle 控制文件

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

    重建控制文件后我们需要添加Temp表空间,并且留意是否存在只读的表空间,因为重建控制文件会影响到这2个表空间,更多内容参考:

    Oracle 重建控制文件 对 只读表空间 和 临时表空间 影响 测试

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

    参考:

    How to Recreate a Controlfile [ID 735106.1]

    ORA-1122, ORA-1110, ORA-1207 while open thedatabase after crash [ID 283927.1]

     

     

     

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

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

    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

    道森Oracle,国内最早、最大的网络语音培训机构,我们提供专业、优质的Oracle技术培训和服务! 我们的官方网站:http://www.daosenoracle.com 官方淘宝店:http://daosenpx.taobao.com/
  • 相关阅读:
    图片加载库Glide
    Home键和back键下 Activity的生命周期变化
    Fragment重叠问题
    Fragment与Activiy之间的交互
    android事件拦截处理机制详解 .--------转
    实现手机QQ的抖动效果
    点评点赞功能的基本实现------个人观点
    自定义侧滑菜单
    检查设备剩余内存
    StringByAppendingPathComponent和stringByAppendingString的区别
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609223.html
Copyright © 2020-2023  润新知