在启动数据库的时候,我们可能会遇到如下错误:
ORA-1122 :database file %s failedverification check
ORA-1110 : datafile :
ORA-1207: ORA 1207 file is more recent thancontrol file
ORA-1207的主要原因是因为数据库突然掉电,在重启的时候,就会容易遇到这种错误。
MOS上对这个错误的解释如下:
The informationin this file is inconsistent with information from the control file.
The datafileheader CHECKPOINT count is beyond the controlfile CHECKPOINT count.
控制文件中记录了整个数据库的全部信息,具体包括数据文件的,日志文件等等。
在数据库运行期间,由于检查点发生等原因会不断的更新控制文件,同时数据库在关闭和重启过程中都会更新控制文件的内容,但是数据库服务器突然的掉电,会导致当前的db信息无法适时更新到控制文件中,再次启动数据库后,当oracle检测控制文件和其它文件信息是否一致时,就出现了这个错误。
MOS上给出的解决方案是重建控制文件:
1.Mount the database
SQL> Startup mount
2. Save the information from the control file:
SQL> Alter database backup controlfile to trace;
3. Create a control file creation script from the tracefile generated inuser_dump_dest.
Use the Noresetlogs option
--注意这里使用的是noresetlogs
4. Shutdown the database and start it in NOMOUNT mode
SQL> shutdown abort
SQL> startup nomount
5. Create the control file
Use the script generated by the 'backup controlfile to trace' commandabove.
Please refer to:
Note735106.1- How to Recreate a Controlfile
6.Recover the database
SQL> recover database;
7. Open the database
SQL> Alter database open;
注意:
我们这里将控制文件的内容备份到trace文件里的前提条件是数据库必须是mount或者open状态,如果连mount都不行的话,我们生成控制文件就麻烦点了。
SQL> Alter database backup controlfileto trace;
在MOS的[ID 735106.1]里说明:
如果没有控制文件的内容,我们也有两种方法来处理ORA-1207的错误,一是使用Restore的方式,另一个是从备份中找回控制文件,如果这2个都没有,我们就必须手工的写编写控制文件的内容。
控制文件的内容是有一定格式的,我们只需要按照规定的格式创建就好了。
具体内容参考:
Oracle 控制文件
http://blog.csdn.net/tianlesoftware/article/details/4974440
重建控制文件后我们需要添加Temp表空间,并且留意是否存在只读的表空间,因为重建控制文件会影响到这2个表空间,更多内容参考:
Oracle 重建控制文件 对 只读表空间 和 临时表空间 影响 测试
http://blog.csdn.net/tianlesoftware/article/details/7231680
参考:
How to Recreate a Controlfile [ID 735106.1]
ORA-1122, ORA-1110, ORA-1207 while open thedatabase after crash [ID 283927.1]
-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
Skype: tianlesoftware
QQ: tianlesoftware@gmail.com
Email: tianlesoftware@gmail.com
Blog: http://www.tianlesoftware.com
Weibo: http://weibo.com/tianlesoftware
Twitter: http://twitter.com/tianlesoftware
Facebook: http://www.facebook.com/tianlesoftware
Linkedin: http://cn.linkedin.com/in/tianlesoftware
-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----
DBA1 群:62697716(满); DBA2 群:62697977(满)DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群:83829929 DBA5群: 142216823
DBA6 群:158654907 DBA7 群:172855474 DBA总群:104207940
分享到:
相关推荐
Oracle 11gr2连Oracle 19c 报ORA-28040 ORA-01017解决方法
ORACLE ORA-00132 ORA-00214
kettle连接oracle12C--报错ORA-28040 没有匹配的验证协议
oracle数据库ora-01152和ora-01110的解决办法
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
Oracle_ORA-12518故障_处理,希望在此与大家分享,能够在实际的工作中提高解决问题的能力
ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法ora-00604 错误 解决 方法
oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht
oracle启动失败,ORA-00702报错,windows,linux系统下解决办法
oracle ORA-01033问题怎么解决 !! 能修复文件出错问题
使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查。使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查 使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查
ora-01033:oracle initialization or shutdown in progress 解决方法 ora-01033:oracle initialization or shutdown in progress 解决方法 ora-01033:oracle initialization or shutdown in progress 解决方法 ora-...
ORA-03113 "end_of_file on communication channel" ORA-03113 "end_of_file on communication channel" ORA-03113 "end_of_file on communication channel
使用过程Oracle 表空间不足时,详细处理办法
ora-03113错误
oracle ORA-01033报错分析和解决方案跟踪文档
客户端进行连接的时候,系统不定期出现ora-12520,ora-12516的连接问题, 问题解决方案建议: 1、增加process和session的连接数。 2、检查连接的应用,是不是有没有释放的连接。 3、将修改参数local_listener中的vip为...
Drop goldengate用户时,报ORA-00604 ORA-20782 ORA-06512错误
ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...