讲解Oracle操作中常见的错误及解决方法
2008-09-02 12:48:15 来源:WEB开发网1.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空间有多少:
selectuser_name,sql_textfromV$open_cursor
whereuser_name=’’;
如果多余的空间比较多,就可以适当追加一个大的回滚段给表空间使用,从而避免上述的错误。你也可以用以下语句来检测一下rollback segment的竞争状况:
selectclass,countfromV$waitstatwherecalssin(‘systemundoheader’,’
systemundoblock’,’undoheader’,’undoblock’);
和
selectsum(value)fromV$sysstatwherenamein
(‘db_block_gets’,’consistentsgets’);
如果任何一个class in count/sum(value)大于1%,就应该考虑增加rollback segment。
ORA-01652:unable to extend temp segment by num in tablespace name
错误产生的具体原因:ORACLE临时段表空间不足,因为ORACLE总是尽量分配连续空间,一但没有足够的可分配空间或者分配不连续就会出现上述的现象。
更多精彩
赞助商链接