ORA-08103: object no longer exists 及 ora-00600 [2032]

本文详细介绍了如何解决Oracle9.2.0.8 RAC环境下遇到的ORA-08103错误,该错误通常在执行SELECT语句时出现,表示所选对象已不存在。文章还探讨了错误原因,包括在执行TRUNCATE命令后的下一次块读取时可能出现的情况,并提供了可能的解决方案,如使用DELETE代替TRUNCATE,或者在SELECT中使用FOR UPDATE锁定表。此外,文章还提到了相关警报日志中的另一个错误ORA-00600[2032],表示在redo重做过程中遇到坏块。最后,文章提供了一些检查和确认步骤,帮助用户诊断并解决类似问题。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

Oracle 9.2.0.8   ,  RAC ,   2 Nodes,  x86-64bit  . 

 

通过trace文件中的ORA-07445: exception encountered: core dump [pfrrun()+785]
[SIGSEGV] [Address not mapped  在oracle metalink针对9208版本查询不到相关bug
信息 。

下面是查询 ORA-08103: object no longer exists 得出的一些信息 。

symptom: Error performing a SELECT statement
symptom: ORA-08103: object no longer exists
symptom: Table is being truncated by other session
symptom: Analyze table validate structure cascade returns no errors

cause:
   This ORA-08103 occurs on the next block read after the truncate command.

The LOCK TABLE IN EXCLUSIVE MODE does not prevent the table from being
SELECTED from. Thus, when the query has started and while this query runs
and the truncate occurs, this ORA-08103 may surface on the next block read.
This is considered intended behavior.

When a TRUNCATE occurs the DATAOBJ# in OBJ$ gets increased by one and thus
may lead to this ORA-08103 'object no longer exists'


fix:
Possible solutions are:
- Use DELETE instead of TRUNCATE
- Use SELECT FOR UPDATE as this will try to lock the table

 


检查及确认(1,2最好在非生产阶段作业) :

1. analyze table  table_name  validate structure ; (正在操作而报错的table)
2. $ dbv  file=xxxxx.dbf  blocksize=8192  feedback=200  (可能坏块检查)
3. 报错时操作的这个表是否是临时表
4. 是否是物化视图(mv,因为全刷新时会truncate表)
5. 是否是视图(view), 视图的基表被修改或删除可能报错
6. 是否有人为truncate这个正在被操作的表
7. 针对出现错误时操作的表,是否有大量并发的update或其他操作。

 

 

alert log 文件中还有一个错误  ora-00600 [2032]  

 

ORA-600 [2032] "corrupt block during redo generation" [ID 105992.1] 

 Modified 29-MAY-2008     Type REFERENCE     Status PUBLISHED 
 

Bug 1679690  Buffer cache in memory corruption (OERI:2032) can lead to permanent data/index mismatch (OERI:12700)

 This note gives a brief overview of bug 1679690.
 The content was last updated on: 08-AUG-2003
 Click here for details of each of the sections below.

Affects:

Product (Component)Oracle Server (Rdbms)
Range of versions believed to be affectedVersions < 9.0
Versions confirmed as being affected
  • 8.1.7.1
Platforms affectedGeneric (all / most platforms affected)

Fixed:

This issue is fixed in
  • 8.1.7.2 (Server Patch Set)
  • 9.0.1.0 (Base Release)

Symptoms:

Related To:

  • Internal Error May Occur (ORA-600)
  • Corruption (Index)
  • Memory Corruption
  • ORA-600 [12700]
  • ORA-600 [2032]
  • (None Specified)

Description

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-676576/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-676576/

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值