数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

oracle修改索引现有表空间


发布日期:2024年05月23日
 
oracle修改索引现有表空间

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

//假设用户USER现有表空间TSTS需要迁移其下所有表空间TS的索引到TS可使用以下语句(在pl sql中)

SELECT ALTER INDEX ||

INDEX_NAME ||

REBUILD TABLESPACE T;

FROM DBA_INDEXES WHERE TABLE_OWNER = USER AND TABLESPACE = TS;

//也可以直接写sql语句 ALTER INDEX YOUR_INDEX_NAME REBUILD TABLESPACE TS;

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

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

//先创建一个临时表 CREATE TABLE T_TABLE AS SELECT* FROMTABLE ;

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

//重新创建刚刚的表 CREATE TABLETABLE AS SELECT* FROMT_TABLE;

//删除临时表 DROP TABLET_TABLE;

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

上一篇:oracle系统表

下一篇:全新感受Oracle 9i