oracle添加控制文件,ORA-00214: 错误

今天学习oracle添加控制文件,控制文件是一个二进制文件,记录了物理数据库的当前状态,每一个数据文件只属于一个数据库,为了防止文件损坏丢失等情况,一个数据库不止一个控制文件。一个数据库的控制文件中的内容完全一样。

利用数据字典v$controlfile查询数据文件的位置、名字:

select name from v$controlfile;

结果:

NAME
--------------------------------------------------------------------------------
H:\APP\ORACLEADMIN\ORADATA\MLDN\CONTROL01.CTL
H:\APP\ORACLEADMIN\ORADATA\MLDN\CONTROL02.CTL

数据库有两个控制文件,放在相同的文件夹下。

接下来在另一个文件夹添加新的控制文件。

此时犯了一个错误,将控制文件复制出来,改名contro03.ctl,放在了新的文件夹。

修改SPFILE,指定控制文件的位置和名称,

 alter system set control_files=
‘H:\APP\ORACLEADMIN\ORADATA\MLDN\CONTROL01.CTL‘,
‘H:\APP\ORACLEADMIN\ORADATA\MLDN\CONTROL02.CTL‘,
‘H:\oracle\backup\CONTROL03.CTL‘ SCOPE=SPFILE;

关闭数据库

SHUTDOWN IMMEDIATE

重启数据库

STARTUP

这个时候就会报错了:

Total System Global Area 2550136832 bytes
Fixed Size                  8922136 bytes
Variable Size             838863848 bytes
Database Buffers         1694498816 bytes
Redo Buffers                7852032 bytes
ORA-00214: ???? ‘‘H:\APP\ORACLEADMIN\ORADATA\MLDN\CONTROL01.CTL‘‘ ?? 18735 ???
‘‘H:\ORACLE\BACKUP\CONTROL03.CTL‘‘ ?? 18718 ???

ora-00214错误,控制文件版本不一致。

错误的原因是,在数据库打开状态下,oracle服务器会随时修改控制文件中的内容。

在之前的操作中是先复制的控制文件,后关闭数据库,导致复制出来的control03与contorl02、control01的内容不一样,

此时,复制control01覆盖掉其他控制文件,关闭数据库并重启。

这次就能成功打开数据库了:

正确的添加控制文件顺序

1 )查找控制文件位置和名称

2)修改SPFILE,设置新的控制文件位置和名称

3)关闭数据库

4)复制控制文件到指定位置

5)重启数据库

现在验证一下,再查找一遍数据库控制文件

select name from v$controlfile;

得到:

可以看出增加了控制文件control03.ctl,与设置的一致。

原文地址:https://www.cnblogs.com/winterbear/p/10360640.html

时间: 2024-08-03 08:36:07

oracle添加控制文件,ORA-00214: 错误的相关文章

移动和添加控制文件的实例

控制文件是整个数据库中非常重要的文件,必须保证控制文件的安全,原则上多个控制文件应该分别放在不同的磁盘上.但是oracle默认安装时将所有的控制文件放在了同一个磁盘的相同目录下,这种做法是非常危险的,必须把现有的oracle系统上的多个控制文件分别移动到不同的物理磁盘上安全备份.具体步骤如下: 一.利用数据字典获得现有控制文件的名字和绝对路径 select name,status from v$controlfile; 二.如果使用的是spfile的话因为不能使用文本编辑器来改变spfile中的

Oracle的控制文件

一.控制文件 oracle的控制文件是极其重要的文件,它是一个较小的二进制文件. 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等  在参数文件中描述其位置,个数等等. 在mount阶段被读取,open阶段一直被使用 一个控制文件只能属于一个数据库 控制文件的任意修改将写入到初始化参数中指定的所有控制文件中,读取时则仅读取第一个控制文件 控制文件中包含的内容: 数据库的名字.ID.创建的时间戳 表空间的名字 联机日志文件.数据文件的位置.个数.名字 联机

Oracle 11g在ASM磁盘组上添加控制文件

控制文件(Control File)是Oracle的物理文件之一,它记录了数据库的名字.数据文件的位置等信息.控制文件的重要性在于,一旦控制文件损坏,数据库将会宕机.如果没有数据库的备份和归档日志文件,数据库将无法恢复.因此,我们应该多路镜像控制文件(Multiplex Control Files),并把每个镜像的控制文件分布在不同的物理磁盘.根据经验,控制文件多路镜像以后,几个控制文件同时坏掉的可能性几乎为零.控制文件管理的重心是重在预防,而不是亡羊补牢! 今天做在测试环境为control f

oracle重建控制文件

根据已有数据库创建新的控制文件#数据库必须是mounted或open状态 sql> alter database backup controlfile to trace; 可以使用以下快捷方式找到对应的trace文件 sql> alter database backup controlfile to trace; sql> oradebug setmypid; sql> oradebug tracefile_name; 从trace文件中要找出以下内容,保存到脚本controlfi

10.2.0.4RAC添加控制文件以使多路复用

涉密,这里只写步骤,不写执行结果:   0.控制文件备份 alter session set tracefile_identifier='bak_control'; alter database backup controlfile to trace; 1.确认控制文件名称 select name from v$controlfile; 2.添加新的控制文件路径 alter system set control_files='+DATA1/dxmy/controlfile/current.260

Oracle数据库 控制文件

一.概念控制文件的主要任务是管理数据库的状态以及描述数据库的物理结构 二.所含有的信息1.数据库名2.数据库标识符(DBID)3.数据库创建时间戳4.数据库字符集5.数据文件信息6.临时文件信息7.在线重做日志信息8.近期的归档日志信息9.表空间信息10.RMAN备份文件信息,即RMAN资料库11.检查点信息12.损坏的数据块注册表13.还原点信息14.重设日志SCN15.脏数据块的数量 三.数据库启动[3个阶段]1.NOMOUNT阶段:此阶段读取参数文件2.MOUNT阶段:此阶段打开控制文件3

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

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

Oracle控制文件移动

Oracle移动控制文件 OS:Windows oracle:10g 移动控制文件即将当前的控制文件由当前位置迁移到另一个新位置. 六步完成控制文件移动: 1.获取控制文件名: SQL> select status,name from v$controlfile; 2.修改SPFILE中的控制文件名: SQL> alter system set control_files= 'D:\oracle\new\CONTROL01.CTL', 'D:\oracle\new\CONTROL02.CTL'

oracle 控制文件多路复用

网上有很多关于控制文件的操作,我大概看了下.有很多都是炒来炒去转来转去.下面以自己理解和操作为例来对oracle的控制文件进行下介绍. 首先介绍下控制文件 在oralce数据库中,控制文件是一个很小的二进制文件,一般大小在10MB左右在数据库创建时被自动创建,并在数据库变化时更新.控制文件不断被更新,并且在任何时候都要保证控制文件可用.控制文件在oracle中扮演者很重要的角色,没有控制文件或者控制文件损坏数据库必然down掉.控制文件包含有数据库结构信息,数据文件和日志文件信息. 由于控制文件