您的位置:首页 > 其它

更改业务表空间和索引表空间方法

2018-01-27 00:00 190 查看
修改表所在的表空间如下所示:

A、单个修改:

alter table TABLE_NAME(表名) move tablespace TABLESPACENAME(其他表空间名)

B、批量修改

①查询当前用户下的所有表

select 'alter table '|| table_name ||' move tablespace tablespacename;' from user_all_tables;

②生成脚本——执行所有查询出的语句

C、补充:

select 'alter table '|| table_name ||' move tablespace SMS_WORK;' from user_all_tables where tablespace_name !='SMS_WORK';

修改索引所在的表空间如下所示:

A、oracle移动普通索引到其他表空间语法:(单个修改)

alter index 索引名 rebuild tablespace 其他表空间;

例:alter index ID rebuild tablespace GP_INDEX;

B、使用脚本执行查询的结果,这样就可以批量处理

①查询当前用户下的所有索引:

select 'alter index '|| index_name ||' rebuild tablespace GP_INDEX(索引表空间);' from user_indexes;

②生成脚本——执行所有查询出的语句

注意:

如果索引的所在列的数据类型为lob,则无法迁移索引,迁移时会报错:无法以数据类型 LOB 的表达式创建索引
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oralce 索引 表空间