案例學習Oracle錯誤:ORA-01631(轉)

ba發表於2007-08-17
案例學習Oracle錯誤:ORA-01631(轉)[@more@]  案例一:

  向表中插入新的記錄時出錯

  我建立瞭如下的表空間:

  CREATE TABLESPACE TBS DATAFILE 'C:....XXX01.dbf' SIZE 500M REUSE

  DEFAULT STORAGE (INITIAL 10240 NEXT 10240 MINEXTENTS 1 MAXEXTENTS 256

  PCTINCREASE 0) ONLINE;

  當我想要向表ST I中插入一條新的記錄時,出現瞭如下的錯誤資訊:

  ORA-01631:達到表TOM.ST的最大擴充套件(256)

  原因:一個表格嘗試擴充套件此前定義的最大擴充套件

  解決方案:如果此前定義的最大擴充套件小雨系統的最大值,則擴充套件;否則,下次需要重新建立更大的初始化值或者增加引數;

  我想要增加最大擴充套件:(user=system)

  ALTER TABLE TOM.ST STORAGE(MAXEXTENTS 500);

  但是我遇到了如下的錯誤:

  ERROR at line 1:

  ORA-25150: 不允許修改擴充套件引數

  還有,表空間TBS預設儲存(最大擴充套件 500);

  原因:一個在表空間中的自動分配或者按照統一長度自動分配原則產生的一節相關的嘗試將改變長度引數。

  解決方案:將命令列中相應的長度引數刪去

  ERROR at line 1:

  ORA-25143: 預設的儲存規則與分配策略不符

  原因:預設的儲存子句正透過自動分配或者統一分配原則指明瞭一個表空間

  解決方案:忽略這個儲存子句

  我如何解決這個錯誤?

  這個問題於2004年3月2日提出

  這個問題由Brian Peasland解答

  你的表空間是一個本地管理的表空間(LMT)。本地管理的表空間不使用最大擴充套件,這就是為什麼你收到ORA-25150 和 ORA-25143錯誤的原因。但是在惟一的一種情況下,你就不應該收到ORA-1631錯誤。試試用如下方式嘗試建立一個不同的表空間:

  CREATE TABLESPACE TBS2 DATAFILE 'C:....XXX01.dbf' SIZE 500M REUSE

  EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

  然後將這個表用如下的語句移動到新的表空間去:

  ALTER TABLE TOM.ST MOVE TABLESPACE TBS2;

  你再也不會遇到這些錯誤訊息了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-963593/,如需轉載,請註明出處,否則將追究法律責任。

相關文章