ORA-00214 控制文件版本不一致恢复过程
博客专区 > qhaiyan 的博客 > 博客详情
ORA-00214 控制文件版本不一致恢复过程
qhaiyan 发表于1年前
ORA-00214 控制文件版本不一致恢复过程
  • 发表于 1年前
  • 阅读 21
  • 收藏 1
  • 点赞 0
  • 评论 0
摘要: ORA-00214 控制文件版本不一致恢复过程

[@more @]

[oracle@spreader oracle]$ sqlplus /nolog
[uniread] Loaded history (2158 lines)

SQL*Plus: Release 10.1.0.2.0 - Production on Mon Feb 27 11:37:09 2006

Copyright (c) 1982, 2004, Oracle. All rights reserved.

SQL> connect / as sysdba
Connected.
SQL> startup
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162275532 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
ORA-00214: controlfile '/home/oracle/oradata/item/control01.ctl' version 10232896 inconsistent with file
'/home/oracle/oradata/item/control02.ctl' version 9190433

Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning and Data Mining options
[uniread] Saved history (2163 lines)

SQL> create pfile='/home/oracle/init.ora' from spfile;

File created.

编辑init.ora,把'/home/oracle/oradata/item/control02.ctl'去掉,然后再重启数据库

[oracle@spreader oracle]$ sqlplus /nolog
SQL> connect / as sysdba
Connected to an idle instance.
SQL> create spfile from pfile='/home/oracle/init.ora';
ERROR:
ORA-01034: ORACLE not available
File created.
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started.

Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162275532 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00214: controlfile '/home/oracle/oradata/item/control01.ctl' version 10232896 inconsistent with file
'/home/oracle/oradata/item/control03.ctl' version 9190433

再编辑init.ora,把'/home/oracle/oradata/item/control03.ctl'去掉,然后再按照上面步骤重启数据库

SQL> startup nomount;
ORACLE instance started.

Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162275532 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00227: corrupt block detected in controlfile: (block 175, # blocks 1)
ORA-00202: controlfile: '/home/oracle/oradata/item/control01.ctl'

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01507: database not mounted

唯一的控制文件都有问题了,FT,重新编辑init.ora文件,去掉控制文件一,而留下控制文件二和三,然后再重启数据库

SQL> startup nomount;
ORACLE instance started.

Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162275532 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
SQL> alter database mount;

Database altered.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-16038: log 2 sequence# 2136 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 2 thread 1: '/home/oracle/oradata/item/redo02.log'

这下可以MOUNT起来了,但是出现ORA-19809,这个简单,就是recovery files空间满了引起的,再整理下这个空间,然后alter database open 就行了。

步骤:

1 首先删除掉没必要的备份,例如归档日志

2 进入RMAN整理空间

[oracle@spreader oracle]$ rman
RMAN> connect target /
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;

 

共有 人打赏支持
粉丝 6
博文 107
码字总数 6553
×
qhaiyan
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: