Oracle
 sql >> база данни >  >> RDS >> Oracle

Разлика между заявка за привилегии в таблици

Те са доста различни, да.

В Oracle привилегиите върху таблица могат да бъдат предоставени директно на потребител (в който случай те ще се появят в ALL_TAB_PRIVS ) или привилегии могат да бъдат предоставени на роля (вижда се в ROLE_TAB_PRIVS ) и тази роля може да бъде предоставена на потребител (вижда се в USER_ROLE_PRIVS ). Първата заявка ще ви покаже потребителите, които имат директни грантове на маса. Втората заявка ще ви покаже потребителите, на които е предоставена роля, на които е предоставен достъп до таблицата (имайте предвид, че и в двата случая наистина трябва да посочите OWNER в допълнение към името на таблицата). Нито един от тях няма да ви покаже информация за разрешения, които са направени чрез множество вложени нива на роли (т.е. на потребител A е предоставена роля 1, на роля 1 е предоставена роля 2, на роля 2 е предоставен достъп до таблица). Безвъзмездните средства, направени чрез роли, също могат да станат малко трудни, защото има роли по подразбиране и не по подразбиране, а защитените с парола роли и роли могат да бъдат активирани и деактивирани в сесия.

Като цяло предлагам да разгледате скриптовете, налични на сайта на Pete Finnigan ако искате да имате нещо, което покрива всички възможни случаи. В този случай вероятно искате да използвате неговия скрипт who_can_access за да определи кои потребители имат достъп до определена таблица.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle REGEXP_SUBSTR до SUBSTR + INSTR

  2. В Oracle, как да проверя типа обект, използван от йерархия на обектен тип?

  3. Формуляри/приложения на Oracle в Internet Explorer 8 с помощта на JInitator

  4. Оракул. Как да изведем дата и час?

  5. Премахнете заглавката на колона в изходния текстов файл