かなめのロジック

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

パーティションテーブル一覧の確認方法

time 2016/05/31

パーティションテーブル一覧の確認方法

ORACLEにおけるパーティション化しているテーブルの一覧の確認方法について、本記事では解説していきます。

sponsored link

パーティションテーブル一覧の確認方法

パーティションテーブル一覧を確認するためには、静的データディクショナリビューであるUSER_TABLES、ALL_TABLES、DBA_TABLESを検索します。

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

ただし、上記の静的データディクショナリビューは通常のパーティション化していないテーブル情報も含んでいるので、条件を指定します。
具体的には、PARTITIONEDの項目がYESのデータだけを抽出します。

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

パーティション名を含めた一覧の確認方法

パーティション名を含めた一覧を確認するためには、静的データディクショナリビューであるUSER_TAB_PARTITIONS、ALL_TAB_PARTITIONS、DBA_TAB_PARTITIONSを検索します。

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

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

注意点

USER_TABLESやUSER_TAB_PARTITIONSを使用する場合は、テーブル名は一意になります。

しかし、ALL_TABLESやALL_TAB_PARTITIONS、DBA_TABLESやDBA_TAB_PARTITIONSを使用する場合は、スキーマ間で同名のテーブルが存在する場合もあります。

そのため、スキーマ名が入るOWNERも出力するとよいです。

なお、USER_TABLESやUSER_TAB_PARTITIONSには、OWNERという項目は存在しないのでご注意ください。

sponsored link

管理人

かなめ

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

管理人twitter

ブログ村



sponsored link