- 最后登录
- 2012-12-24
- 在线时间
- 19 小时
- 威望
- 77
- 金钱
- 367
- 注册时间
- 2012-5-25
- 阅读权限
- 50
- 帖子
- 38
- 精华
- 0
- 积分
- 77
- UID
- 457
|
1#
发表于 2012-6-5 09:59:47
|
查看: 7151 |
回复: 7
在查看表空间剩余空间的时候发现user tablespace非常大,而且利用率很低
Name Type Managment Files Size(M) Used(M) Free(M) used(%)
------------------------------ --------- ---------- ---------- ---------- ----------
USERS PERMANENT LOCAL 5 155923.8 68325 87598.8 43.82
应该是应用人员将用户数据文件,放在了usertablespace,于是想先压缩空间再做segment迁移的操作,
我先查询usertablespace的可压缩空间
SELECT a.file_id,a.tablespace_name,CEIL( (NVL(hwm,1)*c.value)/1024/1024 ) smallest,CEIL( blocks*c.value/1024/1024) currsize,CEIL( blocks*c.value/1024/1024) -
CEIL( (NVL(hwm,1)*c.value)/1024/1024 ) savings FROM DBA_DATA_FILES a,( SELECT file_id, MAX(block_id+blocks-1) hwm FROM DBA_EXTENTS
GROUP BY file_id ) b,v$parameter c WHERE c.name='db_block_size' and a.file_id = b.file_id(+) and a.tablespace_name='USERS' order by savings
/
FILE_ID TABLESPACE_NAME SMALLEST CURRSIZE SAVINGS
---------- ------------------------------ ---------- ---------- ----------
25 USERS 30720 30720 0
26 USERS 30720 30720 0
7 USERS 32764 32764 0
24 USERS 29864 30720 856
27 USERS 18280 31000 12720
为什么现在可以压缩的空间居然只有13G不到,明明表空间空余的空间是87G多啊?===个人猜测可能是从文件尾开始写,所以无法压缩,请问现在我如何回收我的空间? |
|