使用 asmcmd 显示磁盘组、磁盘和目录使用情况(lsdg / lsdsk / du)
OracleASM命令
# As the grid user, with ORACLE_SID=+ASM1 (or +ASM):
asmcmd lsdg
# Disks in the disk group: -k sizes, -p state (header/mount/mode):
asmcmd lsdsk -k -G <diskgroup>
asmcmd lsdsk -p -G <diskgroup>
# I/O error and timing statistics:
asmcmd lsdsk --statistics -G <diskgroup>
# Disks that can be added (CANDIDATE/PROVISIONED/FORMER):
asmcmd lsdsk --candidate -p
# Space used by a database directory (MB):
asmcmd du +<diskgroup>/<db_unique_name>
asmcmd ls -l -s +<diskgroup>/<db_unique_name>/DATAFILE作用
从命令行显示磁盘组的冗余、总空间/可用空间和 Usable_file_MB,磁盘状态以及某个数据库在 ASM 中占用的空间。
适用场景
用于容量检查、添加磁盘前识别候选磁盘,以及在触发 "disk group full" 告警时找出哪个数据库在消耗空间。
注意
只读。如果 lsdg 中的 Usable_file_MB 为负,磁盘组在丢失一块磁盘/一个故障组后无法恢复冗余;请立即释放空间或添加磁盘。du 返回两个值:Used_MB 和 Mirror_used_MB(含镜像的使用量)。