はじめに
Oracleのデータ・ディクショナリのメモ
だいたい、Oracle12以降で確認
データディクショナリビューとは
データベース内のオブジェクト(表やビュー、索引、プロシージャなどなど)や表領域、ユーザ、権限などデータベースに係わる様々な情報をテーブル形式で確認する
データ・ディクショナリのテーブルを確認する
以下のSQLでテーブルの一覧を取得できる
select * from dict
↓テーブル数をカウントする ※Oracle
select count(*) from dict
結果:4675件
多すぎるのでよく利用するものをピックアップ
よく利用するもの
| ビュー名 | 内容 |
|---|---|
| DBA_DATA_FILES | データファイル |
| DBA_FREE_SPACE | データファイルのフリースペース確認 |
| DBA_INDEXES | インデックス情報 |
| DBA_OBJECTS | オブジェクト情報 |
| DBA_SEGMENTS | セグメント |
| DBA_SEQUENCES | シーケンス |
| DBA_SOURCE | プロシージャのソース |
| DBA_SYS_PRIVS | 権限確認。ユーザーおよびロールに付与されたシステム権限 |
| DBA_TAB_COMMENTS | テーブルのコメント |
| DBA_TABLES | テーブル |
| DBA_TABLESPACES | 表領域 |
| USER_INDEXES | インデックス情報 |
| USER_SYS_PRIVS | ユーザ権限 |
| USER_TAB_COMMENTS | テーブルのコメント |
| USER_TABLES | テーブル情報 |
| V$ACTIVE_SESSION_HISTORY | サンプリングされたセッション・アクティビティ |
| V$DATAFILE | データファイル |
| V$LOCKED | ロック情報 |
| V$PARAMETER | 各種パラメータ |
| V$PGASTAT | 初期化パラメータの現在の値 |
| V$PROCESS | プロセス |
| V$PX_PROCESS_SYSSTAT | 現在パラレル操作を実行しているPXサーバー数 |
| V$RESOURCE_LIMIT | セッション、プロセス等の情報を取得する |
| V$SESSION | 現在のセッション情報 |
| V$SESSION_LONGOPS | 内部処理で6秒(絶対時間)以上のSQLID |
| V$SGAINFO | SGAの設定 |
| V$SGASTAT | SGA |
| V$SQL | 実行されたSQLの情報を取得する。GROUP BY句のない共有SQL領域についての統計情報 |
| V$SQLAREA | 共有SQL領域の統計情報を示し、SQL文字列ごとに1行ずつ表示する。 |
| V$SQLSTATS | SQLカーソルに関する基本的なパフォーマンス統計情報 |
| V$SQLTEXT | SGA内の共有SQLカーソルに属するSQL文のテキスト |
| V$SYSSTAT | システム統計情報 |
| V$SYSTEM | システム情報 |
| V$VERSION | バージョン情報 |
| ALL_TAB_COLUMNS | ログインユーザーがアクセスできるすべてのカラム一覧 |
| DBA_TAB_COLUMNS | データベース内のすべてのカラム一覧 |
| USER_TAB_COLUMNS | ログインユーザーのカラム一覧 |
v$sql、v$sqlarea、v$sqltextの違い
これらは、よく似ているので
・V$SQL
同じSQLを発行すると親カーソルが共有されるため同じSQL_IDとなる
親カーソルにはSQLが保存されていますが子カーソルには含まれない代わりに実行計画などの情報が含まれる。
V$SQLでは、子カーソルの粒度の情報。
・V$SQLAREA
v$sqlをSQL_IDでサマリしたもの。
ELAPSED_TIME(処理時間)などはv$sqlの値の合計値である。
・V$SQLTEXT
SQLが一定の長さで別レコードに分割されたもの。
SQL_IDで検索すると、SQL文が確認できる。
参考
履歴
2022/1/24