首页 > 数据库 > Oracle > Oracle查询表占磁盘空间大小及移动表空间
SQL> select sum(bytes/1024) "SUM K" from user_segments where segment_name = 'TANGYUN_TEST';
SUM K
----------
64
计算表中大字段所占的表空间的大小:
这个计算出来的是主数据占的字节,不包含LOB字段的.
SQL> select nvl(sum(bytes/1024),0) "LOB K" from user_segments where segment_name in ( select segment_name from user_lobs where table_name= 'TANGYUN_TEST');
LOB K
----------
448
包括大字段的表所占的表空间为先计算普通表空间的大小加上LOB字段所占表空间大小之和。
[@more@]普通表的表空间移动:
从其他表空间把表TANGYUN移动到TBS_YYK_WBZYDATA表空间。
SQL> ALTER TABLE TANGYUN MOVE TABLESPACE TBS_YYK_WBZYDATA;
Table altered
移动索引表空间:
SQL> ALTER INDEX IDX_TANGYUN REBUILD TABLESPACE TBS_YYK_WBZYINDEX;
Index altered
移动大表的表空间:
把表TANGYUN_TEST的大字段PPHOTO从TBS_YYK_YSKDATA移动到TBS_YYK_WBZYDATA表空间。
SQL> ALTER TABLE TANGYUN_TEST MOVE TABLESPACE TBS_YYK_YSKDATA LOB(PPHOTO) STORE AS(TABLESPACE TBS_YYK_WBZYDATA);
Table altered
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24930246/viewspace-1043278/ ,如需转载,请注明出处,否则将追究法律责任。