python脚本自动生成ORACLE AWR报告

  
  
  
  
  1. #!/usr/bin/python  
  2. #coding=gbk  
  3. #2011-08-12  
  4. import os  
  5. import sys  
  6. import smtplib  
  7. import pickle  
  8. import mimetypes   
  9. from email.MIMEText import MIMEText   
  10. from email.MIMEImage import MIMEImage  
  11. from email.MIMEMultipart import MIMEMultipart  
  12. SMTP_SERVER='localhost' 
  13. #EMAIL_USER='root'  
  14. #EMAIL_PASSWD=''  
  15. EMAIL_SUBJECT='dg01.com.cn AWR Report' 
  16. FROM_USER='[email protected]' 
  17. TO_USERS=['[email protected]','[email protected]']  
  18. def createawr():  
  19.   pipe = os.popen(' su - oracle -c "/u01/oracle/product/10.2.0/db_1/bin/sqlplus /nolog @awrrpt.sql"')  
  20.   print 'create awr report is ok!' 
  21. def mysendmail(fromaddr,toaddrs,subject):  
  22.         COMMASPACE=',' 
  23.         msg = MIMEMultipart()   
  24.         msg['From'] = fromaddr  
  25.         msg['To'] = COMMASPACE.join(toaddrs)  
  26.         msg['Subject'] = subject  
  27.         txt = MIMEText("172.21.1.30 AWR Report, The report be send at 9 AM every day ")   
  28.         msg.attach(txt)   
  29.         fileName = r'/home/oracle/awr.html' 
  30.         ctype, encoding = mimetypes.guess_type(fileName)   
  31.         if ctype is None or encoding is not None:   
  32.             ctype = 'application/octet-stream' 
  33.         maintype, subtype = ctype.split('/'1)   
  34.         att = MIMEImage((lambda f: (f.read(), f.close()))(open(fileName, 'rb'))[0], _subtype = subtype)   
  35.         att.add_header('Content-Disposition''attachment', filename = fileName)   
  36.         msg.attach(att)   
  37.         server=smtplib.SMTP(SMTP_SERVER)  
  38.         #server.login(EMAIL_USER,EMAIL_PASSWD)  
  39.         server.sendmail(fromaddr,toaddrs,msg.as_string())  
  40.         server.quit()  
  41. if __name__=='__main__':  
  42.                 createawr()  
  43.                 mysendmail(FROM_USER, TO_USERS, EMAIL_SUBJECT)  
  44.                 print 'send successful' 

 

你可能感兴趣的:(oracle,python,脚本,自动生成,AWR报告)