点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > Oracle>详细内容

案例学习Oracle错误:ORA-01631

添加时间:2010-1-4
    相关阅读: 案例 解决方案 方案 Oracle 系统

案例一:

  向表中插入新的记录时出错

  我创建了如下的表空间:

  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;

  你再也不会遇到这些错误消息了。
Error inserting new record in table

  I created this tablespace:

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

  DEFAULT STORAGE (INITIAL 10240 NEXT 10240 MINEXTENTS 1 MAXEXTENTS 256

  PCTINCREASE 0) ONLINE;

  When I try to insert a new record in table ST I get this error:

  ORA-01631:maxextents(256) reached in table TOM.ST

  ORA-01631 max # extents (string) reached in table string.string

  Cause A table tried to extend past MAXEXTENTS.

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

  ORA-01631 max # extents (string) reached in table string.string

  Cause A table tried to extend past MAXEXTENTS.

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

  I tried to increase maxextents: (user=system)

  but I get this error:

  ERROR at line 1:

  ORA-25150: ALTERING of extent parameters not permitted

  ORA-25150 ALTERING of extent parameters not permitted

  Cause An attempt was made to alter the extent parameters for a segment in a tablespace with autoallocate or uniform extent allocation policy.

  Action Remove the appropriate extent parameters from the command.

  ORA-25150 ALTERING of extent parameters not permitted

  Cause An attempt was made to alter the extent parameters for a segment in a tablespace with autoallocate or uniform extent allocation policy.

  Action Remove the appropriate extent parameters from the command.

  also

  alter tablespace TBS default storage (maxextents 500);

  ERROR at line 1:

  ORA-25143: default storage clause is not compatible with allocation policy

  ORA-25143 default storage clause is not compatible with allocation policy

  Cause Default storage clause was specified for a tablespace with AUTOALLOCATE or UNIFORM policy.

  Action Omit the storage clause.

  ORA-25143 default storage clause is not compatible with allocation policy

  Cause Default storage clause was specified for a tablespace with AUTOALLOCATE or UNIFORM policy.

  Action Omit the storage clause.

 

本文作者:
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册