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.

10.2


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.

10.2

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                          YES

To uprawnienie znikło w 10.2

Rola SYSTEM

10.2
SQL> 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