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

Perbedaan antara kueri hak istimewa dalam tabel

Mereka sangat berbeda, ya.

Di Oracle, hak istimewa pada tabel dapat diberikan baik secara langsung kepada pengguna (dalam hal ini hak tersebut akan muncul di ALL_TAB_PRIVS ) atau hak istimewa dapat diberikan ke peran (terlihat di ROLE_TAB_PRIVS ) dan peran tersebut dapat diberikan kepada pengguna (terlihat di USER_ROLE_PRIVS ). Kueri pertama akan menunjukkan kepada Anda pengguna yang memiliki hibah langsung di atas meja. Kueri kedua akan menunjukkan kepada Anda pengguna yang telah diberikan peran yang telah diberikan akses ke tabel (perhatikan bahwa dalam kedua kasus Anda benar-benar harus menentukan OWNER selain nama tabel). Tidak ada yang akan menunjukkan kepada Anda informasi tentang pemberian yang telah dilakukan melalui beberapa tingkat peran bersarang (yaitu Pengguna A telah diberikan Peran 1, Peran 1 telah diberikan Peran 2, Peran 2 telah diberikan akses ke tabel). Hibah yang dibuat melalui peran juga bisa menjadi sedikit rumit karena ada peran default dan non-default dan peran dan peran yang dilindungi kata sandi dapat diaktifkan dan dinonaktifkan dalam satu sesi.

Secara umum, saya sarankan untuk melihat skrip yang tersedia di situs Pete Finnigan jika Anda ingin memiliki sesuatu yang mencakup semua kemungkinan kasus. Dalam hal ini, Anda mungkin ingin menggunakan skrip who_can_access miliknya. untuk menentukan pengguna mana yang dapat mengakses tabel tertentu.




  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 mendaftar HANYA tabel yang saya buat di Oracle SQL?

  2. Bagaimana menemukan sejarah waitevent dari sesi Oracle

  3. Kueri basis data untuk mencari menggunakan alamat

  4. MySQL setara dengan peringkat ORACLES ()

  5. Artefak hilang com.Oracle:ojdbc6:jar:11.2.0 ?