かなめのロジック

フリーSEの雑記ブログ。ORACLEやPostgreSQL、情報セキュリティ、金融について主に書いています。

テーブル一覧の確認方法

time 2016/05/23

テーブル一覧の確認方法

ORACLEにおいて、テーブルの一覧を確認したいことがあります。
また、テーブルデータが格納されている統計情報や平均レコード長について確認が必要な時があります。

そんなときに使用するUSER_TABLES(ALL_TABLES・DBA_TABLES)について、本記事では解説していきます。

sponsored link

テーブル情報の把握方法

テーブル情報を把握するためには、静的データディクショナリビューを検索します。

テーブル情報を確認するためには、USER_TABLES、ALL_TABLES、DBA_TABLESを検索します。

USER_TABLESは、接続しているユーザーに属するテーブルの情報を確認できます。
ALL_TABLESは、接続しているユーザーがアクセスできるテーブルの情報を確認できます。
DBA_TABLESは、全ユーザーのテーブルの情報を確認できますが、DBAロールが付与されているユーザーでないと検索できません。

以下、具体的な検索SQLとサンプルの出力結果です。

統計情報の確認

統計情報を確認するための検索SQLとサンプルの出力結果です。

LAST_ANALYZEDには、統計情報取得した日時が入ります。
NUM_ROWSには、統計情報を取得した際の行数が入ります。ただし、統計情報取得時に全データをサンプルしていない場合は、大まかな値が入り、正確な行数が入らないので注意が必要です。
BLOCKSには、統計情報を取得した際の使用しているブロック数が入ります。
AVG_ROW_LENには、統計情報を取得した際の1行あたりの平均長(バイト)が入ります。

注意点として、上記項目は統計情報を取得した際に設定される項目で、統計情報取得した後のデータ変動には対応していません。
また、統計情報を取得していない場合は、NULLが入っています。

その他の情報

その他にも取得できる項目として代表的なものは、以下があります。

TABLESPACE_NAMEには、データが格納されているテーブルスペース名が入ります。
PCT_FREEには、ブロック内の空き領域の最小割合が入ります。
PARTITIONEDには、表がパーティション化されているかどうか(YES/NO)が入ります。

sponsored link

管理人

かなめ

フリーの業務系システムエンジニア。情報処理安全確保支援士。 ORACLEと金融と子育ての狭間で、元気に楽しくやってます。 [詳細]

管理人twitter

ブログ村



sponsored link