- 爱易网页
-
数据库教程
- Oracle逻辑构造相关数据字典
日期:2014-05-16 浏览次数:20484 次
Oracle逻辑结构相关数据字典
http://space.itpub.net/14401924/viewspace-629583
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;
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。