Adatbázis adminisztrátori ismeretek 2012. 04.24. Rózsa Győző raver@raver.myip.hu
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Privilégiumok Különböző felhasználói jogok léteznek egy korszerű adatbázis-kezelő rendszerben DCL (Data Control Language), mely része a szabvány SQL nyelvnek Célja: Adatbázisok védelme és a beavatkozások korlátozása
Jogosultságok csoportosítása Rendszerszintű védelmet biztosító Ezek az egyes rendszerkomponensek elérését korlátozzák Adatbázis védelmét biztosító AB-hez való hozzáférést korlátozzák Objektumkezelési jogosultságok Objektumok tartalmához való hozzáférés Továbbadási jogosultságok
Jogosultságok csoportosítása SQL utasítások elvégzése szerint Rendszerjogosultságok Objektumkezelési jogosultságok A legáltalánosabb tulajdonos: DBA (Data Base Administrator) Tőle kapják a felhasználók a jogokat Oracle rendszerben System/Sys
Rendszerjogosultságok A CREATE/ALTER/DROP utasításokat érinti Pl: CREATE SESSION CREATE TABLE ALTER ANY TABLE DROP ANY TABLE CREATE USER DROP USER
Jogosultságok adása GRANT kulcsszóval történi GRANT [jogosultság/szerepkör] TO [felhasználó/szerepkör/public] [WITH ADMIN OPTION] Public!!! WITH ADMIN OPTION!!!
Objektumkezelési jogosultságok Egy objektum tulajdonosa a saját objektumaihoz minden jogosultsággal rendelkezik, és tovább is adhatja! Pl: SELECT INSERT UPDATE DELETE ALTER Megszorítások létrehozása
Objektumkezelési jogosultság adása GRANT [objektumkezelési jog/ALL] [oszlopok] ON [objektum] TO [felhasználó/szerepkör/public] WITH GRANT OPTION
Visszavonások REVOKE [objektumkezelési jog/ALL] ON [objektum] FROM [felhasználó/szerepkör/public] Illetve: REVOKE [rendszerjogosultság/szerepkör]
Táblaterület Az Oracle objektumai itt tárolódnak Ezek fizikai fájlok, melyek szerkezetét az adatbázis-kezelő rendszer alakítja ki A rendszeradatok a SYSTEM táblaterületen tárolódnak
Felhasználó Mi definiál pontosan egy felhasználót? (Figyelem kisötös/kisplusz szerezhető!!!) CREATE USER utasítás Jogosultságainak összessége
Felhasználó létrehozása/törlése CREATE USER felhasználó IDENTIFIED BY jelszó DROP USER felhasználó [CASCADE] Cascade esetén törlődnek a felhasználó által létrehozott objektumok
Kapcsolódás az adatbázishoz CONNECT felh/jelszó DISCONNECT
SZEREPKÖR Jogosultságok halmaza Csak jogosultságokkal rendelkezik, objektumokkal nem! Létrehozása: CREATE ROLE név IDENTIFIED BY jelszó Törlése: DROP ROLE név
Gyakorlás Kapcsolódjon az adatbázishoz sys felhasználóként (jelszó rendszergazda), és változtassa meg a system felhasználó jelszavát Oracle-re AS SYSDBA!!! Ha adminisztrátorként szeretnénk csatlakozni, ezt kell a végére írni!!! CONNECT sys/rendszergazda as SYSDBA ALTER USER system IDENTIFIED BY Oracle
Gyakorlás 2 Hozzon létre egy új felhasználót nebulo néven asdfasdf jelszóval, majd lássa el a szükséges jogosultságokkal, hogy létrehozhasson új táblákat. Ezután hozzon létre egy táblát és próbálja meg lekérdezni scott/tiger-el, majd miután látjuk, hogy nem megy, adjunk scottnak jogosultságot hozzá.
Megoldás connect system/Oracle as sysdba create user nebulo identified by asdfasdf; GRANT ALL PRIVILEGES TO nebulo; connect nebulo/asdfasdf; create table teszt (nev varchar2(20), szam number(5)); INSERT INTO teszt VALUES('jozsi',20); select * from teszt; connect scott/tiger select * from nebulo.teszt; connect nebulo/asdfasdf grant select on teszt to scott;
Köszönöm a figyelmeteket!