Oracle

Oracle 使用者創建資訊

  • March 4, 2022

是否可以確定哪個使用者在 Oracle 數據庫中創建了另一個使用者的帳戶?

我在數據庫中有兩種類型的使用者:

  • 具有系統和對象權限的使用者
  • 只有系統權限的使用者

我可以找到所有具有系統和對象權限的使用者的所有者。

select distinct d.username,d.account_status,t.privilege,t.owner 
from dba_users d,dba_tab_privs t where d.username=t.grantee
and d.account_status='OPEN';

但是這個查詢不會獲取只有系統權限的使用者。請幫助如何找到所有那些只有系統權限的使用者的所有者?

DBA_USERS(表)將讓您訪問創建使用者的時間,但 AFAIK 讓 WHO 創建您的使用者的唯一方法是打開審核。

這還要求您有權訪問 DBA_AUDIT_TRAIL 表。

SELECT OS_USERNAME,
  USERNAME AS USER_WHO_CREATED_YOU,
  USERHOST,
  TERMINAL,
  TIMESTAMP,
  OBJ_NAME AS USER_CREATED,
  ACTION_NAME
FROM DBA_AUDIT_TRAIL
WHERE 
TIMESTAMP > SYSDATE-90
AND ACTION_NAME ='CREATE USER'
--AND OBJ_NAME = 'YOURUSERNAMEGOESHERE'

進一步閱讀:https ://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_3056.htm#i1619732

是否可以確定哪個使用者在 Oracle 數據庫中創建了另一個使用者的帳戶?

如果配置了審核​​,那麼是的,您可能可以。

但是,我不確定這就是你真正想要的。

…此查詢不獲取僅具有系統權限的使用者…

le(和其他一些)權限保存在 ???_ TAB _PRIVS 中。

基於角色的權限在???_ ROLE _PRIVS 中。

系統權限保存在???_ SYS _PRIVS

…此使用者具有對象權限,而我的使用者沒有…

啊哈!

因此,其他人可以訪問您認為您也應該擁有的東西。

你有一個個人,或者更好的是一個團隊來處理使用者帳戶的創建和權限的授予。 這些是您需要與之交談的人,因為即使您可以找出哪些特權

$$ you think $$您“缺乏”,您將無權將這些特權授予自己!

引用自:https://dba.stackexchange.com/questions/195059