查询段情况的语句
select segment_name,blocks,extents,bytes,segment_type,tablespace_name
from dba_segments where segment_name='TEST2';
执行结果:
SQL> select segment_name,blocks,extents,bytes,segment_type,tablespace_name
from dba_segments where segment_name='TEST2'; 2
SEGMENT_NAME BLOCKS EXTENTS BYTES SEGMENT_TYPE TABLESPACE_NAME
------------ ---------- ---------- ---------- ------------------ ---------------
TEST2 384 18 3145728 TABLE SYSTEM
oracle有个段段的名字叫TEST2
这个段占了384个数据块
占了18个区
大小为3145728位就是3M多
段类型SEGMENT_TYPE是一个TABLE表
TABLESPACE_NAME为表空间名这里是SYSTEM系统表表空间里面
表分析语句
analyze table test2 compute statistics;
或
exec dbms_stats.gather_table_stats('SYS','TEST2');
表情况的查询语句
SELECT table_name,
NUM_ROWS, --表中的记录数
BLOCKS, --表中数据所占的数据块数
EMPTY_BLOCKS, --表中的空块数
AVG_SPACE, --数据块中平均的使用空间
CHAIN_CNT, --表中行连接和行迁移的数量
AVG_ROW_LEN --每条记录的平均长度
FROM USER_TABLES where table_name='TEST2';
FROM USER_TABLES从USER_TABLES这个表
查一下这个表有多少行NUM_ROWS
BLOCKS有多少块
EMPTY_BLOCKS有多少空块
AVG_SPACE每个块的平均的使用空间
CHAIN_CNT还有多少的行链接和行迁移
AVG_ROW_LEN平均行的长度
select blocks,empty_blocks from dba_tables where table_name = 'TEST2';
相关视图
表的相关数据字典视图
DBA_TABLES
DBA_OBJECT_TABLES
DBA_TAB_STATISTICS
DBA_TAB_COL_STATISTICS
DBA_TAB_HISTOGRAMS
DBA_INDEXES
DBA_IND_STATISTICS
DBA_CLUSTERS
DBA_TAB_PARTITIONS
DBA_TAB_SUBPARTITIONS
DBA_IND_PARTITIONS
DBA_IND_SUBPARTITIONS
DBA_PART_COL_STATISTICS
DBA_PART_HISTOGRAMS
DBA_SUBPART_COL_STATISTICS
DBA_SUBPART_HISTOGRAMS
和表空间相关的数据字典视图
1.V$TABLESPACE
2.V$ENCRYPTED_TABLESPACES
3.DBA_TABLESPACES,DBA_USER_TABLESPACES
4.DBA_TABLESPACE_GROUPS
5.DBA_SEGMENTS, USER_SEGMENTS
6.DBA_EXTENTS, USER_EXTENTS
7.DBA_FREE_SPACE, USER_FREE_SPACE
8.DBA_TEMP_FREE_SPACE
9.V$DATAFILE
10.V$TEMPFILE
11.DBA_DATA_FILES
12.DBA_TEMP_FILES
13.V$TEMP_EXTENT_MAP
14.V$TEMP_EXTENT_POOL
15.V$TEMP_SPACE_HEADER
16.DBA_USERS
17.DBA_TS_QUOTAS
18.V$SORT_SEGMENT
19.V$TEMPSEG_USAGE
20.V$SEGSTAT_NAME、V$SEGSTAT、V$SEGMENT_STATISTICS
扩展:
找到当前数据库中逻辑读最高的10个对象
select *
from (select object_name, statistic_name, value
from V$SEGMENT_STATISTICS
where statistic_name = 'logical reads'
order by 3 desc)
where rownum < 11;