standardowe role- porównanie Oracle 9.2 i 10.2
Co to jest rola?
Rola to struktura bazodanowa pozwalająca na zebranie różnych uprawnień. Ucząc się do egzaminu postanowiłem empirycznie sprawdzić jakie uprawnienia mają defaultowe role w Oraclu. Pomoże nam w tym tabelka dba_sys_privs
Czy użytkownik posiada jakieś domyślne uprawnienia w momencie zakładania konta?
Otóż nie! Jeżeli zakładamy konto użytkownikowi i zapomnimy o nadaniu mu jakichkolwiek uprawnień - nie będzie on nawet mógł się połączyć z bazą!
Rola CONNECT
W wersji 9.2 ma naprawde sporo uprawnień. W wersji 10.2 została drastycznie okrojona. Uprawnienia które posiadała przeniesiono na rolę RESOURCE
9.2
SQL> select grantee, privilege, admin_option from dba_sys_privs
where grantee='CONNECT'
order by privilege;
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
CONNECT ALTER SESSION NO
CONNECT CREATE CLUSTER NO
CONNECT CREATE DATABASE LINK NO
CONNECT CREATE SEQUENCE NO
CONNECT CREATE SESSION NO
CONNECT CREATE SYNONYM NO
CONNECT CREATE TABLE NO
CONNECT CREATE VIEW NO
8 rows selected.
GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- CONNECT CREATE SESSION NO
Rola RESOURCE
W obu wersjach bazy rola ma identyczne uprawnienia
9.2
SQL> select grantee, privilege, admin_option from dba_sys_privs
where grantee = 'RESOURCE'
order by privilege;
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
RESOURCE CREATE CLUSTER NO
RESOURCE CREATE INDEXTYPE NO
RESOURCE CREATE OPERATOR NO
RESOURCE CREATE PROCEDURE NO
RESOURCE CREATE SEQUENCE NO
RESOURCE CREATE TABLE NO
RESOURCE CREATE TRIGGER NO
RESOURCE CREATE TYPE NO
8 rows selected.
GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- RESOURCE CREATE CLUSTER NO RESOURCE CREATE INDEXTYPE NO RESOURCE CREATE OPERATOR NO RESOURCE CREATE PROCEDURE NO RESOURCE CREATE SEQUENCE NO RESOURCE CREATE TABLE NO RESOURCE CREATE TRIGGER NO RESOURCE CREATE TYPE NO 8 rows selected.
Rola DBA
Ta rola może WSZYSTKO. W wersji 9.2 ma 139 przywilejów, w wersji 10.2 już 159. Ma ona uprawnienia do tworzenia, zmieniania i usuwania wszelkich obiektów bazodanowych. W tym tych należących do słownika bazy danych. Może eksportować i importować bazę. Co najważniejsze - przy wszystkich uprawnieniach
GRANTEE PRIVILEGE ADM ------------------------ ---------------------------------------- --- DBA ADMINISTER ANY SQL TUNING SET YES DBA ADMINISTER SQL TUNING SET YES ... DBA ALTER ANY MATERIALIZED VIEW YES ... DBA ALTER ANY SQL PROFILE YES ... DBA ANALYZE ANY DICTIONARY YES ... DBA CREATE ANY JOB YES ... DBA CREATE ANY SQL PROFILE YES ... DBA CREATE EXTERNAL JOB YES ... DBA CREATE JOB YES ... DBA CREATE MATERIALIZED VIEW YES ... DBA DROP ANY MATERIALIZED VIEW YES ... DBA DROP ANY SQL PROFILE YES ... DBA EXECUTE ANY CLASS YES ... DBA EXECUTE ANY PROGRAM YES ... DBA MANAGE ANY FILE GROUP YES ... DBA MANAGE SCHEDULER YES ... DBA MERGE ANY VIEW YES ... DBA READ ANY FILE GROUP YES ... DBA SELECT ANY TRANSACTION YES
ALTER ANY MATERIALIZED VIEW - widoki zmaterializowane wprowadzono dopiero w 10.
DBA CREATE SNAPSHOT YESTo uprawnienie znikło w 10.2
Rola SYSTEM
10.2SQL> select grantee, privilege, admin_option from dba_sys_privs 2 where grantee ='SYSTEM' 3 order by privilege; GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- SYSTEM ANALYZE ANY NO SYSTEM CREATE MATERIALIZED VIEW NO SYSTEM CREATE TABLE NO SYSTEM GLOBAL QUERY REWRITE NO SYSTEM SELECT ANY TABLE NO SYSTEM UNLIMITED TABLESPACE YES
W oracle 10 rola SYS ma wszystkie uprawnienia, czyli może to co DBA. Jednak nie wszystkie uprawnienia ma z ADMIN OPTION.
Rola SYSTEM ma możliwość nadawania uprawnień tyczących się obiektów:EVALUATION CONTEXT,RULE,RULE SET, QUEUE. Ponadto ma dwa ważne uprawnienia z opcją administracyjną: SELECT ANY TABLE i UNLIMITED TABLESPACE
Rola WKSYS
Rola WKSYS ma bardzo dużo uprawnień w 10.2, bez opcji administracyjnej. Może tworzyć, modyfikować i usuwać obiekty takie jak tabele,sekwencje, procedury, role, migawki i widoki, synonimy, wyzwalacze. Podobnie jest w 9.2. Rola WKSYS jest związana z Oracle Ultrasearch. Jest to podsystem wyszukiwania, które może obejmować bazy, zasoby internetowe itp. Bliżej się tym nie zajmowałem...
Rola ODM
Takie same uprawnienia w 9.2 i 10.2 Rola związana z Oracle Data Mining. Właściwie ma takie same uprawnienia jak przeciętny użytkownik, a nawet mniejsze.
GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- ODM ALTER SESSION NO ODM ALTER SYSTEM NO ODM CREATE DATABASE LINK NO ODM CREATE PROCEDURE NO ODM CREATE SEQUENCE NO ODM CREATE SESSION NO ODM CREATE SYNONYM NO ODM CREATE TABLE NO ODM CREATE TRIGGER NO ODM CREATE TYPE NO ODM CREATE VIEW NO GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- ODM QUERY REWRITE NO
Rola OLAPSYS
Uprawnienia takie same w 9.2 i 10.2
GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- OLAPSYS CREATE LIBRARY NO OLAPSYS CREATE PROCEDURE NO OLAPSYS CREATE PUBLIC SYNONYM NO OLAPSYS CREATE SEQUENCE NO OLAPSYS CREATE SYNONYM NO OLAPSYS CREATE TABLE NO OLAPSYS CREATE VIEW NO OLAPSYS DROP PUBLIC SYNONYM NO OLAPSYS SELECT ANY TABLE NO OLAPSYS UNLIMITED TABLESPACE NO
Łukasz Goszczyński goszczu.pl