exp匯出blob資料時報 ORA-22924: snapshot too old

blueocean926發表於2009-03-25
針對該問題,參考

metalink Doc ID: 452341.1

Solution
1. Run the following script against the LOB tables in order to check for corruption:

set serverout on
exec dbms_output.enable(100000);
declare
pag number;
len number;
c varchar2(10);
charpp number := 8132/2;

begin
for r in (select rowid rid, dbms_lob.getlength () len
from ) loop
if r.len is not null then
for page in 0..r.len/charpp loop
begin
select dbms_lob.substr (, 1, 1+ (page * charpp))
into c
from
where rowid = r.rid;

exception
when others then
dbms_output.put_line ('Error on rowid ' ||R.rid||' page '||page);
dbms_output.put_line (sqlerrm);
end;
end loop;
end if;
end loop;
end;
/

2. If two consecutive runs show the same rows, then it's a problem with those LOB records. The easiest way would be to delete the LOBs with mentioned ROWIDs and rebuild them (when possible)
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/48010/viewspace-1019415/,如需轉載,請註明出處,否則將追究法律責任。

相關文章