统计表的占用空间

Posted xixi艾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计表的占用空间相关的知识,希望对你有一定的参考价值。

统计某个表所占空间,统计索引将table 改为INDEX
select segment_name, sum(bytes)/1024/1024/1024 GB from user_segments where segment_type=‘TABLE’ and segment_name in (‘APPLY C O N S T R A I N T C O L U M N S ′ , ′ A C C E S S _CONSTRAINT_COLUMNS','ACCESS CONSTRAINTCOLUMNS,ACCESS’) group by segment_name;

如何按时间(区间段)统计?
这种可以通过数据泵两次scn导出或者估值的差计算。

scn与时间的关系转换
1、日期时间与时间戳的转换
select cast(to_date(‘2018/8/19 12:00:00’,‘yyyy-mm-dd,hh24:mi:ss’) as timestamp) date_to_timestamp
from dual;
2、时间戳与SCN的转换
select timestamp_to_scn(‘23-may-19 08.43.58.000000 AM’) from dual;
3、SCN与时间戳的转换
select to_char(scn_to_timestamp(16524591789626))from dual;
4、SCN与日期时间的转换
select to_char(scn_to_timestamp(16524591789626),‘YYYY-MM-DD HH24:MI:SS’) from dual;

如果要想准确知道表的所有变化,需要开启精细化审计fga,如果查询时间很短,低于5天可以通过scn_to_timestamp查到。。

数据库不会记录长时间段的记录。正常业务有日期标志性字段。

表信息变化(查询数据量的异常变化,分析哪些对象变化量大),此为动态采样,数据库重启后信息就会消失。
select obj#, savtime, rowcnt, blkcnt, avgrln, analyzetime
from sys.wri$_optstat_tab_history
where obj# =
(select object_id
from dba_objects
where object_name = ‘TEST1’ and owner=‘SYS’)
order by savtime;

obj# -----object id
savtime, -------统计time
rowcnt, --------row count
blkcnt --------block count
avgrln, --------avg 行长度
analyzetime ------analyze time

以上是关于统计表的占用空间的主要内容,如果未能解决你的问题,请参考以下文章

Centos-统计文件或目录占用磁盘空间-du

Linux统计文件夹占用空间大小--du命令基本用法

linux下查看磁盘空间占用

df -h 与du -sh

Centos 查看硬盘空间

八HyperLogLog