programmera.net -> oracledba -> normal     för utskrift      info@programmera.net

Roller i Oracle

1. Vad har man roller till?
2. CREATE ROLE
3. GRANT och REVOKE

1. Vad har man roller till?

Roller används till att tilldela användare privilegier på ett systematiskt och smidigt sätt. Med roller kan man i ett svep tilldela en användare en grupp av privilegier. I Oracle kan man skapa hur många roller man vill om man har privilegiet "create role". Vill man göra det enkelt för sig räcker det egentligen med att ha två roller:

  • Vanlig användare: En användare av databasen som vill lagra eller läsa data. Typiskt är att en användare vill göra SELECT, INSERT, UPDATE och DELETE på de tabeller som administratören tycker är lämpliga.
  • DBA (DataBasAdministratör): En administratör som har som huvuduppgift att se till att de övriga användarna har tillgång till databasen på ett korrekt sätt.

2. CREATE ROLE

Endast användare med privilegiet "create role" kan skapa roller. Nedan skapar jag rollen "normal_user" som innehåller privilegier som kan vara bra att ha för en vanlig användare:
SQL> CREATE ROLE normal_user;
Role created.
För att nu rollen ska få privilegier lägger man till dem till rollen precis som rollen var en användare:
SQL> GRANT create table, create view, create sequence, 
 2  create trigger, create procedure, create session
 3  TO normal_user;
Grant succeeded.
Nu är rollen färdig att användas.

3. GRANT och REVOKE

Att tilldela en roll fungerar precis som att tilldela ett privilegie. Nedan tilldelar vi rollen "normal_user" till olle:
SQL> GRANT normal_user TO olle;
Grant succeeded.
Nu har olle alla privilegierna som ingår i "normal_user".