これは以前に尋ねられたと思いますが、以下の関連する詳細を見つけることができないようです。
次のことを実行できるビルド済みのテーブルの種類はありますか(私はdba_tab_privsを使用しましたが、制限があり、すべてのニーズを満たしていません)。
特定のロールが割り当てられているすべてのユーザーをリストします
-- Change 'DBA' to the required role
select * from dba_role_privs where granted_role = 'DBA'
ユーザーに付与されたすべてのロールをリストします
-- Change 'PHIL@ to the required user
select * from dba_role_privs where grantee = 'PHIL';
ユーザーに与えられたすべての特権をリストします
select
lpad(' ', 2*level) || granted_role "User, his roles and privileges"
from
(
/* THE USERS */
select
null grantee,
username granted_role
from
dba_users
where
username like upper('%&enter_username%')
/* THE ROLES TO ROLES RELATIONS */
union
select
grantee,
granted_role
from
dba_role_privs
/* THE ROLES TO PRIVILEGE RELATIONS */
union
select
grantee,
privilege
from
dba_sys_privs
)
start with grantee is null
connect by grantee = prior granted_role;
注: http://www.adp-gmbh.ch/ora/misc/recursively_list_privilege.html から取得
特定のロールがSELECTアクセスを許可するテーブルをリストしますか?
-- Change 'DBA' to the required role.
select * from role_tab_privs where role='DBA' and privilege = 'SELECT';
ユーザーが選択できるすべてのテーブルをリストしますか?
--Change 'PHIL' to the required user
select * from dba_tab_privs where GRANTEE ='PHIL' and privilege = 'SELECT';
特定のテーブルでSELECTできるすべてのユーザーをリストします(関連するロールが与えられるか、直接の付与(つまり、joeのatableでのselectの付与))。このクエリの結果には、ユーザーがこのアクセス権を持っている役割、または直接の付与であるかどうかも示されます。
-- Change 'TABLENAME' below
select Grantee,'Granted Through Role' as Grant_Type, role, table_name
from role_tab_privs rtp, dba_role_privs drp
where rtp.role = drp.granted_role
and table_name = 'TABLENAME'
union
select Grantee,'Direct Grant' as Grant_type, null as role, table_name
from dba_tab_privs
where table_name = 'TABLENAME' ;
使用したい情報を取得するには多くの方法があります。
データ辞書ビュー
oracleに存在します。
ビューをクエリして詳細を取得するだけです。次に例を示します。
select * from DBA_COL_PRIVS;
aLL_COL_PRIVSから*を選択します。
uSER_COL_PRIVSから*を選択します。
これはあなたに伝えます:
DBAビューには、データベース内のすべての列オブジェクトの付与が表示されます。 ALLビューは、現在のユーザーまたはPUBLICがオブジェクトの所有者、権限付与者、または権限受領者であるすべての列オブジェクト権限を示します。 USERビューは、現在のユーザーがオブジェクトの所有者、付与者、または被付与者である列オブジェクトの付与について説明します。
詳細については、 これをチェックしてください
お役に立てれば。