(FAQ)EAS Cloud单据提交异常,无法正常保存提交--BLOB坏块导致

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

(FAQ)EAS Cloud单据提交异常,无法正常保存提交--BLOB坏块导致

(FAQ)EAS Cloud单据提交异常,无法正常保存提交--BLOB坏块导致
原因分析: 1.出现问题前,数据库服务器异常重启过。 2.单据提交的时候,通过EM查看,会产生锁等待。 3.通过后台日志查看,只要产生了锁等待,就会对应的抛出一个ORA-00600错误。 4.通过后台报错 ORA-00600 错误跟踪,发现是一个INSERT 语句插入导致(可能是坏块造成) 5.通过 select count(*) from t_wfr_procinstdata 会抛出错误,说明此数据文件下的某个块存在问题: select count(*) from t_wfr_procinstdata * ERROR at line 1: ORA-01578: ORACLE data block corrupted (file # 39, block # 24961) ORA-01110: data file 7: '/oracle/oradata/t_wfr_procinstdata.dbf' 解决方法: 1.查询出坏块点: 方法一:通过表空间 object_id,file_ID,block#,row# 构造ROWID 1)通过FILE_ID,BLOCK 查询出 segment_name: SQL> SELECT SEGMENT_TYPE, OWNER, SEGMENT_NAME FROM DBA_EXTENTS WHERE FILE_ID = 39 AND 24961 BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS -1 ; SEGMENT_TYPE OWNER SEGMENT_NAME ------------------ ------------------------------ ------------------------------ TABLE DATA CAT_ZONE_PRODUCT 2)下面构造坏块的ROWID: SQL> CONN DATA Enter password: Connected. SQL> SELECT DATA_OBJECT_ID FROM USER_OBJECTS WHERE OBJECT_NAME = 'CAT_ZONE_PRODUCT'; DATA_OBJECT_ID -------------- 54649 SQL> SELECT DBMS_ROWID.ROWID_CREATE(1, 54649, 39, 24961, 0) FROM DUAL; DBMS_ROWID.ROWID_C ------------------ AAANV5AAnAAAGGBAAA 3)通过ROWID 查询对应的列数据 SELECT ROWID,XXX FROM TABLE_NAME 方法二: SQL> create table corrupted_lob_data (corrupted_rowid rowid); SQL> set concat off SQL>declare error_1555 exception; pragma exception_init(error_1555,-1555); num number; begin for cursor_lob in (select rowid r, &&lob_column from &table_owner.&table_with_lob) loop begin num:=dbms_lob.instr(cursor_lob.&&lob_column,hextoraw('889911')) ; exception when error_1555 then insert into corrupted_lob_data values (cursor_lob.r); commit; end; end loop; end; select * from corrupted_lob_data select * from t_wfr_procinstdata where rowid='AAEtzZAAOAACBpiAAP' (BLOB坏的字段会出现ERROR字样) 2.找到对应坏块的ROWID,删除后重新插入,问题解决。 相关日志:

(FAQ)EAS Cloud单据提交异常,无法正常保存提交--BLOB坏块导致

(FAQ)EAS Cloud单据提交异常,无法正常保存提交--BLOB坏块导致原因分析:1.出现问题前,数据库服务器异常重启过。2.单据提交的时候,通过E...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息