Oracle 批量修改某个用户下表的表空间

Posted 儿时精神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 批量修改某个用户下表的表空间相关的知识,希望对你有一定的参考价值。

说明:一般来说要修改表的表空间需要同时修改表的表空间和其对应的索引表空间,并且在修改含有BOLB字段的表的表空间时又不一样,具体请参考末尾的链接

思路:拼凑一个满足条件的批处理查询语句,将查询的结果复制出来作为批处理语句执行。具体步骤如下:

1、写查询

--查询某个用户下的表,并生成一个修改其命名空间的批处理语句
select \'alter table  \'|| table_name ||\'  move tablespace 要迁入的表空间;\' from dba_tables t where t.owner=\'要迁出的表归属的用户名\'; 

补充:

--查询当前库下所有的表
SELECT * FROM DBA_TABLES 
--可以加入筛选条件
SELECT * FROM DBA_TABLES WHERE TABLE_NAME LIKE \'EM_%\'
SELECT * FROM DBA_TABLES WHERE OWNER=\'某个用户名\'; 
--查询用户表
SELECT * FROM USER_TABLES

2、执行查询结果,得到一个批处理语句,截图如下:

3、复制出查询结果,批处理执行

 参考网站(请关注):ORACLE修改用户表所属表空间的步骤

以上是关于Oracle 批量修改某个用户下表的表空间的主要内容,如果未能解决你的问题,请参考以下文章

如何查看用户对于表空间使用空间的权限

如何查看oracle中某个用户占用表空间大小情况

oracle修改表的表空间

在Oracle数据库中如何查询某一个表空间下的某张表里面的数据;怎么查询某个表空间下的所有表的信息

如何在oracle中查询某个表的占用了多大的空间!如果是sql语句请讲的详细子我是菜鸟!

怎么统计oracle数据库下某个用户的表的数量