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博客 ” ,链接:http://blog.itpub.net/24930246/viewspace-1043278/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24930246/viewspace-1043278/