Oracleの権限テーブル(DBA_TAB_PRIVS)のバージョン差異

Oracleの権限テーブル(DBA_TAB_PRIVS)のバージョン差異
カテゴリ
技術
タグ
DB
oracle

oracle DBでは、権限テーブルをDBA_TAB_PRIVS(USER_TAB_PRIVSも同様)で確認できるが、バージョン11g→12cで列追加の変更があった。しかし、公式でそのことを明記しているのが見つからなかったため、ここに残します。

(愚痴。oracleさんには、「この列は○○バージョンから追加されました」的なドキュメントにしてもらいたいものです。)

テーブル列定義

11g→12cでの変更箇所を明示します。

11gの内容は取り消し線で示し、12cの変更箇所は太字で示しています。

データ型NULL説明
GRANTEEVARCHAR2(30)

VARCHAR2(128)

NOT NULL

無し

アクセス権を付与されたユーザーまたはロールの名前
OWNERVARCHAR2(30)

VARCHAR2(128)

NOT NULL

無し

オブジェクトの所有者
TABLE_NAMEVARCHAR2(30)

VARCHAR2(128)

NOT NULL

無し

オブジェクト名。オブジェクトには、表、パッケージ、索引、順序など、任意のオブジェクトを設定できる。
GRANTORVARCHAR2(30)

VARCHAR2(128)

NOT NULL

無し

権限付与を実行したユーザー名
PRIVILEGEVARCHAR2(40)NOT NULL

無し

オブジェクトについての権限
GRANTABLEVARCHAR2(3)権限がGRANT OPTION付きで付与されたか(YES)されていないか(NO)
HIERARCHYVARCHAR2(3)権限がHIERARCHY OPTION付きで付与されたか(YES)されていないか(NO)
COMMONVARCHAR2(3)12cより追加となった列

権限がどのように付与されたかを示します。可能な値は次のとおり。

  • YES: 権限が共通して付与された場合(CONTAINER=ALLが使用された場合)
  • NO: 権限がローカルで付与された場合(CONTAINER=ALLが使用されなかった場合)
TYPEVARCHAR2(24)12cより追加となった列

オブジェクトのタイプ

 

 

情報ソース

  • 11gでのDBA_TAB_PRIVSのテーブル定義

https://docs.oracle.com/cd/E60665_01/db112/REFRN/statviews_5051.htm#i1627646

  • 12cでのDBA_TAB_PRIVSのテーブル定義

https://docs.oracle.com/cd/E57425_01/121/REFRN/GUID-4AC57A96-FF55-4788-9301-AFED23AE3934.htm


関連記事

  1. 平日や営業日を取得するSQL(Postgress/Oracle)

    業務を行う上では、休日を除いた日付を取得したいことがあるかと思います。 これが地味に難しいですが、そこそこキレイに取得できたので紹介します。 当然ですが、祝日を除いた営業日を取得したい場合は、「祝日マスタ」のようなテーブ […]

  2. Oracleの権限テーブル(DBA_TAB_PRIVS)のバージョン差異

    oracle DBでは、権限テーブルをDBA_TAB_PRIVS(USER_TAB_PRIVSも同様)で確認できるが、バージョン11g→12cで列追加の変更があった。しかし、公式でそのことを明記しているのが見つからなかっ […]

  3. OracleDBの無効オブジェクトを調査する方法

    背景 DBインスタンスのダンプを取得して移行を行ったのですが、なぜか無効なオブジェクトがいくつか発生してDBが上手く動かなくなってしまったためです。 原因究明はできていませんが、もし同様にDBのオブジェクトが無効になって […]

  4. Oracle DBのセッションを増やすor強制終了する【ORA-12516対応】

    ここでは、Oracle DBのセッションを強制終了する手順を説明します。 強制終了しなければならない状況は色々とあるとは思いますが、以下のエラーが発生した場合なんかもそうかと思います。 ORA-12516: TNS: リ […]