iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python怎么批量统计Oracle数据库的空间使用量
  • 402
分享到

python怎么批量统计Oracle数据库的空间使用量

2023-06-04 16:06:24 402人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍“python怎么批量统计oracle数据库的空间使用量”,在日常操作中,相信很多人在Python怎么批量统计Oracle数据库的空间使用量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pyt

这篇文章主要介绍“python怎么批量统计oracle数据库的空间使用量”,在日常操作中,相信很多人在Python怎么批量统计Oracle数据库的空间使用量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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表空间和临时表空间):

select

sum(round(used_gb))used_M

   from (select a.tablespace_name tablespace_name,

               round((a.bytes_alloc - nvl(b.bytes_free, 0)) / power(2, 30), 

                     2) used_gb,

               round(a.maxbytes / power(2, 30), 2) max_gb

          from (select f.tablespace_name,

                       sum(f.bytes) bytes_alloc,

                       sum(decode(f.autoextensible,

                                  'YES',

                                  f.maxbytes,

                                  'NO',

                                  f.bytes)) maxbytes

                  from dba_data_files f

                 group by tablespace_name) a,

               (select f.tablespace_name, sum(f.bytes) bytes_free

                  from dba_free_space f

                 group by tablespace_name) b

         where a.tablespace_name = b.tablespace_name(+)  and a.tablespace_name!='UNDOTBS1'  and a.tablespace_name!='UNDOTBS'  );

到此,关于“python怎么批量统计Oracle数据库的空间使用量”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: python怎么批量统计Oracle数据库的空间使用量

本文链接: https://www.lsjlt.com/news/238475.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python怎么批量统计Oracle数据库的空间使用量
    这篇文章主要介绍“python怎么批量统计Oracle数据库的空间使用量”,在日常操作中,相信很多人在python怎么批量统计Oracle数据库的空间使用量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pyt...
    99+
    2023-06-04
  • 使用python怎么批量操作redis数据库
    使用python怎么批量操作redis数据库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。方法一:使用 pipeline  使用pipelining ...
    99+
    2023-06-08
  • oracle怎么批量删除数据库表
    要批量删除数据库表,可以使用Oracle SQL的DROP TABLE命令。以下是一个示例: DROP TABLE table1, ...
    99+
    2024-04-09
    oracle 数据库
  • python数据怎么批量写入数据库
    在Python中,可以使用循环和SQL语句将数据批量写入数据库。以下是一个示例,展示了如何使用Python的`sqlite3`模块将...
    99+
    2023-10-11
    python 数据库
  • oracle怎么统计每天的数据量
    要统计每天的数据量,可以使用Oracle数据库中的聚合函数和日期函数来实现。以下是一个示例查询,用于统计每天的数据量: SELEC&...
    99+
    2024-03-13
    oracle
  • oracle怎么批量导入大量数据
    Oracle数据库可以通过多种方式批量导入大量数据,以下是一些常用的方法: SQLLoader工具:SQLLoader是Orac...
    99+
    2024-04-16
    oracle
  • 怎么在python中使用faker库批量生成假数据
    这篇文章将为大家详细讲解有关怎么在python中使用faker库批量生成假数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。faker使用方法基本使用faker使用起来非常简单,我们看一下就...
    99+
    2023-06-08
  • oracle怎么统计表的数据量大小
    要统计Oracle表的数据量大小,可以使用以下方法: 1、使用Oracle提供的dba_segments视图查询表占用的空间大小。例...
    99+
    2024-04-09
    oracle
  • 使用java怎么向mysql数据库批量插入数据
    今天就跟大家聊聊有关使用java怎么向mysql数据库批量插入数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. An...
    99+
    2023-06-14
  • 怎么用Python进行栅格数据的分区统计和批量提取
    小编给大家分享一下怎么用Python进行栅格数据的分区统计和批量提取,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!有时候我们会有这样的想法,就是针对某个区域的栅格数据,要提取它的平均值或者其他统计指标,比如在一个省内提取多...
    99+
    2023-06-15
  • python用faker库批量生成假数据
    目录楔子faker使用方法基本使用地理信息类基础信息类计算机基础、Internet信息类网络基础信息类浏览器信息类数字类文本、加密类时间信息类小结楔子 我们平时在做测试的时候,经常...
    99+
    2024-04-02
  • 使用Python怎么批量获取基金数据
    本篇文章给大家分享的是有关使用Python怎么批量获取基金数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python可以做什么Python是一种编程语言,内置了许多有效的工...
    99+
    2023-06-07
  • 数据库中怎么批量插入数据
    本文小编为大家详细介绍“数据库中怎么批量插入数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“数据库中怎么批量插入数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。批量插入批量插入使用 execute...
    99+
    2023-06-08
  • oracle怎么批量insert多条数据
    在Oracle数据库中,可以使用INSERT ALL语句来批量插入多条数据。以下是一个示例: INSERT ALL INTO tab...
    99+
    2024-04-09
    oracle
  • django怎么批量更新数据库
    在Django中,可以使用update()方法对数据库进行批量更新操作。以下是一个示例: 假设有一个名为Book的模型,该...
    99+
    2023-10-24
    django 数据库
  • mysql怎么批量删除数据库中的数据
    mysql怎么批量删除数据库中的数据?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql批量删除数据库中数据的方法:通...
    99+
    2024-04-02
  • 数据库怎么批量修改一列数据
    要批量修改数据库中的一列数据,可以使用以下步骤: 首先,连接到数据库。这可以通过使用适当的数据库管理工具(如MySQL Work...
    99+
    2023-10-27
    数据库
  • 怎么使用Redis批量生成数据
    这篇文章主要介绍“怎么使用Redis批量生成数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Redis批量生成数据”文章能帮助大家解决问题。Redis自带Debug方法redis提供的de...
    99+
    2023-06-30
  • 如何用Python将数据批量的插入到数据库
    这篇文章给大家介绍如何用Python将数据批量的插入到数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。我是一名挣扎在编程链底端的pythoner,工作中既要和数据打交道,也要保持和erp系统,web网站友好的&qu...
    99+
    2023-06-16
  • oracle怎么批量更新百万数据
    在Oracle数据库中,可以使用批量更新语句来更新大量数据。以下是一种常用的方法: 创建一个临时表,将需要更新的数据插入到该临时表...
    99+
    2024-03-01
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作