#!C:\Users\viviliving\AppData\Local\Programs\Python\Python37-32\python
# -*- coding: utf-8 -*-
# -*- coding: gbk -*-
import sys
import csv
import cx_Oracle
import codecs
import os
import numpy as np
import matplotlib.pyplot as plt
#os.environ['NLS_LANG']='"SIMPLIFIED CHINESE_CHINA.ZHS16GBK"'
os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
os.environ['PATH']='E:\instantclientwin32_jb51\instantclient_11_2;%path%'
os.environ['TNS_ADMIN']= 'E:\instantclientwin32_jb51\instantclient_11_2'
os.environ['ORACLE_BASE'] = 'E:\instantclientwin32_jb51\instantclient_11_2'
os.environ['ORACLE_HOME'] = 'E:\instantclientwin32_jb51\instantclient_11_2'
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.figure(figsize=(6,5))
conn=cx_Oracle.connect("system","oracle","10.22.221.8/qhsbora")
curs=conn.cursor()
sql="select t.status, sum(t.blocks) * 8 / 1024 from dba_undo_extents t group by t.status"
while(True):
curs.execute(sql)
x=[]
y=[]
c = ['r','b','g']
ll_row=0
group_labels=[]
for row_data in curs:
print(row_data[0])
print(row_data[1])
group_labels.append(row_data[0])
y.append(row_data[1])
#fig,ax = plt.subplots()
x = np.arange(1, len(y)+1, 1)
for ll_row in range(len(y)):
plt.bar(x[ll_row],y[ll_row],fc=c[ll_row])
#y = [2,2,2,2,2,3,3,6,10,14,16,16,18,24,25,87]
#ax is the axes instance
#group_labels = ['翟兆鵬','吳傑','李想','張媛媛','陳輔國','田常浩','王勇','王保德','寇嘉洋','高曉樂','崔強','邢繼東','王甲蓉','李祥','郭靖','王希剛']
#plt.bar(x,y,facecolor=c,width=0.3)
plt.xticks(x, group_labels, rotation=90,color='k')
plt.xlabel("undo狀態")
plt.ylabel("空間量(M)")
plt.title('undo',color='blue', loc='center')
ax = plt.gca()
for label in ax.xaxis.get_ticklabels():
label.set_rotation(0)
for xx,yy in zip(x,y):
ax.text(xx+0.05,yy+0.05,'%d' %yy, ha='center',va='bottom',color='k',rotation=0)
plt.grid()
plt.show()