sql - 是否可以知道过去几天每天数据库表大小的变化?
问题描述
我需要知道上周特定表每天的大小增长了多少?SQL 开发人员中是否有任何查询或统计工具可以做到这一点。RDBMS 是一个 Oracle 11g Rac
解决方案
Oracle 使用 MMON 后台进程来收集 AWR 统计信息。假设它没有被禁用(显示参数 statistics_level 应该返回 TYPICAL 或 ALL,因为 BASIC 不收集建议或统计信息),您可以使用视图 dba_hist_seg_stat 和 dba_hist_snapshot,如下所示。相应地替换表名 (your_table_name) 和日期 (21-JAN-2019 / 28-JAN-2019):
select obj.owner, obj.object_name,
to_char(sn.BEGIN_INTERVAL_TIME,'RRRR-MON-DD') start_day,
sum(a.SPACE_USED_DELTA) block_increase_bytes
from dba_hist_seg_stat a,
dba_hist_snapshot sn,
dba_objects obj
where sn.snap_id = a.snap_id
and obj.object_id = a.obj#
and object_name = 'your_table_name'
and end_interval_time between to_timestamp('21-JAN-2019','DD-MON-RRRR')
and to_timestamp('28-JAN-2019','DD-MON-RRRR')
group by obj.owner, obj.object_name,
to_char(sn.BEGIN_INTERVAL_TIME,'RRRR-MON-DD')
order by obj.owner, obj.object_name, start_day
/
注意:block_increase_bytes 中的负数表示表中的行数据已被删除或清除。
推荐阅读
- reactjs - 如何在 Material-ui 中将 InputBase 中的文本居中
- tf.keras - ValueError:无法解释优化器标识符:
- laravel - Task Scheduling on custom day Laravel
- flutter - 即使在更新 Flutter 之后医生说尝试重新安装或更新您的 Android SDK Manager
- c# - x-frame-options CefSharp
- graphql - 使用指令解析可为空的字段
- react-native - 如何删除本机反应抽屉中的默认标题?
- c# - 如何直接从 Microsoft Excel (VSTO) 运行 C#/.NET 代码 (VSTO)
- r - 将 CSV 文件上传到 shinyApps.io 没有连接:哪个目录
- csv - 将部分文件名添加到 csv 列表的批处理文件