- SELECT SEGMENT_NAME,SEGMENT_TYPE,<code>TABLESPACE_NAME</code>,EXTENTS,BLOCKS,BYTES/1024/1024/1024 GB
- FROM DBA_SEGMENTS
- WHERE SEGMENT_NAME = Upper('MTL_MATERIAL_TRANSACTIONS');
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 -- 記錄各個區間對象的詳細信息
Question: What is the difference between dba_segments and dba_tables?
Answer: The dba_tables view describes a "logical" structure while dba_segments describes the "physical" data segment, like a data file.
Also, columns like "blocks" are different between dba_tables and dba_segments. In dba_tables, the "blocks" are calculated when you run dbms_stats, while in dba_segments, "blocks" is the actual number of blocks used by the object on disk.
Reference:http://baoqiangwang.blog.51cto.com/1554549/312705
http://dba-oracle.com/t_difference_dba_tables_dba_segments.htm