我在Oracle中有一个角色,我想知道创建它的用户。
select * from DBA_ROLES ;
select * from sys.user$ ;
查询对我没什么帮助。
有什么想法吗?
答案 0 :(得分:1)
如果您启用了审核,那么您应该可以在DBA_AUDIT_TRAIL
中看到此信息:
SELECT
username
,extended_timestamp
,owner
,obj_name
,action_name
FROM dba_audit_trail
WHERE action = 52 --CREATE ROLE
ORDER BY timestamp;
检查audit_trail
的值以查看它是否已开启:
SELECT value
FROM v$parameter
WHERE NAME = 'audit_trail'
;
此article更多地解释了审核。
答案 1 :(得分:0)
您可以从以下查询中获取帮助。
SQL> SELECT rp.grantee, rp.granted_role, rp.admin_option
FROM dba_role_privs rp
JOIN dba_users u
ON rp.grantee = u.username
WHERE admin_option = 'YES'
ORDER BY grantee, granted_role; 2 3 4 5 6
GRANTEE GRANTED_ROLE ADM
------------------------------ ---------------------------------------- ---
ADMIN1 DBA YES
CTXSYS CTXAPP YES
LBACSYS LBAC_DBA YES
SPATIAL_CSW_ADMIN_USR SPATIAL_CSW_ADMIN YES
SYS ADM_PARALLEL_EXECUTE_TASK YES
SYS APPLICATION_TRACE_VIEWER YES
SYS AQ_ADMINISTRATOR_ROLE YES