ORACLE ORA-1693错误以及表和索引的表空间的移动

打不死的骚年2

打不死的骚年2

2016-02-19 14:38

下面图老师小编跟大家分享ORACLE ORA-1693错误以及表和索引的表空间的移动,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

  本公司开发的软件,有客户不能上传大的附件,页面不报任何错误。查看JBOSS日志,同样看不到任何错误,排除了软件本身故障。

  在查看Oracle数据库日志,发现当上传大的附件时出现错误信息

  OEA_1693: MAX # EXTENTS 4096 reached in lobsegment   nes.sys_LOB0000024832C00008$$

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  解决过程

  上网找了下资料  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)

   问题同样不能解决

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  后来在查看该表结构时意外发现该表用的表空间为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 大家来多交流哦!

展开更多 50%)
分享

猜你喜欢

ORACLE ORA-1693错误以及表和索引的表空间的移动

编程语言 网络编程
ORACLE ORA-1693错误以及表和索引的表空间的移动

Oracle轻松取得建表和索引的DDL语句

编程语言 网络编程
Oracle轻松取得建表和索引的DDL语句

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

更改Oracle数据库表的表空间

编程语言 网络编程
更改Oracle数据库表的表空间

Oracle9i取得建表和索引的DDL语句

编程语言 网络编程
Oracle9i取得建表和索引的DDL语句

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Oracle 9i轻松取得建表和索引的DDL语句

电脑网络
Oracle 9i轻松取得建表和索引的DDL语句

word插入索引和目录“错误!未找到图形项目表”

word
word插入索引和目录“错误!未找到图形项目表”

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

oracle下导出某用户所有表的方法

oracle下导出某用户所有表的方法

浅谈几种保护页面的方法

浅谈几种保护页面的方法
下拉加载更多内容 ↓