You are on page 1of 2

FND_LOBS

--------

Step 1 - create table CORRUPT_LOBS_FNDLOBS (corrupt_rowid rowid, err_num number);

Step 2 -

declare
error_1578 exception;
error_1555 exception;
error_22922 exception;
pragma exception_init(error_1578,-1578);
pragma exception_init(error_1555,-1555);
pragma exception_init(error_22922,-22922);
n number;
begin
for cursor_lob in (select rowid r, FILE_DATA from APPLSYS.FND_LOBS) loop
begin
n:=dbms_lob.instr(cursor_lob.FILE_DATA,hextoraw('889911'));
exception
when error_1578 then
insert into CORRUPT_LOBS_FNDLOBS values (cursor_lob.r, 1578);
commit;
when error_1555 then
insert into CORRUPT_LOBS_FNDLOBS values (cursor_lob.r, 1555);
commit;
when error_22922 then
insert into CORRUPT_LOBS_FNDLOBS values (cursor_lob.r, 22922);
commit;
end;
end loop;
end;
/

Step 3 - update APPLSYS.FND_LOBS set FILE_DATA=empty_blob() where rowid in (select


corrupt_rowid from CORRUPT_LOBS_FNDLOBS);

XXFMCSD_COMP_ATTACHMENT
------------------------

Step 1 - create table corrupt_lobs_XXFM (corrupt_rowid rowid, err_num number);

Step 2 -

declare
error_1578 exception;
error_1555 exception;
error_22922 exception;
pragma exception_init(error_1578,-1578);
pragma exception_init(error_1555,-1555);
pragma exception_init(error_22922,-22922);
n number;
begin
for cursor_lob in (select rowid r, ATTACHMENT from
XXFMIT.XXFMCSD_COMP_ATTACHMENT) loop
begin
n:=dbms_lob.instr(cursor_lob.ATTACHMENT,hextoraw('889911'));
exception
when error_1578 then
insert into CORRUPT_LOBS_XXFM values (cursor_lob.r, 1578);
commit;
when error_1555 then
insert into CORRUPT_LOBS_XXFM values (cursor_lob.r, 1555);
commit;
when error_22922 then
insert into CORRUPT_LOBS_XXFM values (cursor_lob.r, 22922);
commit;
end;
end loop;
end;
/

Step 3 - update XXFMIT.XXFMCSD_COMP_ATTACHMENT set ATTACHMENT=empty_blob() where


rowid in (select corrupt_rowid from corrupt_lobs);

XXFMICS_DRAWING_ATTACHMENTS
---------------------------

Step 1 - create table corrupt_lobs_PRODICS (corrupt_rowid rowid, err_num number);

Step 2 -

declare
error_1578 exception;
error_1555 exception;
error_22922 exception;
pragma exception_init(error_1578,-1578);
pragma exception_init(error_1555,-1555);
pragma exception_init(error_22922,-22922);
n number;
begin
for cursor_lob in (select rowid r, ATTACHMENT from
PRODICS.XXFMICS_DRAWING_ATTACHMENTS) loop
begin
n:=dbms_lob.instr(cursor_lob.ATTACHMENT,hextoraw('889911'));
exception
when error_1578 then
insert into CORRUPT_LOBS_PRODICS values (cursor_lob.r, 1578);
commit;
when error_1555 then
insert into CORRUPT_LOBS_PRODICS values (cursor_lob.r, 1555);
commit;
when error_22922 then
insert into CORRUPT_LOBS_PRODICS values (cursor_lob.r, 22922);
commit;
end;
end loop;
end;
/

Step 3 -
update PRODICS.XXFMICS_DRAWING_ATTACHMENTS set ATTACHMENT=empty_blob() where rowid
in (select corrupt_rowid from CORRUPT_LOBS_PRODICS);

You might also like