zoukankan      html  css  js  c++  java
  • ORA-00214: control file 控制文件版本不一致

    故障现象:
    今日学习oracle控制文件移动和修改,发现本机安装oracle数据库启动时只使用了一个控制文件。
    如下:SQL> select * from V$controlfile; 

    STATUS  NAME                 IS_ BLOCK_SIZE FILE_SIZE_BLKS
    ------- -------------------- --- ---------- --------------
            /opt/oracle/oradata/ NO       16384            450
            orcl/control02.ctl
    1、决定将控制文件01和03加入进去,于是执行命令那个如下:

    SQL> alter system set control_files = '/opt/oracle/oradata/orcl/control01.ctl',
      2  '/opt/oracle/oradata/orcl/control02.ctl',    
      3  '/opt/oracle/oradata/orcl/control03.ctl' SCOPE=SPFILE;

    System altered.

    2、关闭数据库 SQL> shutdown immediate;
    3、再次启动数据库,数据无法启动,报错ORA-00214如下:
    SQL> startup
    ORACLE instance started.

    Total System Global Area 1258291200 bytes
    Fixed Size                  1219160 bytes
    Variable Size             318768552 bytes
    Database Buffers          922746880 bytes
    Redo Buffers               15556608 bytes
    ORA-00214: control file '/opt/oracle/oradata/orcl/control02.ctl' version 599
    inconsistent with file '/opt/oracle/oradata/orcl/control01.ctl' version 541

    故障分析

    1、根据错误提示为控制文件版本不一致导致。控制文件原理为维护数据库的当前物理状态,为二进制的文件,数据库打开的时候控制文件一致变化。主要记录数据库名字、标示、当前日志SCN、表空间信息等。理论上3个控制文件应该一致。
    2、因为版本不一致,且控制文件2版本最新为version 599.

    故障解决

    1、在操作系统上,备份所有控制文件,同时使用控制文件control02.ctl覆盖重命名control01.ctl、control03.ctl,保证版本一致
    2、操作后,数据库启动正常,可以使用,问题解决。

     

  • 相关阅读:
    将数字转化为字符串
    给定一列数字将其平移n位
    判断回文数的问题
    c语言链表逆序的问题
    python中类属性和实例属性的区别
    python中__repr__()方法
    python中模块和包
    flask如何写一个model
    遍历文件夹下excel文件并且写入一个新excel
    python统计任务耗时
  • 原文地址:https://www.cnblogs.com/siyunianhua/p/4478939.html
Copyright © 2011-2022 走看看