sql >> Databasteknik >  >> RDS >> Oracle

Hur kan jag lista ALLA bidrag som en användare fått?

Om du vill ha mer än bara direkta tabelltilldelningar (t.ex. beviljande via roller, systemprivilegier som att välja valfri tabell, etc.), här är några ytterligare frågor:

Systembehörighet för en användare:

SELECT PRIVILEGE
  FROM sys.dba_sys_privs
 WHERE grantee = <theUser>
UNION
SELECT PRIVILEGE 
  FROM dba_role_privs rp JOIN role_sys_privs rsp ON (rp.granted_role = rsp.role)
 WHERE rp.grantee = <theUser>
 ORDER BY 1;

Direkta bidrag till tabeller/vyer:

SELECT owner, table_name, select_priv, insert_priv, delete_priv, update_priv, references_priv, alter_priv, index_priv 
  FROM table_privileges
 WHERE grantee = <theUser>
 ORDER BY owner, table_name;

Indirekta bidrag till tabeller/vyer:

SELECT DISTINCT owner, table_name, PRIVILEGE 
  FROM dba_role_privs rp JOIN role_tab_privs rtp ON (rp.granted_role = rtp.role)
 WHERE rp.grantee = <theUser>
 ORDER BY owner, table_name;


  1. hur gjuter man hexadecimalen till varchar(datetime)?

  2. Få resultat från oracles lagrade procedur

  3. Bindestreck i kolumnnamn i MySQL DB

  4. Förhandsgranska dokument i Microsoft Access Form