SQL> alter rollback segment "_syssmu5$" shrink to 100m;ロールバック・セグメントが変更されました。SQL> execute dbms_flashback.enable_at_time(sysdate -3);PL/SQLプロシージャが正常に完了しました。SQL> select count(*) from zzz_log;
select count(*) from zzz_log
                     *
行1でエラーが発生しました。:
ORA-01555: snapshot too old: rollback segment number 5 with name "_SYSSMU5$"
too smallSQL> execute dbms_flashback.disable;PL/SQLプロシージャが正常に完了しました。

解决方案 »

  1.   

    1、查询当前回滚段个数:
    select segment_name,owner,tablespace_name,status from dba_rollback_segs order by segment_name;2、增加新回滚段:
    回滚段编号从上面查出的最大的回滚段编号开始累加,增加回滚段的语句书写如下:
    create rollback segment r10 tablespace rbs storage(initial 1M next 1M minextents 20 optimal 20M);
    create rollback segment r11 tablespace rbs storage(initial 1M next 1M minextents 20 optimal 20M);
    alter rollback segment r10 online;
    alter rollback segment r11 online;3、检查新增回滚段:
    select segment_name,owner,tablespace_name,status from dba_rollback_segs order by segment_name;
    复核数名是否正确,状态是否online4、修改数据库的init参数文件,在rollback_segments中添加刚才增加的回滚段。
      

  2.   

    谢谢您的回答,但是我想要增加"_syssmu5$"的空间因为我要回滚5天前的数据,空间不够了,修改不了么?