关于ORA-01187: cannot read from filebecause it failed verification tests 的处理方法

mac2022-06-30  66

环境:OEL+Oracle 11.2.0.3+physical standby

问题描述:查询dba_temp_files试图时显示Ora-01187错误号;

ORA-01187: cannot read from file  because it failed verification tests ORA-01110: data file 201: '/oradata/seven/temp01.dbf'

重现下错误:

SQL> select file_id,file_name,tablespace_name from dba_temp_files; select file_id,file_name,tablespace_name from dba_temp_files                                               * ERROR at line 1: ORA-01187: cannot read from file  because it failed verification tests ORA-01110: data file 201: '/oradata/seven/temp01.dbf'

oerr ora解决方法是:

[oracle@Seven trace]$ oerr ora 01187 01187, 00000, "cannot read from file %s because it failed verification tests" // *Cause:  The data file did not pass the checks to insure it is part of the //         database. Reads are not allowed until it is verified. // *Action: Make the correct file available to the database. Then, either open //         the database, or execute ALTER SYSTEM CHECK DATAFILES.  

初步推断是上次DG进行switchover时导致临时数据库文件出错,解决方法是重建临时数据文件;

带着这个疑问google了下,发现好多朋友遇到这个问题,表示重建下临时文件,或者重新reuse下临时表空间都可以处理这个问题,但是对于问题的根本起因,倒是没有找到原因;很遗憾!

还是来说明我自己的处理方法吧:

由于这个DG环境下的primary主库上报的错,对比了一下主备库的temp表空间,都是30M的大小,而且也都是online状态。

SQL> select name,bytes/1024/1024,status from v$tempfile; NAME                           BYTES/1024/1024 STATUS ------------------------------ --------------- ------- /oradata/seven/temp01.dbf                   30 ONLINE

删除临时文件:

SQL> alter database  tempfile '/oradata/seven/temp01.dbf' drop; Database altered.

SQL> select name,bytes/1024/1024,status from v$tempfile;

no rows selected

重新添加临时数据文件:

SQL> alter tablespace temp add tempfile '/oradata/seven/temp01.dbf' size 30M reuse; Tablespace altered. SQL> select name,bytes/1024/1024,status from v$tempfile; NAME                           BYTES/1024/1024 STATUS ------------------------------ --------------- ------- /oradata/seven/temp01.dbf                   30 ONLINE

由于场景是DG环境,所以temp的name和bytes的值最好保持主备库一致,方便以后做Switchover;

至于导致ORA-01187错误的主要诱因,还是不明,也没有找到相关的文档;

--------------------------------------------------------------------------------------------

版权所有,转载请注明作者及原文链接,否则追究法律责任!

QQ:      584307876

作者:    Seven

原文链接:  http://blog.csdn.net/sunjiapeng/article/details/9084429

邮箱:     seven_ginna@foxmail.com

转载于:https://www.cnblogs.com/seven-dba/archive/2013/06/13/4354910.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)