Oracle/データディクショナリ

Last-modified: 2008-10-23 (木) 13:16:52

SESSION_PRIVSデータディクショナリ

  • 現在のセッションで使用可能な権限を確認する。
    SQL> SELECT * FROM SESSION_PRIVS
  • 各表領域にある空き領域を表示する。
    SQL> SELECT * FROM DBA_FREE_SPACE WHERE TABLESPACE_NAME = 表領域名
    • FILE_ID: データファイルのID
    • BLOCK_ID: エクステントの先頭のブロック番号
    • BLOCKS: 連続空き領域のブロック数
  • エクステントの詳細情報を表示する。
    SQL> SELECT SEGMENT_TYPE, SEGMENT_NAME, EXTENT_ID, BLOCK_ID, BYTES, BLOCKS
    WHERE TABLESPACE_NAME = 表領域名
    • EXTENT_ID: エクステントのID。0番から順に採番。
    • BLOCKS: ブロック数(ブロック数×ブロックサイズがエクステントサイズになる)
  • イベントごとの待機情報を表示する。
    SQL> SELECT EVENT, TOTAL_WAITS, TIME_WAITED, AVERAGE_WAIT FROM V$SYSTEM_EVENT
  • セッションごとの待機情報の累積値を見る
    V$SESSION_EVENT
  • 現在のセッションごとの待機情報を見る
    V$SESSION_WAIT
  • インデックスの構造を表示する。
    SQL> SELECT INDEX_NAME, INDEX_TYPE, DISTINCT_KEYS, BLEVEL, LEAF_BLOCKS, AVG_LEAF_BLOCKS_PER_KEY, CLUSTERING_FACTOR
    FROM USER_INDEXES WHERE INDEX_TYPE = "NORMAL"
    • BLEVEL: B*Treeの深さ(0はルート)
    • LEAF_BLOCKS: リーフブロックの数
  • インデックスの構造を表示する。
    SQL> SELECT NAME, BLOCKS, LF_BLKS, BR_BLKS, DEL_LF_ROWS, DEL_LF_ROWS_LEN, USED_SPACE, PCT_USED
    FROM INDEX_STATS
    • DEL_LF_ROWS: 削除されたリーフの数
    • DEL_LF_ROWS_LEN: 削除された行の長さの合計

USER_EXTENTS表

SEGMENT_NAME:セグメントの名前(表名、索引名など)
PARTITION_NAME:
SEGMENT_TYPE:セグメントの種別(TABLE、INDEXなど)
TABLESPACE_NAME:
EXTENT_ID:
BYTES:
BLOCKS: