ORA-600[kddummy_blkchk][][][18038]在ASSM表空间上的程度像截断操作
适用于:
Oracle公司服务器-企业版-版本:9.2.0.8到10.2.0.4-版本:9.2至10.2
Oracle公司服务器-企业版-版本:9.2.0.8到10.2.0.4-版本:[9.2至10.2]
本文档中的信息适用于任何平台。
***于2010年10月04日经过相关性检查***
说明:
这个警报中描述的具体的问题在 漏洞5386204/注解5386204.8
块损坏ORA-600错误[kddummy_blkchk][file#][block#][18038]可在一个DROP/TRUNCATE报道
腐败显示一个PAGETABLE SEGMENT HEADER在“Auxillary Map”范围之外的“Extent Map”中有块。
在Oracle 9i中相同的操作没有任何错误可以终止以前的RDBMS版本。
发生的可能性:
如SQL*Loader直接路径操作,例如使用DIRECT=Y填充对象。
对象利用ASSM(dba_tablespaces.segment_space_managment=’AUTO’)存储在一个本地管理表空间(LMT)中。
当db_block_size=16384时 漏洞5386204是主要命中的。
可能出现的症状:
命中这个错误的证据之一可能是计算结果18038中的第三个参ORA-600[kddummy_blkchk],其中[18038]是检查错误代码。
@ 错误校验码18038手段“Data dba”存储在“Auxiliary Map”中的是超过范围。
@ 典型值:0CLS:4AFN:234DBA:0x3a801554 OBJ:0 SCN:0x000b.290f5e0d SEQ:1 OP:14.2
@ 在这种情况下“Data dba:0x3a801555”存储在“Auxiliary Map”中的等于0x3a801551+4,这是程度0,因此错误。
@ 注意0程度上是4块,这样的程度0的开始是从0x3a801551到0x3a801554的。
解决方法或解决方案:
为了查明腐败影响的对象,使用程序DBMS_SPACE_ADMIN.ASSM_TABLESPACE_VERIFY
@ DBMS_SPACE_ADMIN.ASSM_SEGMENT_VERIFY也是一种选择,但它必须对漏洞6760697打补丁。
如何执行DBMS_SPACE_ADMIN.ASSM_TABLESPACE_VERIFY:
alter system set DB_BLOCK_CHECKSUM=OFF;
--打开一个新的会话并运行:
exec DBMS_SPACE_ADMIN.assm_tablespace_verify('<Tablespace Name>', DBMS_SPACE_ADMIN.TS_VERIFY_DEEP,
DBMS_SPACE_ADMIN.SEGMENT_VERIFY_DEEP);
看看user_dump_dest定义的目录生成任何跟踪文件。
跟踪文件的情况下,意味着没有腐败段被发现。
注:DB_BLOCK_CHECKSUM是被禁用的,否则可能会产生同样的ORA-600错误。
@ Oracle检查块类型为0x23=PAGETABLE SEGMENT HEADER,即使没有设DB_BLOCK_CHECKING.
例如从DBMS_SPACE_ADMIN.ASSM_TABLESPACE_VERIFY输出:
段头[DBA:0x003a801554(文件234,块5460)]
段对象ID:7825838;inc.no.:0
*********
检验图和位图的一致性程度
---------
检验图和辅助图的程度一致的部分
坏块在赛格hdr/ext中的图块:rdba:0x3a801554,错误代码:18038
确定对象使用部分头信息。
段头[dba:0x003a801554,(file 234,block 5460)]
select *
from DBA_EXTENTS
where FILE_ID = 234
and 5460 between block_id and block_id + blocks - 1;
确定对象使用部分对象标识信息。
段对象ID:7825838;inc.no.:0
select *
from DBA_OBJECTS
where DATA_OBJECT_ID = 7825838;
@ 如何执行DBMS_SPACE_ADMIN.ASSM_SEGMENT_VERIFY
解决方法:
禁用DB_BLOCK_CHECKSUM为采取任何行动。
注:DB_BLOCK_CHECKSUM已被禁用;否则同样可能产生ORA-600错误。
alter system set DB_BLOCK_CHECKSUM = OFF;
--打开一个新的会话:
DROP TABLE .. PURGE;
ALTER TABLE .. MOVE ..;
Create table as select (CTAS)
export/import, etc
补丁:
补丁防止腐败的发生。影响的对象将被创建。
这个错误时以前错误的列固定在10.2.0.4。
这个问题是固定在10.2.05补丁集。
这个问题是固定在11.1.0.6数据库发布。
一个这个问题的补丁为有些平台/版本是可利用的。
看到补丁5386204的可用补丁.
修改历史
2008年06月03日-最初的警报版本
2008年06月04日-实施校正
2008年06月11日-新增关于DB_BLOCK_CHECKSUM的资讯
2008年06月13日-出版
2010年10月04日-从关联性进行检查。