python批量統計Oracle資料庫的空間使用量
資料庫的空間使用情況是好多單位需要關注的,當Oracle資料庫伺服器比較多的時候,手動統計就顯得費時費力了,下面編寫了python指令碼批量統計Oracle的表空間總使用量
#! /usr/bin/python
# -*- coding: UTF-8 -*-
import cx_Oracle as oracle
import time
def nowdate():
#獲取當前時間
nowdate=time.strftime("%Y%m%d",time.localtime())
return nowdate
def get_connect(userinfo):
#獲取Oracle資料庫的登陸資訊
try:
conn=oracle.connect(userinfo)
cursor=conn.cursor()
except Exception as error:
print(error)
else:
return cursor
def get_sql(filename):
#獲取統計Oracle資料庫的sql語句
filename=filename
try:
with open(filename) as file:
sql=file.read()
except FileNotFoundError:
error="Sorry,the file " + filename + " does not exist."
print(error)
else:
return sql
def get_data(sql):
#獲取Oracle資料庫的表空間使用情況
cursor.execute(sql)
data = cursor.fetchall()
return data
def get_instance_name():
#獲取Oracle資料庫例項名字
cursor.execute('select instance_name from v$instance')
data = cursor.fetchall()
cursor.close()
# conn.close()
return data
def put_data(instance_name,instance_data,nowtime):
#將得到的資料insert到特定的例項的表中,這裡選擇的是202的例項
host = "10.29.29.1"
port = "1521"
sid = "test209"
dsn = oracle.makedsn(host, port, sid)
conn =oracle.connect("liuwenhe", "liuwenhe", dsn)
cursor = conn.cursor()
insert_sql="insert into liuwenhe.tongji values ('"+instance_name+"','"+str(instance_data)+"','"+nowtime+"')"
cursor.execute(insert_sql)
cursor.close()
conn.commit()
conn.close()
if __name__=='__main__':
try:
userinfofile='userinfo.txt'
with open(userinfofile) as file:
userinfos=file.readlines()
for userinfo in userinfos:
cursor=get_connect(userinfo)
instance_name1=get_instance_name()
instance_name=instance_name1[0][0]
sql=get_sql('select')
cursor=get_connect(userinfo)
instance_data1=get_data(sql)
instance_data=instance_data1[0][0]
nowtime=nowdate()
put_data(instance_name,instance_data,nowtime)
except Exception as e:
print (e)
其中統計Oracle表空間的的sql為(不包含undo表空間和臨時表空間):
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29654823/viewspace-2287091/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 清理oracle資料庫空間Oracle資料庫
- Oracle 批量建表空間Oracle
- oracle dg庫資料檔案空間不足Oracle
- Oracle資料庫閃回區空間不足Oracle資料庫
- Oracle案例11——Oracle表空間資料庫檔案收縮Oracle資料庫
- GeoRapter工具將shapefile資料匯入到Oracle空間資料庫中APTOracle資料庫
- [轉帖]達夢資料庫-統計資料表資料量及空間表大小資料庫
- 表空間使用量查詢
- oracle資料庫連續相同資料的統計方法Oracle資料庫
- 時間和空間的完美統一!阿里雲時空資料庫正式商業化阿里資料庫
- Oracle資料庫高水位釋放——LOB欄位空間釋放Oracle資料庫
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- oracle批量新增更新資料Oracle
- 異構資料庫間批量表快速複製資料庫
- oracle 普通表空間資料檔案壞塊Oracle
- Python 連線 Oracle資料庫PythonOracle資料庫
- 資料庫-批量更新資料庫
- 【資料庫資料恢復】SQL Server資料庫磁碟空間不足的資料恢復案例資料庫資料恢復SQLServer
- 達夢資料庫系統表空間資料檔案遷移過程資料庫
- 檢視資料庫佔用磁碟空間的方法資料庫
- 關於Oracle資料庫的時間查詢Oracle資料庫
- 資料庫系統 空值 null資料庫Null
- oracle表空間的整理Oracle
- Oracle表空間Oracle
- oracle 表空間Oracle
- 達夢資料庫表空間等空間大小查詢方法總結資料庫
- SQLServer行版本資訊吃資料庫tempdb空間SQLServer資料庫
- (資料科學學習手札84)基於geopandas的空間資料分析——空間計算篇(上)資料科學
- (資料科學學習手札88)基於geopandas的空間資料分析——空間計算篇(下)資料科學
- Oracle undo 表空間資料檔案丟失強制啟動資料庫(沒有未提交的事務)Oracle資料庫
- SQLServer批量新增資料庫SQLServer資料庫
- DB2建立資料庫,建立表空間DB2資料庫
- Oracle批量插入資料insert all into用法Oracle
- SciPy 空間資料
- Ibatis批量更新資料(mysql資料庫)BATMySql資料庫
- python環境連結Oracle資料庫PythonOracle資料庫
- Zabbix+Python監控Oracle資料庫PythonOracle資料庫