oracle的数据量和表空间使用分析
分析数据库的使用情况,主要通过两个方面:数据量比较大的表和表空间比较大的表。
一、数据量比较大的表:列出1W条数据的表名及条数
1、 首先,查询出用户下所有的表的名字。
select s.table_name from user_tables s;
2、用字符串”analyze table” + table_name + “compute statistics” 拼接成一条条的命令。
select ‘analyze table ‘ || s.table_name || ‘ compute statistics;’ from user_tables s;
–
3、把第二步查出的所有结果复制下来,用pl/sql新建命令窗口,然后把查询结果粘贴到命令窗口,等待执行完毕。
4、切回SQL窗口,执行查询语句,检索完毕。
select t.table_name,t.num_rows from user_tables t
where t.NUM_ROWS is not null order by t.num_rows desc;
二、表空间比较大的表:列出大于200M的表名及所占空间
通过查询 USER_EXTENTS 表确定表空间的使用情况。sql如下:
select SEGMENT_NAME,sum(BYTES/1024/1024)||’M’ from USER_EXTENTS
where SEGMENT_TYPE=’TABLE’ group by SEGMENT_NAME
order by sum(BYTES/1024/1024) desc;
转载自:https://blog.csdn.net/qq511740173/article/details/53541182