ORA-01650:unable to extend rollback segment NAME by NUM

intablespace NAME

产生原因:上述ORACLE 错误为回滚段表空间不足引起的,这也

是ORACLE 数据管理员最常见的ORACLE 错误信息。当用户在做一个

非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空

间已满,无法再进行分配,就会出现上述的错误。

解决方式:使用“ALTER TABLESPACE tablespace_name ADD

DATAFILE filename SIZE size_of_file”命令向指定的数据增加表空间,

根据具体的情况可以增加一个或多个表空间。当然这与还与你主机上的

裸盘设备有关,如果你主机的裸盘设备已经没有多余的使用空间,建议

你不要轻意的增加回滚段表空间的大小,可使用下列的语句先查询一下

剩余的tablespace 空间有多少:

Select user_name,sql_text from

V$open_cursor where user_name=&rsquo;<user_name>&rsquo;;

如果多余的空间比较多,就可以适当追加一个大的回滚段给表空间

使用,从而避免上述的错误。你也可以用以下语句来检测一下rollback

segment 的竞争状况:

Select class,count from V$waitstat where calss in(&lsquo;system undo

header&rsquo;,&rsquo;system undo block&rsquo;,&rsquo;undo header&rsquo;,&rsquo;undo block&rsquo;);

Select sum(value) from V$sysstat where name in

(&lsquo;db_block_gets&rsquo;,&rsquo;consistents gets&rsquo;);

如果任何一个class in count/sum(value)大于1%,就应该考虑增加

rollback segment。

如果还是没有解决,可以选择专业的Oracle数据库服务公司协助你完成。