権限の付与状況を表示するには、
XXX_TAB_PRIVSデータディクショナリビューを参照します。
XXX_TAB_PRIVSデータディクショナリの種類
TAB_PRIVSデータディクショナリビューには以下3種類があります。
DBA_TAB_PRIVS | 全てのTAB_PRIVS情報を対象とする ※権限が必要 |
---|---|
ALL_TAB_PRIVS | ログインユーザが参照可能な権限付与情報を対象とする |
USER_TAB_PRIVS | ログインユーザが所有者、権限付与者または権限受領者であるオブジェクトの情報を対象とする |
XXX_TAB_PRIVSデータディクショナリの定義
TAB_PRIVSデータディクショナリの定義です。
(DBA_/ALL_/USER_ の列定義違いはありません。)
列名 | 型 | メモ |
---|---|---|
GRANTEE | VARCHAR2(30) | 権限を付与されたユーザ |
OWNER | VARCHAR2(30) | オブジェクトの所有者 |
TABLE_NAME | VARCHAR2(30) | オブジェクト名 |
GRANTOR | VARCHAR2(30) | 権限を付与したユーザ |
PRIVILEGE | VARCHAR2(40) | 権限の種類 |
GRANTABLE | VARCHAR2(3) | 権限がGRANT OPTION付きで付与されたかかどうか(YES/NO) |
HIERARCHY | VARCHAR2(3) | 権限がHIERARCHY OPTION付きで付与されたかどうか(YES/NO) |
サンプル
TAB_PRIVSデータディクショナリビューを検索するサンプルです。
例)所有者、オブジェクト名、権限を付与されたユーザ、権限の種類の一覧を表示する
1 2 |
SELECT OWNER, TABLE_NAME, GRANTEE, PRIVILEGE FROM USER_TAB_PRIVS; |
例)スキーマ=HOGE、オブジェクト=OBJに対して何かしら与えられた権限情報の一覧を表示する
1 2 |
SELECT * FROM USER_TAB_PRIVS WHERE OWNER='HOGE' AND TABLE_NAME='OBJ'; |
例)スキーマ=HOGEが所有するオブジェクトに対してSELECTする権限情報の一覧を表示する
1 2 |
SELECT * FROM USER_TAB_PRIVS WHERE OWNER='HOGE' AND PRIVILEGE='SELECT'; |
メモ
- オブジェクトを検索条件とする場合、必ず大文字で指定してください。