千家信息网

Oracle重建控制文件的实例教程

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,前言控制文件(control file)是一个相当小的文件(最多能增长到64M左右),其中包含Oracle需要的其他文件的一个目录。参数文件告知实例控制文件的位置,控制文件则告知示例数据库和在线重做日
千家信息网最后更新 2026年11月01日Oracle重建控制文件的实例教程

前言

控制文件(control file)是一个相当小的文件(最多能增长到64M左右),其中包含Oracle需要的其他文件的一个目录。参数文件告知实例控制文件的位置,控制文件则告知示例数据库和在线重做日志文件的位置。控制文件还告知了Oracle其他一些事情,如已发生检查点的有关信息、数据库名(必须和db_name参数匹配)、创建数据库的时间戳、归档重做日志的历史(有时这会让控制文件变大)、RMAN信息等。

环境:OEL 5.7 + Oracle 10.2.0.5

背景:在Oracle的运维过程中,时常会遇到一些场景是需要重建控制文件才可以解决的。本文的场景可以通过复制控制文件到新路径,运行一段时间后,再用老的控制文件启动数据库重现。

1.当前故障现象

在使用旧的控制文件启动数据库时,报错ORA-01122、ORA-01110、ORA-01207:

SQL> shutdown abortORACLE instance shut down.SQL> startupORACLE instance started.Total System Global Area 599785472 bytesFixed Size   2098112 bytesVariable Size  218106944 bytesDatabase Buffers  373293056 bytesRedo Buffers  6287360 bytesDatabase mounted.ORA-01122: database file 1 failed verification checkORA-01110: data file 1: '/oradata/cxywdb/system01.dbf'ORA-01207: file is more recent than control file - old control file

2.分析故障原因

根据报错信息查找MOS文档:

ORA-1122, ORA-1110, ORA-1207 while open the database after crash (文档 ID 283927.1)

延伸思考一下,为什么会这样?

主要错误是ORA-01207,利用oerr工具看到Oralce对这个错误的详细描述是:

01207, 00000, "file is more recent than control file - old control file"
// *Cause: The control file change sequence number in the data file is
// greater than the number in the control file. This implies that
// the wrong control file is being used. Note that repeatedly causing
// this error can make it stop happening without correcting the real
// problem. Every attempt to open the database will advance the
// control file change sequence number until it is great enough.
// *Action: Use the current control file or do backup control file recovery to
// make the control file current. Be sure to follow all restrictions
// on doing a backup control file recovery.

一般遇到这种情况,当前的控制文件肯定是找不到了。那么就得考虑重建控制文件来解决,MOS给出的建议也是重建控制文件。

3.重建控制文件

重建控制文件的核心步骤:

3.1 备份控制文件到trace

startup mountalter database backup controlfile to trace;oradebug setmypidoradebug tracefile_name

3.2 启动数据库到nomount状态

shutdown abortstartup nomount;

3.3 确认重建控制文件的语句

vi control.sqlCREATE CONTROLFILE REUSE DATABASE "CXYWDB" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292LOGFILE GROUP 5 '/oradata2/cxywdb/redo11.log' SIZE 50M, GROUP 6 '/oradata2/cxywdb/redo12.log' SIZE 50M, GROUP 7 '/oradata2/cxywdb/redo13.log' SIZE 50M-- STANDBY LOGFILEDATAFILE '/oradata/cxywdb/system01.dbf', '/oradata/cxywdb/undotbs01.dbf', '/oradata/cxywdb/sysaux01.dbf', '/oradata/cxywdb/users01.dbf', '/oradata/cxywdb/alfred01.dbf', '/oradata/cxywdb/alfred02.dbf', '/oradata/cxywdb/alfred03.dbf', '/oradata/cxywdb/alfred04.dbf', '/oradata/cxywdb/alfred05.dbf', '/oradata/cxywdb/dbs_i_alfred01.dbf'CHARACTER SET ZHS16GBK;

3.4 恢复并打开数据库

SQL> recover database;Media recovery complete.SQL> alter database open;Database altered.

附:实际解决过程如下:

SQL> shutdown abort  ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 599785472 bytesFixed Size     2098112 bytesVariable Size    218106944 bytesDatabase Buffers   373293056 bytesRedo Buffers    6287360 bytesDatabase mounted.SQL> alter database backup controlfile to trace;Database altered.SQL> oradebug setmypidStatement processed.SQL> oradebug tracefile_name/s01/oracle/admin/cxywdb/udump/cxywdb_ora_3983.trcSQL> shutdown abortORACLE instance shut down.SQL> startup nomount;ORACLE instance started.Total System Global Area 599785472 bytesFixed Size     2098112 bytesVariable Size    218106944 bytesDatabase Buffers   373293056 bytesRedo Buffers    6287360 bytesSQL> @controlControl file created.SQL> select status from v$instance;STATUS------------MOUNTEDSQL> recover database;Media recovery complete.SQL> alter database open;Database altered.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

文件 控制 数据 数据库 信息 位置 内容 参数 场景 故障 文档 日志 时间 过程 错误 学习 实例 事情 价值 前言 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技靠谱吗 上海睿民互联网科技有限公司 湖南永感互联网科技有限公司 云信互联网科技有限公司 广州百单互联网科技有限公司 A股互联网金融科技公司 互联网科技有限公司图片 互联网科技集团 互联网 科技创业 四个字互联网科技公司取名 互联网科技公司招聘 互联网科技寓意 互联网科技革命什么开始 美国互联网科技实力 北京市互联网新科技 好易买互联网科技 绵阳真晨互联网科技有限公司 东风日产互联网科技公司叫什么 瑞安市蟠桃会互联网科技有限公司 北京瑞云互联网科技有限公司 没上市的科技互联网公司 迪茉互联网科技 唐信互联网科技 大连 晓花互联网科技有限公司网址 上海科技产业互联网平台 山东子淼互联网科技有限公司 上海同邻互联网科技有限公司规模 长沙渺峰互联网科技有限公司 科技互联网公司两年变化 青岛互联网科技园
0