业务前台应用报ORA-00376错误

本文记录了一次ORA-00376错误的排查过程,详细介绍了如何定位问题并解决由表空间离线导致的应用读取失败的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天发现前台业务在做某些业务时出现错误,但是在数据库ALERT 中没有好现报错等异常情况,后来在应用程序中的日志中看到有报ORA-00376 的错误:

ORA-00376: file 65 cannot be read at this time

ORA-00376: file 63 cannot be read at this time

 
错误说明应用要读63,65文件时不能读取,马上查询数据文件的相关信息.
 

SQL> select file_id,tablespace_name,status from dba_data_files where file_id in(63,65);

 

   FILE_ID TABLESPACE_NAME                STATUS

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

        65 UNDOTBS1                       AVAILABLE

        63 UNDOTBS1                       AVAILABLE

 
数据库文件是可用状态,但是发现是UNDO 表空间的数据文件.随之查询表空间的状态
 

SQL> select tablespace_name,status from dba_tablespaces where tablespace_name='UNDOTBS1';

 

TABLESPACE_NAME                STATUS

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

UNDOTBS1                       OFFLINE

 
表空间状态为什么会变成OFFLINE状态呢.有些不解,然后重新到ALERT 日志中查找看能否找到一些蛛丝马迹.果然发现了,在日志中发现在前一天有人对这个表空间做过OFFLINE操做.
 

alter tablespace UNDOTBS1 OFFLINE

Sat Jan 09 11:39:47 2008

Completed: alter tablespace UNDOTBS1 OFFLINE

 
问题至此明了了,表空间处于OFFLINE状态会话是不能读取相应的数据文件的.然后执行
 
ALTER TABLESPACE UNDOTBS1 ONLINE;
 
之后前台业务正常执行.
 
然后查看数据库的UNDO_TABLESPACE 参数,发现当前数据库用的不是被OFFLINE的.说明OLD UNDO TABLEAPCE 中还有没有ROLLBACK 完全的事务数据.当会话需要读到相应用数据时表空间处理OFFLINE状态.无法取.
 
为了弄明白这一点,到METALINK查找相关资料.找到文档:
 
Note:301935.1   Ora-376 With References to Old RBS When Using AUM / SMU
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值