- 最后登录
- 2023-8-16
- 在线时间
- 1686 小时
- 威望
- 2135
- 金钱
- 50532
- 注册时间
- 2011-10-12
- 阅读权限
- 200
- 帖子
- 5207
- 精华
- 39
- 积分
- 2135
- UID
- 2
|
5#
发表于 2014-2-23 14:29:05
HOT_USED_MB + COLD_USED_MB in v$asm_disk should give the space utilization at each ASM disk level.
Mostly it will be COLD_USED_MB as HOT_USED_MB will be 0 in most cases, until you have implemented IDP(intelligent data placement).
In that case, HOT_USED_MB for such a disk will be a non-zero number and the COLD_USED_MB for that disk will be less by that equivalent amount.
Regardless, it will be the summation of HOT_USED_MB and COLD_USED_MB to give the space utilization for each ASM disk.
And in addition to that, v$asm_disk also has the OS_MB, TOTAL_MB and FREE_MB columns. TOTAL_MB – FREE_MB will also give the disk utilization.
So there are numerous ways you can achieve this from v$asm_disk itself.
If you'd like to know which asm file is sitting on a particular disk, you can use one of the following sqls.
1. at.sql
select group_kfdat, number_kfdat, fnum_kfdat, count(*) from x$kfdat -- fnum_kfdata is asmfile#
where group_kfdat=6 -- diskgroup number
and fnum_kfdat != 1048575
group by group_kfdat, number_kfdat, fnum_kfdat
/
2. fn.sql
~~~~~~~~~
set linesize 120
col name format a50
select group_kffxp, disk_kffxp, number_kffxp, count(au_kffxp) -- number_kffxp is asmfile#
from x$kffxp f
where ( xnum_kffxp != 2147483648 and disk_kffxp != 65534 and au_kffxp != 4294967294 )
--and number_kffxp = 282 -- file number
and group_kffxp=6 -- diskgroup number
group by group_kffxp, disk_kffxp, number_kffxp
order by group_kffxp, disk_kffxp, number_kffxp
/ |
|