Oracle的超长文本字段问题

 项目中,需要对数据库中的一个字段进行修改,以前是varchar2(4000)的一个类型,

 但是这次字段的值的长度为7000以上

  问题:使用PL/SQL直接将varchar修改为clob,提示无法修改:ORA-01439错误

  解决:

    1、要修改一个字段类型的时候,首先要将数据清空。

    2、clob是一个特殊类型,不能直接从varchar转换为clob,需要使用Long类型,来做一个过渡(可以先修改为Long类型,然后从Long修改为clob . )

 

-------------------索引失效----------------------

  上面我们对字段的类型,进行了修改,但是另一个问题又出来了,就是索引失效

  问题: ORA-01502: 索引或这类索引的分区处于不可用状态

  分析:这个错误是索引失效造成,必须重建索引

  解决:

   直接在PL/SQL中,运行下面语句,就可以了。

   alter index PK_T_CMS_CATALOG  rebuild;

   PK_T_CMS_CATALOG  是报错的那个索引的名字

posted @ 2012-04-01 19:59  红牌楼晴天  阅读(2310)  评论(0编辑  收藏  举报