
Strona o szybkim czytaniu.
Role są to zbiory uprawnień, które można następnie w całości nadawać użytkownikom. Role są obiektami zdefiniowanymi na poziomie całej bazy danych i nie stanowią własności żadnego użytkownika (nie należą do żadnego schematu).
W bazie danych Oracle istnieją pewne predefiniowane role. Najważniejsze z nich, to:
RESOURCE
, CONNECT
– te dwie role zawierają wszystkie uprawnienia potrzebne przeciętnemu użytkownikowi do pracy. Pozwalają między innymi nawiązać sesję, tworzyć obiekty we własnym schemacie. Zazwyczaj każdemu użytkownikowi zaraz po utworzeniu nadaje się te dwie role.
DBA
– jest to rola zawierająca wszystkie podstawowe uprawnienia konieczne do administrowania bazą danych. np. użytkownik system ma rolę DBA.
PUBLIC
– jest to rola, która domyślnie jest w posiadaniu każdego użytkownika. Jeżeli chcemy nadać jakieś prawo wszystkim użytkownikom, nawet tym, którzy jeszcze w momencie nadawania tego prawa nie istnieją, to powinniśmy nadać to prawo do roli PUBLIC.
Rolę tworzymy poleceniem
CREATE ROLE nazwa_roli;
Rolę usuwamy poleceniem
DROP ROLE nazwa_roli;
Po stworzeniu roli możemy przydzielić do niej uprawnienia poleceniem GRANT
. W roli mogą znajdować się zarówno uprawnienia systemowe jak i uprawnienia obiektowe. Do roli może także należeć inna rola wraz z wszystkimi swoimi uprawnieniami.
Składnia dodawania uprawnienia do roli jest identyczna jak składnia nadawania tego uprawnienia użytkownikowi, tylko zamiast nazwy użytkownika podaje się nazwę roli.
Przydzielanie roli użytkownikowi jest również identyczne jak nadawanie uprawnień systemowych, tylko zamiast nazwy uprawnienia wpisuje się nazwę roli.
connect system/manager@baza;
CREATE ROLE rola1;
GRANT CREATE ROLE TO rola1;
GRANT CREATE USER TO rola1;
GRANT rola1 TO student;
Aby uprawnienie nadane podczas przydzielania użytkownikowi roli zaczęło działać, użytkownik musi się przelogować.
Jeżeli uprawnienie zostało nadane bezpośrednio użytkownikowi, lub zostało przydzielone do roli, którą użytkownik miał już wcześniej nadaną, to uprawnienie to jest dostępne natychmiast, bez potrzeby przelogowywania się użytkownika.