Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana saya bisa mencantumkan SEMUA hibah yang diterima pengguna?

Jika Anda menginginkan lebih dari sekadar pemberian tabel langsung (mis., pemberian melalui peran, hak istimewa sistem seperti memilih tabel apa pun, dll.), berikut adalah beberapa kueri tambahan:

Hak istimewa sistem untuk pengguna:

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;

Hibah langsung ke tabel/tampilan:

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;

Hibah tidak langsung ke tabel/tampilan:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tentukan Oracle null ==null

  2. Fungsi JSON_ARRAY() di Oracle

  3. Oracle Database TLS1.2 / koneksi SSL menggunakan JDBC tipis dan JKS

  4. Kembalikan nomor dari pernyataan Oracle Select setelah tanggal parsing

  5. Oracle SQL untuk mengubah tipe kolom dari angka menjadi varchar2 saat berisi data