更改业务表空间和索引表空间方法
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 的表达式创建索引
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 的表达式创建索引
相关文章推荐
- altibase更改用户的表空间方法
- VirtualBox更改虚拟硬盘 VDI文件空间大小的方法(设置的硬盘小了)
- Eclipse更改默认工作空间的方法
- ORACLE中表、索引的表空间的批量更改方法
- ORACLE中表、索引的表空间的批量更改方法
- 【Javaweb】更改Eclipse的默认的开发工程空间的方法
- 更改表空间的方法
- altibase更改表空间大小方法
- 更改Oracle数据库表的表空间-方法2
- VirtualBox更改虚拟硬盘 VDI文件空间大小的方法(特别注意空格和中文)
- oracle 增加表空间大小的四种方法
- 使用伪命名空间封装保护独自创建的对象方法
- C盘空间不足的整理磁盘方法
- jq.validate 中自定义方法根据不同的业务给出不同的提示信息(2017.05.19)
- 取消ECN更改的方法
- 内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档 的处理方法
- 类型或命名空间名称“UI”在类或命名空间“System.Web”中不存在(是否缺少程序集引用?)的解决方法
- 把Sql数据转换为业务数据的几种方法
- win8 C盘空间不足的几种解决方法