首页 > 数据库 >Grafana监控Oracle数据库的表大小等信息

Grafana监控Oracle数据库的表大小等信息

时间:2023-11-10 23:45:31浏览次数:49  
标签:name dba 数据库 tablename Grafana oracledb Oracle table SELECT

Grafana监控Oracle数据库的表大小等信息


方案

oracledb_exporter
以及
prometheus
grafana

使用的SQL以及配置文件

[[metric]]
context = "table_sizeinfo"
labels = [ "table_nameinfo","table_tablespace"  ]
metricsdesc = { table_rownum = "table row num" , table_colnum = "table col num.", table_size = "table size num" }
request = '''
SELECT
    x.table_name AS table_nameinfo,
    x.表行数 AS table_rownum,
    x.表列数 AS table_colnum,
    y.表大小 AS table_size ,
    x.table_tablespace as table_tablespace
FROM
    (
    SELECT
        b.table_name,
        a.num_rows AS 表行数,
        b.count1 AS 表列数 ,
                                a.TABLESPACE_name as table_tablespace
    FROM
        dba_tables a
        INNER JOIN ( SELECT table_name, count( column_name ) AS count1 FROM dba_tab_columns GROUP BY table_name ) b ON a.table_name = b.table_name
    ORDER BY
        b.table_name
    ) x LEFT outer
    JOIN (
    SELECT
        sum( tablesize ) AS 表大小,
        tablename
    FROM
        (
        SELECT
            sum( C.bytes ) / 1024 / 1024 AS tablesize,
            C.table_name AS tablename
        FROM
            ( SELECT A.table_name, B.bytes FROM dba_lobs A, dba_extents B WHERE A.segment_name = B.segment_name ) C
        GROUP BY
            C.table_name UNION ALL
        SELECT
            sum( bytes ) / 1024 / 1024 AS tablesize,
            segment_name AS tablename
        FROM
            dba_extents
        WHERE
            segment_type = 'TABLE'
        GROUP BY
            segment_name
        )
    GROUP BY
        tablename
    ORDER BY
        1 DESC
    ) y ON x.table_name = y.tablename
ORDER BY
    nvl(y.表大小,0) desc FETCH NEXT 10 ROWS ONLY

grafana增加panel的处理

第一步: 新建一个dashboard 选择 Add Visualization 
第二步: 选择数据源; 选择prometheus
第三步: 保存dashboard 可以修改一个名字, 比如Oracle表信息测试. 
第四步: 点击设置. 可以增加变量, 用于实现识别prometheus的信息内容 
       注意 因为我们选用的是oracledb_exporter的组件. 所以可以使用如下方式
       host  label_values(oracledb_up,instance)
       方式为query ; 来源是prometheus ; instance 值是 oracledb_up 
       注意 值可以从 metrics 里面获取. 

第五步: 编辑panel 增加三个Query 
        根据第一步新增加的 查询 metrics 桑一般为:
        oracledb_table_sizeinfo_table_colnum
        oracledb_table_sizeinfo_table_rownum
        oracledb_table_sizeinfo_table_size
        注意命名规范为  oracledb_metricsname_metrics_desc 

        注意, 需要再 Options 处进行修改
        注意 format 选择为 table type 选择为 instant


第五步: 编辑Query旁边的Transform
       因为我们有三个指标, 所以第一个必须选择 merge 的transform

       第二个 选择Group by 组件
       注意 表空间和表名都选择 group by 的方式 
       然后三个结果 建议选择 max 如果想确保周期内的大小变化值 
    

       第三个 增加 organize fields 的组件, 可以修改列的名称 便于分析查看

第六步: 保存

这个界面暂时无法获取较早的结果值, 需要再分析一下.        

标签:name,dba,数据库,tablename,Grafana,oracledb,Oracle,table,SELECT
From: https://www.cnblogs.com/jinanxiaolaohu/p/17814931.html

相关文章

  • 数据库设计心得
    数据库设计心得前言我们小组的项目较为特殊,我们小组是基于Miniob的SQL请求并发处理的子系统,意思是在原有Miniob这个DBMS上面完善其功能,并且实现能够对SQL请求的并发处理。由于本身项目就是一个数据库管理系统,想要根据这个数据库管理系统再设计新的表不太合适。但我们小组仍然竭......
  • Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入
    从表格中选择数据要从MySQL中的表格中选择数据,请使用"SELECT"语句:示例选择"customers"表格中的所有记录,并显示结果:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="yourusername",password="yourpassword",datab......
  • 团队项目数据库设计心得
    数据库设计心得一、项目简介该项目是在一个miniob(mini数据库)库的基础上,让参数选手实现数据库的非常基础的功能,功能分为入门(预选赛),中级(决赛),高阶(黑客松)3个阶段。入门门槛较低,适合所有参赛选手。面向的对象主要是在校学生,数据库爱好者,或者对基础技术有一定兴趣的......
  • 基于大模型的日程管理通知系统——数据库设计心得
    项目:基于大模型的日程管理通知系统指导老师:李友焕组名:PMA班级:软件21011.  前言上学期数据库系统的课程,让我们了解了数据库的基本操作和设计原则。我们认识到良好的数据库设计在工程项目中是至关重要的。它直接影响到项目的成功与否,对系统的性能、安全性、可维护性和用户体......
  • Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入
    从表格中选择数据要从MySQL中的表格中选择数据,请使用"SELECT"语句:示例选择"customers"表格中的所有记录,并显示结果:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="yourusername",password="yourpassword",datab......
  • 初唐五杰-数据库设计心得
    软件2105-初唐五杰-数据库设计心得指导老师:肖雄仁项目:管道直饮水自动控制云平台团队名:初唐五杰成员:杨虎强、马子豪、刘一凡、谢昶皓、陈家睦在本次数据库的设计中,我们小组所采取的设计步骤如下:需求分析小组项目为设计一个直饮水机管理云平台。重要的系统需求如下:......
  • 数据库设计报告
    组员:雷茜,程煜栋,胡友缘,彭子芹,宋君帆数据库设计执行摘要Kubernetes工作流管理系统概述本报告详细描述了Kubernetes工作流管理系统的数据库设计,该系统旨在提供高效、可扩展的工作流管理解决方案。该系统能够支持复杂的工作流程,包括任务调度、执行和监控,以及与Kubernetes集群......
  • 临高启明-数据库设计心得
     在做软件工程导论的项目的过程中,我们学习了如何通过分析需求来构建数据库实体对象以及powerdesigner的使用。最终通过powerdesigner完成了数据库概念模型、物理模型的设计,并导出了相应的建表SQL语句。需求分析:A)    设计过程中首先从项目需求分析文档出发,考量了项目实......
  • openGauss学习笔记-119 openGauss 数据库管理-设置数据库审计-设置文件权限安全策略
    openGauss学习笔记-119openGauss数据库管理-设置数据库审计-设置文件权限安全策略119.1背景信息数据库在安装过程中,会自动对其文件权限(包括运行过程中生成的文件,如日志文件等)进行设置。其权限规则如下:数据库程序目录的权限为0750。数据库数据文件目录的权限为0700。ope......
  • 想去码头整点薯条-数据库设计心得
    数据库设计心得-想去码头整点薯条一、背景高校学生外出进行实习时,目前的管理方式主要是手工和传统纸质材料方式,非常耗费人力物力,同时存在纸质材料不易收集、数据管理与统计分析费时、过程难以监控预警等问题。为改变传统纸质材料传递方式,提高管理工作效率,实现学生校外实习实践活动......