ORACLE的ORA-1693錯誤以及表和索引的資料表空間的移動

來源:互聯網
上載者:User

本公司開發的軟體,有客戶不能上傳大的附件,頁面不報任何錯誤。查看JBOSS日誌,同樣看不到任何錯誤,排除了軟體本身故障。

在查看oracle資料庫日誌,發現當上傳大的附件時出現錯誤資訊

OEA_1693: MAX # EXTENTS 4096 reached in lobsegment

nes.sys_LOB0000024832C00008$$

解決過程

上網找了下資料

ORA-1693 max # extents (string) reached in lob segment string.string

Cause: A LOB segment tried to extend past MAXEXTENTS.

Action: If MAXEXTENTS is less than the system max, raise it. Otherwise, you must re-create with larger initial, next or PCTINCREASE parameters.

將資料表空間的maxextents改為無限制,問題還是存在將該表的maxextents改為無限制

alter table T_ID_CHECK_ACCESSORIES storage (maxextents unlimited)

問題同樣不能解決

後來在查看該表結構時意外發現該表用的資料表空間為USERS 而沒有用到我為其建立的資料表空間test,由於資料庫是用IMP匯入資料的,可能是當初EXP匯出時該使用者是用的oracle預設資料表空間。

由於有以上發現我決定將該表的資料表空間修改為test

Alter table T_ID_CHECK_ACCESSORIES move tablespace test;

修改該表後測試系統 一切正常能正常傳大附件

解決問題後還是一頭霧水,為什麼該表用USERS資料表空間會出現ORA-01693問題,改為TEST資料表空間後正常,USERS和TEST的maxextents都為無限制。

突然想到該使用者下面的所有表同樣都在USERS資料表空間中,決定把所有表都移至TEST中由於表較多所以用一個查詢產生所需要的命令

Select ‘alter table ‘ || table_name || ‘ move tablespace test; ‘ from user_tables;

然後執行該查詢所產生的結果

將該使用者下的索引移至資料表空間TEST

Select ‘alter index ‘|| index_name || ‘ rebuild tablespace test;’

執行該查詢產生的命令後,發現有4個表報錯

ORA-02327: cannot create index on expression with datatype LOB

檢查4個表的結構後,都有個LOB欄位那說明有LOB欄位的索引不能用正常的

alter index index_name rebuild talespace tablespace_name

網上查詢得知我們要移動LOB的索引就必須使用特定的文法來移動LOB的對象,具體的文法如下:

ALTER TABLE table_name MOVE

TABLESPACE new_tbsp

STORAGE(new_storage)

LOB (lobcol) --後面括弧裡面內容為 LOB 欄位名

STORE AS lobsegment

(TABLESPACE new_tbsp

STORAGE (new_storage));

   檢查是否有索引狀態為'UNUSABLE'select index_name from user_indexes t where t.status ='UNUSABLE';如果有則對該索引重建alter index index_name rebuild

   使用以上文法在修改這4條索引時,正常!!!

   所有問題全部解決了,但很多地方還是一頭霧水(只怪自己太菜了)只有以後多加強學習,慢慢瞭解了。我的部落格地址是:tianchi.csai.cn 大家來多交流哦!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.