ORACLE ORA-8103错误要如何解决

散发整个

ORA-8103是we的所有格形式Database Consultant 常常呈现的成绩,相识ORA-8103的成因非常要紧。

[档案回复]运用认可的rowid迂回地ora-1578而不运用backu、ORA-8103、ORA-1410逻辑/身体的坏块探针

复杂来说ORA-8103 首要有两个认为。

档案块的 block type 典型 是 无效的的 或许块读取典型与Oracle的怀胎不婚配。 拿 … 来说 Oracle 将档案块典型凝视档案(典型=6,但最正确的方法并非如此。。

档案块中间的档案抱反感ID 和 档案字典中间的档案抱反感ID不婚配

回答ORA-8103成绩 we的所有格形式提议潜在的采用稍微办法:

ORA-08103成绩的做出诊断最好是能形成8103背面的的ERROR STACK TRACE, 在TRACE中会记载详细发射或使爆炸8103的抱反感的OBJ和OBJD,这使we的所有格形式可以找到可能性有耳溃疡的材料。。

成绩躺在动前景追逐不期而遇ORA-08103背面的将不会在背地里形成TRACE寄给报社,这需求we的所有格形式手工操作设置8103 罢背面的的事变国家的

ALTER SYSTEM SET EVENTS ’8103 TRACE NAME ERRORSTACK LEVEL 3′;

receive 接收包罗:

1. 经过objd和db赴赠送的的表名和块号

2. 设想要求容许,对表格举行剖析 .. validate structure

3. 建立表地方的表留空隙ConditionAll dbms_space_admin.ASSM_TABLESPACE_VERIFY

4. 设想要求容许,则用羔羊皮装饰的此表或互插分区,后记迂回地这个成绩

5. 设想要求容许,请停止表或分区并移到mssm表,迂回地这个成绩

execute dbms_space_admin.tablespace_verify(‘&tablespace_name’)

oradebug setmypid

oradebug tracefile_name

execute dbms_space_admin.assm_tablespace_verify(‘&tablespace_name’,)

oradebug setmypid

oradebug tracefile_name

几乎不同典型 analyze validate structure 从其接收的终结 , we的所有格形式可以通用稍微初步后记:

设想完成 flush buffer 缓存后,再次剖析 validate structure不再报ORA-8103背面的则阐明:

这可能性是完整常态的。,领先的ORA-8103就是也因抱反感正被DROP/TRUNCATE而原因SELECT报ORA-8103。概括地说,理由 堆栈显示追逐正尝试使用段的段 header。 涉及更多知识,请参阅BU 7441661

成绩也可能性只产生在缓冲器中。 cache层,缺乏的磁盘上。。经过冲洗 设想可以处理缓冲器缓存,通常是非常的。,常常缓冲 由缓存完成的Bug 。

设想完成 flush buffer 缓存后,再次剖析 validate structure再次报ORA-8103背面的则阐明:
设想dump对应的档案块是foun 块在逻辑上是异体同形的(也由bbed/dbv器证明), 它可能性会降下。 Write,它不用于安心抱反感重行电视节目的总安排。
在在这一点上we的所有格形式评判输了 书写艺术的要紧条理 块的回复/块的回复,设想回复可以交还该块,那是因转向了 Write造成了本ORA-8103成绩,设想归咎于,99%的概率是由背面的造成的。。
普通的的气象是 当档案库为ope时,运用第三方器举行模仿 档案库,这些器的缺陷可能性原因COP 以新磅为目的的块的旧版本。

发表评论