ORA-01693: MAX # EXTENTS 4096 reached in lobsegment SYS_LOB0000024832C00008$$ORA-01693: max # extents (string) reached in lob segment string.string
Cause: A LOB segment tried to extend past MAXEXTENTS.
Action: If MAXEXTENTS < system max, raise it. Otherwise, recreate with larger INITIAL/NEXT/PCTINCREASE.
ALTER TABLESPACE USERS DEFAULT STORAGE (MAXEXTENTS UNLIMITED);
ALTER TABLE T_ID_CHECK_ACCESSORIES STORAGE (MAXEXTENTS UNLIMITED);
問題持續,因 LOB Segment 儲存屬性獨立於表級 STORAGE 子句。
表原建於 USERS 表空間,而非規劃的 TEST 表空間 (IMP 導入時用戶預設表空間為 USERS)。
ALTER TABLE T_ID_CHECK_ACCESSORIES MOVE TABLESPACE TEST;
測試上傳大附件,**即刻恢復正常**。
SELECT 'ALTER TABLE ' || TABLE_NAME || ' MOVE TABLESPACE TEST;'
FROM USER_TABLES;
SELECT 'ALTER INDEX ' || INDEX_NAME || ' REBUILD TABLESPACE TEST;'
FROM USER_INDEXES;
4 個含 LOB 欄位的表,索引 REBUILD 失敗:ORA-02327: cannot create index on expression with datatype LOB。
原因:LOB 索引 (LOB Segment) 不能用標準 REBUILD,必須在 MOVE TABLE 時同步指定 LOB 儲存子句。
ALTER TABLE table_name MOVE
TABLESPACE new_tbsp
STORAGE (new_storage)
LOB (lob_column) STORE AS lobsegment
(TABLESPACE new_tbsp STORAGE (new_storage));
-- 檢查 UNUSABLE 索引
SELECT INDEX_NAME FROM USER_INDEXES WHERE STATUS = 'UNUSABLE';
-- 重建
ALTER INDEX index_name REBUILD;