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

You may also like...