暂无图片
暂无图片
4
暂无图片
暂无图片
1
暂无图片

数据库无法open案例ORA-01122

原创 罗海鸥 2021-05-14
4705

测试环境一个单机数据库异常关闭,版本11.2.0.4.0,启动时报ORA-01122,数据库无法open。
我登录服务器数据库已经是mount状态open时报错,我记录了当时的处理过程。

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01122: database file 7 failed verification check
ORA-01110: data file 7: ‘/data/oradata/ORCL/datafile/DATACOERE_DATA_SP01.dbf’
ORA-01200: actual file size of 655263 is smaller than correct size of 655360
blocks

打开告警日志

Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_1454.trc:
ORA-01122: database file 7 failed verification check
ORA-01110: data file 7: ‘/data/oradata/ORCL/datafile/DATACOERE_DATA_SP01.dbf’
ORA-01200: actual file size of 655263 is smaller than correct size of 655360 blocks
ORA-1122 signalled during: ALTER DATABASE OPEN…
Fri May 14 10:36:11 2021
db_recovery_file_dest_size of 4977 MB is 3.24% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.
Fri May 14 12:45:46 2021
alter database open
Read of datafile ‘/data/oradata/ORCL/datafile/DATACOERE_DATA_SP01.dbf’ (fno 7) header failed with ORA-01200
Rereading datafile 7 header failed with ORA-01200
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_18430.trc:
ORA-01122: database file 7 failed verification check
ORA-01110: data file 7: ‘/data/oradata/ORCL/datafile/DATACOERE_DATA_SP01.dbf’
ORA-01200: actual file size of 655263 is smaller than correct size of 655360 blocks
ORA-1122 signalled during: alter database open…

根据报错的描述,大概是数据文件小于控制文件记录的数据文件的大小,通过查找资料找到了解决方法。

第一步判断差值

根据ORA-01200提示信息,得到数据文件相差97个数据块。
SQL> select 655360-655263 from dual;

第二步备份需要操作的数据文件

cp /data/oradata/ORCL/datafile/DATACOERE_DATA_SP01.dbf /home/oracle

第三步执行dd命令增加数据文件大小

使用dd命令增加数据文件大小,8192是数据块大小,97是多少个数据块 seek=655264表示从第655264个数据块开始增加(655263+1)

dd if=/dev/zero of=/data/oradata/ORCL/datafile/DATACOERE_DATA_SP01.dbf bs=8192 count=97 seek=655264

第四步open数据库

SQL> alter database open;

Database altered.

总结:

尽量一致性关库,强行关库非常危险。
如果大家有遇到同样的报错,这个方法可以一试!

最后修改时间:2021-07-13 17:57:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
2人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

学无止境
暂无图片
3年前
评论
暂无图片 0
666
3年前
暂无图片 点赞
评论