备份 包含大二进制数据提示如下 错误
表 ANNEX 将以常规路径导出。
. . 正在导出表 ANNEX
EXP-00056: 遇到 ORACLE 错误 1555
ORA-01555: 快照过旧: 回退段号 在名称为 "" 过小
ORA-22924: 快照太旧
导出成功终止,但出现警告。
问题原因:
大二进制的表中 有记录损坏掉, 导致数据不能备份成功。
---------------解决方法
找到 所有错误记录 删除
--------------------------------监测错误记录的语法 begin
set serveroutput 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 (ANNEX_CONTENT) len
from annex ) loop
if r.len is not null then
for page in 0..r.len/charpp loop
begin
select dbms_lob.substr (ANNEX_CONTENT, 1, 1+ (page * charpp))
into c
from annex
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;
--------------------------------监测错误记录的语法 END