zoukankan      html  css  js  c++  java
  • oracle 修改索引现有表空间

    工作日记之《修改索引现有表空间》


    //dba_indexes可查询所有索引,以及索引部分信息,可以灵活运用于其他用途

    //假设用户USER1现有表空间TS1、TS2,需要迁移其下所有表空间TS1的索引到TS2中,可使用以下语句(在pl sql中)。

    SELECT 'ALTER INDEX '|| INDEX_NAME || ' REBUILD TABLESPACE T2;' FROM DBA_INDEXES WHERE TABLE_OWNER = 'USER1AND TABLESPACE = 'TS1';


    //也可以直接写sql语句

    ALTER INDEX YOUR_INDEX_NAME REBUILD TABLESPACE TS2;


    //执行上面这句话,会查询出N多条记录,复制,新开SQL Window,粘贴,F8执行。执行完毕后,再次查询,发现USER1下,所有属于TS1的索引都改为TS2了。红色需要修改为自己的表空间和用户


    注意:上面执行完毕后,可能会遇到不能alter 或 drop Lob类型索引的错误,这是因为你的表中BLOB或CLOB类型字段,它会自动给这类数据增加所以,并且无法直接修改。可以用以下语句解决。


    //先创建一个临时表

    CREATE TABLE T_TABLE1AS SELECT*FROMTABLE1 ;

    //删除有LOB字段的表
    DROP TABLE TABLE1;

    //重新创建刚刚的表
    CREATETABLETABLE1AS SELECT*FROMT_TABLE1;

    //删除临时表
    DROPTABLET_TABLE1;


    //颜色随便弄弄,你们知道就好了...

  • 相关阅读:
    一个给照片换底色的牛逼网站
    如何写好ppt
    当你迷茫时,就来看看这个视频!
    IPV6地址检测
    性能测试流程
    pycharm中无法以pytest运行
    Mac charles配置完成后无法上网
    Mac Mysql安装过程的各种坑
    python常用模块之——正则re模块
    Jmeter参数化真香
  • 原文地址:https://www.cnblogs.com/riskyer/p/3362342.html
Copyright © 2011-2022 走看看