li
  当前位置:主页 > 性能优化 > 文章内容
li
ORACLE ORA-1693错误以及表和索引的表空间的移动
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-03-14   阅读:7  

    

  在查看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条索引时,正常!!!
IXDBA.NET技术社区
 
  所有问题全部解决了,但很多地方还是一头雾水(只怪自己太菜了)只有以后多加强学习,慢慢了解了。




  上一篇: ORA-00701 warmstarting对象的另...   下一篇: oracle ora-01861文字与格式字符...
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·ORA-00701 warmstarting对象的另...
·ORA-600 [2103]错误解决过程
·ORA-04098错误解决方法
·ora-12638:身份证明检索失败的解...
·如何解决ora-600 12700错误
·ORA-00600: internal error code...
·Oracle中ORA-01599错误的解决方法
·ORA-12154: TNS: 无法解析指定的...
·ORA-01562 和 ORA-01628 问题解决...
·ora-02069 错误解决方法
·oracle ora-01861文字与格式字符...
·ORA-00904 invalid column name案...
·oracle ORA-01991错误--重建密码...
·oracle中ora-0100错误打开游标过...
·ORA-25153: 临时表空间为空
·ORA-29516 Aurora assertion fai...
·ORA-01460的解决方法
·ORA-01599: failed to acquire r...
·如何解决Ora-600 4193错误
·ORA-01502错误成因和解决方法
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接