Oracle--->对字段进行修改(varchar2修改clob)+ 索引失效

  今天项目中,需要对数据库中的一个字段进行修改,以前是varchar(1000)的一个类型,但是这次要修改为clob类型,如何修改呢?

  问题:使用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  是报错的那个索引的名字

你可能感兴趣的:(Oracle,故障处理)