美文网首页
oracle故障案例一 ORA-00214:

oracle故障案例一 ORA-00214:

作者: 苏水的北 | 来源:发表于2020-11-19 10:05 被阅读0次

1、故障报错:

由于数据库非正常关闭,在启动数据库的时候报错,错误如下ORA-00214:

SQL> shutdown abort
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 1185853440 bytes
Fixed Size                  2252664 bytes
Variable Size             956301448 bytes
Database Buffers          218103808 bytes
Redo Buffers                9195520 bytes
ORA-00214: control file '/ora_flash/pwspdb/control02.ctl' version 1323
inconsistent with file '/ora_data/pwspdb/control01.ctl' version 1298

为什么会出现这个报错?查询后得知:

该错误一般出现的原因:

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

错误现象:

在mount数据库时,会跑出如下错误:ORA-00214: controlfile '/home/oracle/oradata/item/control01.ctl' version 10232896 inconsistent with file
'/home/oracle/oradata/item/control02.ctl' version 9190433

由于Oracle中二个控制文件互为镜像关系,正常情况下二个文件的内容是一致的,但是由于突然掉电会有可能导致二个文件没有完全同步,而出现了数据不一致的情况。数据库在mount时,会加载并检查这二个文件(Oracle根据初始化参数文件中的设定来决定检查几个参数文件)和数据文件的SCN的一致性。

2、处理过程如下:

(二个控制文件中若有一个控制文件的SCN是与数据文件的SCN保持一致,即可以正常将数据库启动,此时,只需要将另外一个文件从Oracle的初始化参数文件中的设定中移除即可)

2.1先对数据库进行关闭:

SQL> conn sys/wuxin as sysdba
Connected.
SQL> shutdown abort
ORACLE instance shut down.

2.2复制之前备份过的数据文件、控制文件、动态初始化参数文件、重做日志文件等(具体复制那些文件可根据实际情况而定)
SQL> host cp /backup/*.dbf  /ora_data/pwspdb/

SQL> host cp /backup/*.log   /ora_data/pwspdb/

SQL> host cp /backup/*.ctl   /ora_data/pwspdb/

SQL> host cp /backup/dbs/spfilepwspdb.ora   /oracle/product/11.2.0/db_1/dbs/

SQL> host cp /backup/disk2/pioneer_data.dbf /datatest/tablespace/

SQL> host cp /backup/disk4/pioneer_indx.dbf   /datatest/tablespace/
2.3因为之前备份过动态初始化参数文件,所以先用动态初始化参数文件生成静态初始化参数文件:
SQL> show user;
USER is "SYS"
SQL>  create pfile='/oracle/product/11.2.0/db_1/dbs/init.ora' from spfile;

File created.
2.4编辑静态初始化参数文件init.ora,把control02.ctl控制文件去掉:
2.5利用修改过的静态初始化参数文件生成新的动态初始化参数文件:
SQL> create spfile from pfile='/oracle/product/11.2.0/db_1/dbs/init.ora';

File created.
2.6启动数据库:
SQL> startup nomount        --启动实例,但不加载数据库
ORACLE instance started.

Total System Global Area 1185853440 bytes
Fixed Size                  2252664 bytes
Variable Size             956301448 bytes
Database Buffers          218103808 bytes
Redo Buffers                9195520 bytes
SQL> alter database mount;       --加载数据库

Database altered.

SQL> alter database open;         --打开数据库

Database altered.
2.7连接pjinlian用户,测试数据库是否正常:
SQL> conn pjinlian/wuda
Connected.
SQL> show user;
USER is "PJINLIAN"
SQL> select count(*) from sales;

  COUNT(*)
----------
    918843
2.8出现数据后,证明数据库已经启动,故障修复:

通过以上的例子进一步说明,平常我们的初始化参数文件、控制文件、重做日志文件、数据文件还是应该做好备份工作。

相关文章

  • oracle故障案例一 ORA-00214:

    1、故障报错: 由于数据库非正常关闭,在启动数据库的时候报错,错误如下ORA-00214: 为什么会出现这个报错?...

  • 2022-05-18

    遇到没修过的故障 一定要多看故障案例。

  • 故障案例

    故障案例一、NFS故障,造成系统cpu使用率低而负载极高。 https://www.jianshu.com/p/3...

  • NBU故障代码6:Sap For Oracle 备份故障的处理

    故障环境: Oracle11g,NBU7.7.3 故障现象: 处理思路: 1.到备份客户端,查看日志/usr/op...

  • MySQL逻辑和物理备份

    MySQL逻辑备份-企业案例 -t:仅备份表结构 -d:仅备份数据 企业故障恢复案例 故障时间点: 周三上午10点...

  • 故障案例1

    大众普桑 07年1.8排量 在抬完变速箱后 仪表盘ABS灯亮 用电脑检测有两个故障码 00290消极偶...

  • 故障案例4

    宝俊 630 加油无力 试车感觉离合器片打滑 因为气滤到更换时间了先换气滤 看能不能解决问题 换完后发...

  • 故障案例11

    维修丰田凯美瑞 最初症状空调不凉 高温 最后检查出来是电子扇一个不转 还有防冻液缺太多 最后换...

  • Day010-MySQL备份恢复与迁移

    1. 企业的备份恢复案例(mysqldump+binlog),年终故障恢复演练。(项目案例) 案例模拟及恢复: 1...

  • 【故障案例】OpenSSH密钥过期故障

    背景 今天一个小伙伴,来信息问"Linux的秘钥会过期吗?"echo -e "\n"|ssh-keygen -t ...

网友评论

      本文标题:oracle故障案例一 ORA-00214:

      本文链接:https://www.haomeiwen.com/subject/vwdkiktx.html