ORA-01628: max # extents (string) reached for rollback segment string ORACLE 报错 故障修复 远程处理
文档解释
ORA-01628: max # extents (string) reached for rollback segment string
Cause: An attempt was made to extend a rollback segment that was already at the MAXEXTENTS value.
Action: If the value of the MAXEXTENTS storage parameter is less than the maximum allowed by the system, raise this value.
ORA-01628: max # extents (string) reached for rollback segment string
这是一个Oracle数据库出错消息,这个消息意味着指定的回滚段(Rollback Segment)达到了它能建立的最大有效块段(Extents)数量。
官方解释
当您尝试将多个新扩展添加到某个回滚段时,您可能会遇到如“ORA-01628”错误消息中所述的错误:“ max # extents (string) reached for rollback segment ”。这意味着该回滚段的有效块段(extents)总数已达到其可分配的最大数量。
常见案例
尝试在启用原子性事务时遇到如此错误:
SQL> begin
2 dbms_utility.atomic_transfer (src => ‘joe.ora_table’,fgt => ‘joe.table’);
3* end;
ERROR at line 1:
ORA-01628: max # extents (string) reached for rollback segment string
正常处理方法及步骤:
1.重建满的回滚段(数据库必须运行于非受检模式),以便清除错误:
create rollback segment rbs_name tablespace tbs_name storage (initial 100k)
2.将回滚段的 MINEXTENTS 设置值提高以避免这种情况发生:
alter rollback segment rbs_name storage (minextents 10);