ORA-01628:max # of extents num reached for rollback segment num
產生原因:這種錯誤通常為一個回滾段和一個表空間已經達到MAXEXTENTS參數設置的極限。要注意的是這個MAXEXTENTS不是該回滾段或表空間的硬件極限,硬件極限取決於數據庫創建時在init.ora文件中指定的DB_BLOCK_SIZE參數的值。
解決方法:使用SQL命令ALTER TABLESPACE…STORAGE(MAXEXTENTS XXXX)來增加 MAXEXTENTS,其中“XXXX”值必須大於錯誤信息中所指的數值,但不能大於LARGEST MAXEXTENT的值,如果已經達到了LARGEST MAXEXTENT VALUE,解決的辦法就是重新創建較大的范圍尺寸,使用帶有選項COMPRESS=Y的Export工具導出表,如果表空間有可用空間,先給表做一個備份,用alter tablespace tablespace_name更改其名字,然后再裝載表回數據庫。
查看其錯誤出現的地方,如果出現在回滾段或索引上,那么必須將其刪除並重建,如果出現在臨時表空間,修改臨時表空間的存儲字段,便可解決這個問題。
一個報錯例子如下:
ORA-1628:max # extents 50 reached for rollback segment RBS_1
相應的英文如下:
Cause: An attempt was made to extend a rollback segment that already has reached its maximum size or space could not be allocated in the data dictionary to contain the definition of the object.
Action:If possible,increase the value of either the MAXEXTENTS or PCTINCREASE initialization parameters or find the data dictionary table lacking space and alter the storage parameters,as described in the Oracle8 Server Administrator’s Guide