在使用delete删除数据后hvm并不会释放,究竟有多少空间可以收回呢
下面的脚本能帮你解决这个问题。
SQL> SELECT table_name,
2 BLOCKS * 8192 / 1024 / 1024 已经分配空间MB,
3 NUM_ROWS * AVG_ROW_LEN / 1024 / 1024 实际占用空间MB,
4 (BLOCKS * 8192 / 1024 / 1024) -
5 (NUM_ROWS * AVG_ROW_LEN / 1024 / 1024) 可回收空间MB
6 FROM user_tables
7 where table_name = 'PRPJPAYREFREC'
8 ;
TABLE_NAME 已经分配空间MB 实际占用空间MB 可回收空间MB
------------------------------ --------------------- --------------------- ----------------
PRPJPAYREFREC 1946.484375 1349.4086952 597.075679
说明:8192 指数据库的block size 大小,需要根据数据库的实际情况进行替换
在命令行通过 show parameter db_block_size命令查看其大小
SQL> show parameter db_block_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192