暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

故障处理|Oracle 如何解决 ORA-01187:无法从文件中读取

原创 小小亮 2022-10-27
4874


ORA-01187

激活备用数据库后发现 ORA-01187 和 ORA-01110。

ORA-01187: cannot read from file because it failed verification tests
ORA-01110: data file 2003: '+DATA/ORCLCDB/ORCLPDB/temp01.dbf'

ORA-01187 意味着您要读取的临时文件无法被服务器进程验证,很可能该文件处于另一个化身中。因此,打开数据库后,数据库无法重新创建临时文件。

同时,我们在警报日志中看到了一些错误

ORA-01186: file 2003 failed verification tests
ORA-01122: database file 2003 failed verification check
ORA-01110: data file 2003: '+DATA/ORCLCDB/ORCLPDB/temp01.dbf'
ORA-01203: wrong incarnation of this file - wrong creation SCN
ORCLPDB(3):Cannot re-create tempfile +DATA/ORCLCDB/ORCLPDB/temp01.dbf, the same name file exists

看来我们不能再使用与数据库中其他数据文件不同的临时文件了。此外,Oracle 尝试重新创建临时文件但没有成功,因为该文件是物理存在的。

解决方案

由于临时文件不再可用,我们采取以下步骤使所有临时文件恢复工作。

1.删除所有临时文件

第一步是删除所有临时文件。由于它是 RAC 数据库,我们通过grid将其删除。

[grid@standby01 grid]$ asmcmd rm +DATA/ORCLCDB/ORCLPDB/temp01.dbf

接下来,我们有 2 个选项可以重新创建所有临时文件。

第一种方法是重启数据库,不管是普通数据库(非CDB)还是可插拔数据库(PDB)。Oracle 将在打开数据库后自动重新创建所有丢失的临时文件。第二种方法是自己手动重新创建临时文件。

虽然第一种方式更可取,但它需要重新启动。如果此时无法重新启动数据库,我们将在数据库在线时按照以下过程重新创建它们。

让我们看看我们如何手动重新创建它们。

2.创建新的临时表空间

为了在我们删除它之前从数据库的默认临时表空间中排除TEMP ,我们需要另一个临时表空间。在这种情况下,我们使用TEMP1表空间。

如果没有,请为下一步创建一个新的临时表空间。

SQL> create temporary tablespace temp1 tempfile '+DATA/ORCLCDB/ORCLPDB/temp1_01.dbf' size 10m autoextend on next 10m maxsize unlimited;

Tablespace created.

3.切换默认临时表空间

我们暂时将默认临时表空间切换TEMP1

SQL> alter database default temporary tablespace temp1;

Database altered.

如果您确实希望TEMP1成为您的默认临时表空间,您可以在这里停下来。

4. 重新创建TEMP表空间

我们删除然后创建原始的临时表空间回来。

SQL> drop tablespace temp;

Tablespace dropped.

SQL> create temporary tablespace temp tempfile '+DATA/ORCLCDB/ORCLPDB/temp01.dbf' size 10m autoextend on next 10m maxsize unlimited;

Tablespace created.

5. 切换回默认临时表空间

解决 ORA-01187 的最后一步是将默认临时表空间切换TEMP

SQL> alter database default temporary tablespace temp;

Database altered.

它现在正在工作。


原文标题:How to Resolve ORA-01187: cannot read from file

原文作者:  Ed Chen

原文链接:https://logic.edchen.org/how-to-resolve-ora-01187-cannot-read-from-file/


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

评论