如何监控 ASM 磁盘组上的空间使用情况

Roy*_*Roy 7 oracle oracle-asm oracle-database-appliance

昨晚,我们其中一个 Oracle 数据库机上的恢复区已满。这是在其中一个数据库警报日志中报告的,我们能够在下一次日志切换之前清除一些空间,此时生产将停止。

多一点警告当然会很好,比如当磁盘组已满 70% 时。

我们有哪些选项可以监控 ASM 内的磁盘使用情况?

Phi*_*lᵀᴹ 16

只需使用asmcmd. 例如:

[oracle@oel61 ~]$ . oraenv
ORACLE_SID = [+ASM] ? +ASM
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@oel61 ~]$ asmcmd lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  1048576     30708    28479                0           28479              0             N  DATA/
[oracle@oel61 ~]$ 
Run Code Online (Sandbox Code Playgroud)

或者直接从 ASM Oracle 实例获取信息:

[oracle@oel61 ~]$ . oraenv
ORACLE_SID = [+ASM] ? +ASM
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@oel61 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Thu Mar 7 10:44:44 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Automatic Storage Management option

SQL> SELECT name, free_mb, total_mb, free_mb/total_mb*100 as percentage 
     FROM v$asm_diskgroup;

NAME                  FREE_MB   TOTAL_MB PERCENTAGE
------------------------------ ---------- ---------- ----------
DATA                    28479      30708 92.7413052

SQL> 
Run Code Online (Sandbox Code Playgroud)