当前位置: 首页 > news >正文

Oracle 数据变化量查询

1. DBA_HIST_SEG_STAT可以看出对象的使用趋势,构造如下SQL查询出每个时间段内数据库对象的增长量

select c.SNAP_ID,
       to_char(c.END_INTERVAL_TIME, 'yyyy-mm-dd') SNAP_TIME,
       a.OWNER,
       a.OBJECT_NAME,
       a.OBJECT_TYPE,
       b.DB_BLOCK_CHANGES_DELTA
  from dba_objects a,
       (select SNAP_ID, obj#, DB_BLOCK_CHANGES_DELTA
          from DBA_HIST_SEG_STAT
         where DB_BLOCK_CHANGES_DELTA > 20000
         order by snap_id desc, DB_BLOCK_CHANGES_DELTA desc) b,
       DBA_HIST_SNAPSHOT c
 where a.object_id = b.obj#
   and object_type = 'TABLE'
   and b.SNAP_ID = c.SNAP_ID
 order by DB_BLOCK_CHANGES_DELTA;

DB_BLOCK_CHANGES_DELTA为块个数
在这里插入图片描述

2.查询某时间段内数据库对象的变化大小(GB)

select a.OBJECT_NAME,
       to_char(c.END_INTERVAL_TIME, 'yyyy-mm-dd') SNAP_TIME,
       sum(b.DB_BLOCK_CHANGES_DELTA) / 1024 / 1024 GB
  from dba_objects a,
       (select SNAP_ID, obj#, DB_BLOCK_CHANGES_DELTA
          from DBA_HIST_SEG_STAT
         where DB_BLOCK_CHANGES_DELTA > 20000
         order by snap_id desc, DB_BLOCK_CHANGES_DELTA desc) b,
       DBA_HIST_SNAPSHOT c
 where a.object_id = b.obj#
   and object_type = 'TABLE'
   and b.SNAP_ID = c.SNAP_ID
 group by a.OBJECT_NAME, c.END_INTERVAL_TIME
 order by GB;

在这里插入图片描述

3.查看某个用户数据每日增长量

SELECT a.snap_id,
       c.tablespace_name ts_name,
       to_char(to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss'),
               'yyyy-mm-dd hh24:mi') rtime,
       round(a.tablespace_size * c.block_size / 1024 / 1024, 2) ts_size_mb,
       round(a.tablespace_usedsize * c.block_size / 1024 / 1024, 2) ts_used_mb,
       round((a.tablespace_size - a.tablespace_usedsize) * c.block_size / 1024 / 1024,
             2) ts_free_mb,
       round(a.tablespace_usedsize / a.tablespace_size * 100, 2) pct_used
  FROM dba_hist_tbspc_space_usage a,
       (SELECT tablespace_id,
               substr(rtime, 1, 10) rtime,
               max(snap_id) snap_id
          FROM dba_hist_tbspc_space_usage nb
         group by tablespace_id, substr(rtime, 1, 10)) b,
       dba_tablespaces c,
       v$tablespace d
 where a.snap_id = b.snap_id
   and a.tablespace_id = b.tablespace_id
   and a.tablespace_id = d.TS#
   and d.NAME = c.tablespace_name
   and to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss') >= sysdate - 30
 order by a.tablespace_id, to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss') desc;

在这里插入图片描述

4.查看整个实例的数据每日增长量

SELECT day,
       total_GB,
       used_GB,
       total_GB - used_GB free_GB,
       round(100 * used_GB / total_GB, 2) used_percent,
       case
         when (used_GB = used_GB - LAG(used_GB, 1, 0) OVER(ORDER BY day)) then
          null
         else
          used_GB - LAG(used_GB, 1, 0) OVER(ORDER BY day)
       end incr_GB
  from (select to_char(snap.END_INTERVAL_TIME, 'yyyy-mm-dd hh24:mi:ss.ff') day,
               round(sum(tsu.TABLESPACE_SIZE * dt.BLOCK_SIZE) /
                     (1024 * 1024 * 1024),
                     2) total_GB,
               round(sum(tsu.TABLESPACE_USEDSIZE * dt.BLOCK_SIZE) /
                     (1024 * 1024 * 1024),
                     2) used_GB
          from DBA_HIST_TBSPC_SPACE_USAGE tsu,
               DBA_HIST_SNAPSHOT          snap,
               V$TABLESPACE               vt,
               DBA_TABLESPACES            dt
         where tsu.SNAP_ID = snap.SNAP_ID
           and tsu.DBID = snap.DBID
           and snap.instance_number = 1
           and tsu.TABLESPACE_ID = vt.TS#
           and vt.NAME = dt.TABLESPACE_NAME
           and SUBSTR(to_char(END_INTERVAL_TIME, 'yyyy-mm-dd hh24:mi:ss.ff'),
                      12,
                      5) = '00:00'
         group by snap.END_INTERVAL_TIME
         order by snap.END_INTERVAL_TIME desc) a
 order by day desc;

在这里插入图片描述

参考:
https://www.cnblogs.com/lipeng20004/p/14323465.html
https://blog.csdn.net/demonson/article/details/125911073

相关文章:

  • 南宁网站设计推广推推蛙seo顾问
  • 知名开发网站公司简介seo包年服务
  • 厦门网站建设 软件园百度问答平台入口
  • 做网站及APP学计算机哪个培训机构好
  • 家居建材网站源码如何做网站seo排名优化
  • 连云港做网站制作网站优化网
  • mac下载MAMP6.8.1;解决mac使用小皮面板安装php7.4
  • 动态表头导出EasyExcel
  • 基于C语言对CAPL语法基础的理解
  • 天梯赛:L2-001 紧急救援
  • 6.6.5 SQL访问控制
  • 第16届蓝桥杯模拟赛题解 第三场 Java
  • stm32使用(无线串口)实现收发、判断数据+DMA(HAL库)
  • 2022年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题10)-网络部分解析-附详细代码
  • 跨端方案选型:对比Uni-app与Taro在复杂电商项目中的技术选型依据参考
  • 大白话解释负载均衡Nginx是什么 有什么用 怎么用#
  • ClkLog里程碑:荣获2024上海开源技术应用创新竞赛三等奖
  • 记录深度学习中有用的终端命令
  • 第三章 组件(11)- 动态组件与表格组件
  • 【Qt】MVC设计模式
  • Java线程池
  • LLVM - 编译器前端 - 将源文件转换为抽象语法树
  • 在docker容器中运行Ollama部署deepseek-r1大模型
  • C# String 常用操作方法详解
  • 检查SSH安全配置-sshd服务端未认证连接最大并发量配置
  • React Native 核心技术知识点快速入门