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