ORA-01555 ORA-22924故障处理
用户逻辑导出有BLOB字段数据的时候,在检验图像结果这张表,报ora-01555 ora-22924 错误提示如下:
ORA-31693: Table data object "XCKY"."COMMON_PICTURE" failed to load/unload and is being skipped due to error: ORA-02354: error in exporting/importing data ORA-01555: snapshot too old: rollback segment number with name "" too small ORA-22924: snapshot too old
查看数据库参数undo_retention确认并非有undo导致,在执行表mvoe过程中同样提示
alter table XCKY.COMMON_PICTURE move lob(CONTENT) store as (tablespace system_info); #错误提示 ORA-01555: snapshot too old: rollback segment number with name "" too small ORA-22924: snapshot too old
通过上面的错误可以得出content字段有问题,通过查询mos得到如下解决方案
sqlplus / as sysdba
alter system set events '600 trace name errorstack forever';
alter system set events '1555 trace name errorstack forever';
alter system set events '22924 trace name errorstack forever';
set concat off create table corrupted_lob_data (corrupted_rowid rowid,err_num number); set concat off declare error_1555 exception; pragma exception_init(error_1555,-1555); error_22924 exception; pragma exception_init(error_22924,-22924); 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,01555); commit; when error_22924 then insert into corrupted_lob_data values (cursor_lob.r,22924); commit; end; end loop; end;
执行完成后通过查询corrupted_lob_data表即可得到blob有问题的数据,可通过empty_blob()函数充值blob的值来解决该错误。
update xcky.common_picture set content= empty_blob() where rowid in (select corrupt_rowid from corrupt_lobs); commit; #说明:清空clob值(若表类型为blob,使用empty_blob() 否则为(empty_clob() ) )
关闭跟踪
sqlplus / as sysdba alter system set events '600 trace name errorstack off'; alter system set events '1555 trace name errorstack off'; alter system set events '22924 trace name errorstack off';
分类:
Oracle
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?