服务器异常断电,导致oracle控制文件版本不一致,报错ora-00214解决记录

  控制文件介绍:

  每一个oracle都至少会生成一个控制文件,一个数据库可以拥有多个控制文件,但是一个控制文件只能属于一个数据库。

  控制文件内部除了存放数据库名及其创建日期,数据文件,日志文件等相关信息,在系统运行的过程中还会存放系统更改号,检查点信息及归档的当前状态等信息。

出于安全考虑,数据库会自动创建2到3个控制文件,每个控制文件记录相同的信息,这个可以确保在数据库运行时,某个控制文件损坏,oracle会自动使用另一个控制文件,当所有控制文件损坏时,数据库将无法工作。

注:通过 v$controlfile 可以查看oracle的控制文件信息。
select name from v$controlfile

本次问题发生情况:服务器异常断电,启动后,oracle无法连接,使用plsql连接报错ora12514监听出现问题,进一步检查后发现是控制文件不一致,导致数据库无法启动。

解决步骤:

cmd窗体运行以下语句

1.使用nolog模式,DBA登录

sqlplus /nolog

sqlplus / as sysdba

2.先关闭数据库

shutdown immediate

3.使用nomount模式登录

startup nomount

4.拷贝其中一个控制文件到另外一个地方,完成替换

host copy D:\app\Administrator\oradata\orcl\control01.ctl D:\app\Administrator\flash_recovery_area\orcl\control02.ctl

5.手动启动到mount模式

alter database mount;

6.手动启动到open模式

alter database open;

注:本次解决问题的关键在于搞清楚数据库不同的启动模式的区别。

直接使用startup命令启动数据库,数据库会自动按次序执行nomount,mount,open模式打开数据库,这样就会生成新的控制文件,

因为服务器异常断电后,原有的控制文件不一致,所以就会导致数据库启动不了

因此先以nomount模式启动:只会创建实例,不加载数据库,也不会打开任何数据文件然后使用host copy命令复制其中一个控制文件到另外一个控制文件的地方,

再启动到mount,open模式,问题解决。

2017年11月8日17:16:01

时间: 2024-09-29 12:01:29

服务器异常断电,导致oracle控制文件版本不一致,报错ora-00214解决记录的相关文章

服务器异常断电导致windows下mysql服务启动报1067错误

1.进入在D:\candaoserver\mysql\下面的my.ini中添加一行 innodb_force_recovery =1 启动mysql,启动成功开用工具连接数据库成功,但数据库里面有的表打不开报1146 2.再进入在D:\candaoserver\mysql\下面的my.ini中添加一行 lower_case_table_names=1 重启mysql,启动成功开用工具连接数据库成功,表可以都打开了 3.再进入在D:\candaoserver\mysql\下面的my.ini中将之前

ORA-00214: control file 控制文件版本不一致

故障现象:今日学习oracle控制文件移动和修改,发现本机安装oracle数据库启动时只使用了一个控制文件.如下:SQL> select * from V$controlfile; STATUS  NAME                 IS_ BLOCK_SIZE FILE_SIZE_BLKS------- -------------------- --- ---------- --------------        /opt/oracle/oradata/ NO       16384

下载文件到本地解压压缩包出现文件损坏,报错问题已解决

解决的关键在于responseType: Blob   // 表明从服务器返回的数据类型 (无此声明则会报zip损坏/无效!)类型 代码如下: 接口调用 上面还有一个问题,就是我下载压缩包下载解压之后,文件名称会前后多个下划线,这个地方直接用正则就可以了,就见上面代码~~~ 原文地址:https://www.cnblogs.com/zly-1209/p/12006693.html

Oracle 控制文件(CONTROLFILE)

--============================= -- Oracle 控制文件(CONTROLFILE) --============================= 一.Oracle 控制文件 为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等 在参数文件中描述其位置,个数等等.通常采用分散放开,多路复用的原则.在mount阶段被读取,open阶段一直被使

oracle控制文件

转载请注明出处  控制文件(Control File)是Oracle的物理文件之一,它记录了数据库的物理结构(数据文件.日志文件等的名称和位置),数据库转载和打开都需要控制文件, 还记录了日志序列号,检查点和日志历史信息,同步和恢复数据库都需要控制文件. 控制文件包含以下信息: 数据名称 数据文件名称和位置 重做日志名称和位置 表空间名称和位置 当前日志序列号 检查点信息 日志历史信息 RMAN信息 查询控制文件T-SQL: SQL> col name format a30 SQL> sele

Oracle控制文件与参数文件管理_超越OCP精通Oracle视频教程培训13

Oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习Oracle Parameter参数文件与Oracle控制文件controlfile的深入解析,如何修改参数文件,Oracle控制文件的作用,针对Resetlogs和NoResetlogs的分析,oracle控制文件的重建/镜像/备份/恢复等日常管理与维护. 适用人群 IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以. 视频在线学习地址: http://edu.51cto.com/course

oracle 控制文件的重建

目录 oracle 控制文件的重建 NORESETLOGS RESETLOGS oracle 控制文件的重建 不到最后时刻,如三个控制文件都已损坏,又没有控制文件的备份.还是不要重建控制文件,处理不好就会有数据丢失. NORESETLOGS Set #1. NORESETLOGS case -- -- The following commands will create a new control file and use it -- to open the database. -- Data

pom文件第一行报错(unknown)

问题: Eclipse导入maven项目时,或者新建一个springboot项目时,pom.xml文件第一行报错,没有错误信息提示,就一个Unknown,但是项目可以正常运行. 如下图: 原因: 因为版本升级了(2.2.6.RELEASE),开发工具不兼容导致. 解决: 在pom.xml 文件中的 properties 加入maven jar 插件的版本号.如下图: 然后maven --> update project 就可以发现万恶的小红叉消失了. 注意:这里的3.1.1版本不是自己用的mav

RedHat5.5_X64 Linux安装oracle 11.2.0.3 报错

REDHAT linux 安装 11G  11.2.0.3   报错 oracle用户执行./runinstaller后 直接报错 查看日志后 [[email protected] OraInstall2012-06-29_12-08-50AM]# more installActions2012-06-29_12-08-50AM.log  SEVERE: [FATAL] HXZG: HXZG. Refer associated stacktrace #oracle.install.commons