Oracle的逻辑结构(表空间、段、区间、块)——总结

来源:互联网 发布:linux查看网络配置 编辑:程序博客网 时间:2024/06/07 22:23

 原创于2009年02月22日,2009年10月22日迁移至此。


Oracle逻辑结构全景结构图

 

 

以下为个人整理的一些关于Oracle逻辑结构的相关数据字典:

SELECT * FROMDBA_TABLESPACES --记录各个表空间的详细信息

SELECT * FROMDBA_TABLESPACE_USAGE_METRICS --记录各个表空间的使用状况

SELECT * FROMDBA_DATA_FILES --记录各个数据文件的详细信息

SELECT * FROMDBA_SEGMENTS --记录各个段的详细信息,与DBA_TABLES,DBA_INDEXES,DBA_LOBS,DBA_PART_TABLES,DBA_PART_INDEXES,

DBA_PART_LOBS,DBA_OBJECTS搭配使用

SELECT * FROMDBA_LOBS    --BLOB字段所对应的字段名称

SELECT * FROMDBA_INDEXES --分区索引需要通过DBA_INDEXS来找到对应的表名

SELECT * FROMDBA_EXTENTS --记录各个区间对象的详细信息

关于块对象可以通过表记录中的ROWID来获取,大概涉及到这一层就太细致了,所以Oracle也不采用数据字典的方式来进行控制了。这一点在Concept中有细致的描述,基于本地管理表空间的管理方式也是基于区间头部的位图方式管理相应的块的。

 

实际上这些DBA_对象也不过是数据库中的一个个视图而已,由更加底层的视图或表组合起来的,如果有兴趣的话,可以自行钻研下去

 

SELECT * FROMV$TABLESPACE --记录表空间的基本信息,对象ID,表空间名称

SELECT * FROMV$DATAFILE   --记录数据文件的基本信息,对象ID,表空间ID,文件名称以及状态、大小和相应的变化

SELECT * FROMV$SEGSTAT    --实时监控数据库段级对象的统计信息

SELECT * FROMV$SEGSTAT_NAME --段级对象的统计项目

SELECT * FROMV$SEGMENT_STATISTICS --实时监控段级对象的性能,说穿了和V$SEGSTAT有点像,统计信息更丰富一些

这些V$视图提供的信息比不上DBA_视图丰富,而且本身这些视图是基于同义词的。

 

The next example demonstrates how to use V$SEGMENT_STATISTICS todetermine the top 10 tables that have incurred the most physical I/Ooperations.ITPUB个人空间J9@A4k;@.Ztb

SELECTTABLE_NAME,TOTAL_PHYS_IO

FROM ( SELECTOWNER||'.'||OBJECT_NAME AS TABLE_NAME,

             SUM(VALUE) AS TOTAL_PHYS_IO

      FROM  V$SEGMENT_STATISTICS

      WHERE OWNER!='SYS' AND OBJECT_TYPE='TABLE'

 AND STATISTIC_NAME IN ('physical reads','physical reads direct',

                      'physical writes','physicalwrites direct')

      GROUP BY OWNER||'.'||OBJECT_NAME

      ORDER BY TOTAL_PHYS_IO DESC)

WHERE ROWNUM <=10;

 

 

Using the V$SEGMENT_STATISTICS DynamicPerformance View

http://hi.baidu.com/oracle_10g/blog/item/d26776f4a253cbdbf2d38591.html

 

学习动态性能表(17)--v$segstat&v$segment_statistics

http://junsansi.itpub.net/post/29894/295160

原创粉丝点击