首页 > 开发 > 综合 > 正文

control_files error ORA-01122 ORA-00214(原创)

2024-07-21 02:09:45
字体:
来源:转载
供稿:网友
中国最大的web开发资源网站及技术社区,

昨天公司数据库出现问题,由于断电(oracle 处于open状态下),导致数据库启动时报错ora-00214: controlfile ‘d:/oracle/oradata/orcl/control01.ctl’ version 57460 inconsistent with file  d:/oracle/oradata/orcl/control02.ctl’ version 57452.
ora-01122 atabase file1 failed verfication check

这个是由于控制文件版本不同导致。在数据库设计的过程中,从安全的角度考虑,系统使用了三个镜像的控制文件,现在三个控制文件version号不一致,所以数据库instance启动时报错。

我首先备份了控制文件,启动了数据库到nomount状态下,分别指定系统控制文件为三个中的其中一个
alter system set control_files='f:/oracle/oradata/oracas/control01.ctl' 
scope=spfile
然后启动数据库到mount状态下,如果还是报错,就指定下一个

alter system set control_files='f:/oracle/oradata/oracas/control02.ctl' 
scope=spfile
然后启动数据库到mount状态下,如果还是报错,就指定下一个

alter system set control_files='f:/oracle/oradata/oracas/control03.ctl' 
scope=spfile

只要上面三次操作中有一次成功,就可以用那个成功的控制文件来重新作出另外两个控制文件。

如果三次操作都不成功,就是说这三个控制文件都不好使了,这时候需要建立新的控制文件

步骤如下:
1、alter database backup controlfile to trace;
这时候会在udump目录下生成sid_ora_*.trc文件,根据你是在归档还是非归档模式下,选择一段内容
建立创建脚本
我是在非归档模式下,选择第一段内容
2)根据得到的trc文件建立ora.sql内容如下:
create controlfile reuse database "oracas" noresetlogs  noarchivelog
    maxlogfiles 50
    maxlogmembers 5
    maxdatafiles 100
    maxinstances 1
    maxloghistory 226
logfile
  group 2 'f:/oracle/oradata/oracas/redo02.log'  size 100m,
  group 3 'f:/oracle/oradata/oracas/redo03.log'  size 100m
datafile
  'f:/oracle/oradata/oracas ystem01.dbf',
  'f:/oracle/oradata/oracas/undotbs01.dbf',
  'f:/oracle/oradata/oracas/cwmlite01.dbf',
  'f:/oracle/oradata/oracas/drsys01.dbf',
  'f:/oracle/oradata/oracas/example01.dbf',
  'f:/oracle/oradata/oracas/indx01.dbf',
  'f:/oracle/oradata/oracas/odm01.dbf',
  'f:/oracle/oradata/oracas/tools01.dbf',
  'f:/oracle/oradata/oracas/users01.dbf',
  'f:/oracle/oradata/oracas/xdb01.dbf'
character set zhs16gbk
;
startup nomount,然后执行ora.sql,。
成功以后,尝试打开数据库,失败,需要进行media recovery;
recover dadafile   'f:/oracle/oradata/oracas ystem01.dbf',
......
全部恢复以后,就可以启动数据库,alter database open noresetlog;
再重新给生成的控制文件做镜像就可以了。
由于是昨天做的操作,可能有些细节步骤没有写上来,但是大体上就是这样了^_^





发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表