查询视图报错ORA-01187和ORA-01110,怎么办?

一、问题回顾

      小张接到客户反馈在Oracle数据库查询视图出现报错,提示

ORA-01187: 由于验证测试失败而无法从文件读取

ORA-01110: 数据文件 201: '/u01/app/oracle/oradata/orcl/temp01.dbf'

经排查,问题与临时表空间文件(temp01.dbf)相关,可能是文件损坏或权限异常导致。

二、问题分析     

1、错误原因:临时表空间文件(temp01.dbf)损坏或无法访问。

2、影响范围:临时表空间仅用于排序、哈希等临时操作,不涉及永久数据,因此修复风险较低

3、排查确认

      ①检查文件路径存在且权限正常;

      ②通过MOS(My Oracle Support)验证解决方案可行性。

三、解决方案。

     在MOS上确实查询到相关报错的处理,小张照着以下步骤操作,问题也成功处理。

1)查询临时文件信息

SQL> select FILE#,NAME from v$tempfile;
FILE#  NAME
------ --------------------------------
201    /u01/app/oracle/oradata/orcl/temp01.dbf

2)确认临时表空间

SQL> SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME ='DEFAULT_TEMP_TABLESPACE';
PROPERTY_VALUE
----------------
TEMP

3)创建新的临时文件

SQL> ALTER TABLESPACE temp ADD TEMPFILE '/u01/oracle/oradata/temp02.dbf' SIZE 512M ;
Tablespace altered.

4)删除异常的临时文件

SQL> ALTER DATABASE TEMPFILE '/u01/oracle/oradata/temp01.dbf' DROP INCLUDING DATAFILES;
Database altered.

5) 验证结果

SQL> SELECT tablespace_name, file_name, bytes FROM dba_temp_files WHERE tablespace_name = 'TEMP';
TABLESPACE_NAME   FILE_NAME
----------------  -------------------------------
TEMP              /u01/app/oracle/oradata/orcl/temp02.dbf

四、小结

1、遇到ORA-01187和ORA-01110这种关于临时文件报错,可以通过增加新临时文件,删除原临时文件处理

2、这里小张其实还有个疑惑,有没有办法确认临时文件就是损坏或报错的根因,是否有更好的解决方案,欢迎有知道的大佬,评论区留言,先谢谢了!

参考文档

  • My Oracle Support DocumentDoc ID 2381382.1 - 提供了针对ORA-01187和ORA-01110错误的官方解决方案和详细说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值