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

Bagaimana cara menampilkan semua hak istimewa dari pengguna di Oracle?

Anda dapat mencoba tampilan di bawah ini.

SELECT * FROM USER_SYS_PRIVS; 
SELECT * FROM USER_TAB_PRIVS;
SELECT * FROM USER_ROLE_PRIVS;

DBA dan pengguna kuat lainnya dapat menemukan hak istimewa yang diberikan kepada pengguna lain dengan DBA_ versi dari pandangan yang sama ini. Mereka tercakup dalam dokumentasi .

Tampilan tersebut hanya menunjukkan hak istimewa yang diberikan secara langsung kepada pengguna. Menemukan semua hak istimewa, termasuk yang diberikan secara tidak langsung melalui peran, memerlukan pernyataan SQL rekursif yang lebih rumit:

select * from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER' order by 1,2,3;
select * from dba_sys_privs  where grantee = '&USER' or grantee in (select granted_role from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER') order by 1,2,3;
select * from dba_tab_privs  where grantee = '&USER' or grantee in (select granted_role from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER') order by 1,2,3,4;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan tahun berjalan menggunakan SQL di Oracle?

  2. Apakah PL/SQL memiliki StringTokenizer yang setara dengan Java?

  3. C#:Objek tidak dapat dilemparkan dari DbNull ke tipe lain

  4. ORA-1114 Menjalankan Datapatch

  5. Pilih Baris Pertama Setiap Grup di sql