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

Oracle 逻辑结构全景结构图
 
Oracle的逻辑结构(表空间、段、区间、块)——总结
 
以下为个人整理的一些关于 Oracle 逻辑结构的相关数据字典:
SELECT * FROM DBA_TABLESPACES -- 记录各个表空间的详细信息
SELECT * FROM DBA_TABLESPACE_USAGE_METRICS -- 记录各个表空间的使用状况
SELECT * FROM DBA_DATA_FILES -- 记录各个数据文件的详细信息
SELECT * FROM DBA_SEGMENTS -- 记录各个段的详细信息,与 DBA_TABLES,DBA_INDEXES,DBA_LOBS,DBA_PART_TABLES,DBA_PART_INDEXES,
DBA_PART_LOBS,DBA_OBJECTS 搭配使用
SELECT * FROM DBA_LOBS    --BLOB 字段所对应的字段名称
SELECT * FROM DBA_INDEXES -- 分区索引需要通过 DBA_INDEXS 来找到对应的表名
SELECT * FROM DBA_EXTENTS -- 记录各个区间对象的详细信息
关于块对象可以通过表记录中的 ROWID 来获取,大概涉及到这一层就太细致了,所以 Oracle 也不采用数据字典的方式来进行控制了。这一点在 Concept 中有细致的描述,基于本地管理 表空间的管理方式也是基于区间头部的位图方式管理相应的块的。
 
实际上这些 DBA_ 对象也不过是数据库 中的一个个视图而已,由更加底层的视图或表组合起来的,如果有兴趣的话,可以自行钻研下去
 
SELECT * FROM V$TABLESPACE -- 记录表空间的基本信息,对象 ID ,表空间名称
SELECT * FROM V$DATAFILE   -- 记录数据文件的基本信息,对象 ID ,表空间 ID ,文件名称以及状态、大小和相应的变化
SELECT * FROM V$SEGSTAT    -- 实时监控数据库段级对象的统计信息
SELECT * FROM V$SEGSTAT_NAME -- 段级对象的统计项目
SELECT * FROM V$SEGMENT_STATISTICS -- 实时监控段级对象的性能,说穿了和 V$SEGSTAT 有点像,统计信息更丰富一些
这些 V$ 视图提供的信息比不上 DBA_ 视图丰富,而且本身这些视图是基于同义词的。
 
The next example demonstrates how to use V$SEGMENT_STATISTICS to determine the top 10 tables that have incurred the most physical I/O operations.

SELECT TABLE_NAME,TOTAL_PHYS_IO
FROM ( SELECT OWNER||'.'||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','physical writes direct')
      GROUP BY OWNER||'.'||OBJECT_NAME
      ORDER BY TOTAL_PHYS_IO DESC)
WHERE ROWNUM <=10;
 
 
Using the V$SEGMENT_STATISTICS Dynamic Performance View
 
学习 动态性能表 (17)--v$segstat&v$segment_statistics




本文转自baoqiangwang51CTO博客,原文链接:http://blog.51cto.com/baoqiangwang/312705,如需转载请自行联系原作者
上一篇:Oracle的逻辑结构(表空间、段、区间、块)——表空间


下一篇:《HTML5 开发实例大全》——1.4 使用CSS修饰HTML 5页面