html監控ASM磁碟組使用率

lusklusklusk發表於2017-05-25
CREATE OR REPLACE procedure SYSTEM.sp_asm_check as
x number;
v_html varchar2(30000);
begin
select min(round((free_mb/total_mb)*100)) into x  from gv$asm_diskgroup;
if x<30 then
      v_html:='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""  xmlns="">';
      v_html:=v_html||'<head><meta http-equiv=Content-Type content=text/html;charset=gb2312></head>';
      v_html:=v_html||'<body>';
      v_html:=v_html||'<table style="border-collapse:collapse">';
      v_html:=v_html||'<tr>';
      v_html:=v_html||'<td style="border:1px solid black" >name</td><td style="border:1px solid black"  >total_Gb</td><td style="border:1px solid black" >free_Gb</td><td style="border:1px solid black" >canuse</td>';
      v_html:=v_html||'</tr>';
      for mm in ( select name,round(total_mb/1024) total_Gb,round(free_mb/1024) free_Gb,round((free_mb/total_mb)*100) canuse from gv$asm_diskgroup)  loop
        v_html:=v_html||'<tr>';
        v_html:=v_html||'<td style="border:1px solid black" >'||mm.name||'</td><td style="border:1px solid black" >'||mm.total_Gb||'</td><td style="border:1px solid black" >'||mm.free_Gb||'</td><td style="border:1px solid black" >'||mm.canuse||'%'||'</td>';
        v_html:=v_html||'</tr>';
      end loop;
      v_html:=v_html||'</table>';
      v_html:=v_html||'</body>';
      v_html:=v_html||'</html>';
begin
SEND_EMAIL  ('mdssysmail@mdsets.cn'
,'luxus.liao@mic.com.tw'
,'ASM CANUSE<30 from MIOADB'
,v_html
,'luxus.liao@mic.com.tw'
,'luxus.liao@mic.com.tw'
,  'text/html;charset=gb2312'
, '61.129.47.35'
, 25);
end;
end if;
exception when others then
  dbms_output.put_line(sqlcode);
  rollback;
end;
/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2139888/,如需轉載,請註明出處,否則將追究法律責任。

相關文章