Oracle:谁创建了一个角色?

时间:2013-12-23 23:02:54

标签: oracle

我在Oracle中有一个角色,我想知道创建它的用户。

select * from DBA_ROLES ;
select * from sys.user$ ;

查询对我没什么帮助。

有什么想法吗?

2 个答案:

答案 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