oracle 表跟踪,Oracle表变化趋势追踪记录

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

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

#下面的SQL查询出某个时间段内,数据库对象的变化大小,单位以换算成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

简单介绍下DBA_HIST_SEG_STAT 。DBA_HIST_SEG_STAT视图内记录了数据库实例启动以来段的变化信息,该视图的数据来自于v$segstat

Column Dataty

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值