学习python监控oracle表空间

1 创建存储过程

CREATE OR REPLACE PROCEDURE PROC_TABLESPACE AS
BEGIN
  
 delete from  tablespace_temp;
 commit;
  insert into tablespace_temp 
  SELECT UPPER(F.TABLESPACE_NAME) ,
  D.TOT_GROOTTE_MB ,
  D.TOT_GROOTTE_MB - F.TOTAL_BYTES ,
  TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') ,
  F.TOTAL_BYTES ,
  F.MAX_BYTES 
  FROM (SELECT TABLESPACE_NAME,
  ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
  ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
  FROM DBA_FREE_SPACE
  GROUP BY TABLESPACE_NAME) F,
  (SELECT DD.TABLESPACE_NAME,
   ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
  FROM DBA_DATA_FILES DD
  GROUP BY DD.TABLESPACE_NAME) D
  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
  ORDER BY 1;
   commit;
    
END PROC_TABLESPACE;

2 python调用存储过程

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import cx_Oracle
conn=cx_Oracle.connect('system/system@192.168.8.210/subE3')
c=conn.cursor()
c.callproc('PROC_TABLESPACE')
x=c.execute('select * from tablespace_temp')
result=x.fetchall()
print result[1][3]
c.close()
conn.close()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值