Zarządzanie użytkownikiem bazodanowym

lipiec 12th, 2008


Użytkownicy w bazie oracle

Za pomocą następującego zapytania:

select username from dba_users;

możesz zobaczyć jacy użytkownicy są w bazie danych.

W tabeli DBA_USERS są także inne informacje, takie jak:

- default tablespace,

- data utworzenia i wiele innych,

pełne  informacje możesz uzyskać pisząc

select * from dba_users;

Tworzenie użytkownika bazodanowego odbywa się poleceniem

create user nazwa_użytkownika …. ;

pełne wyrażenie znajdziesz w manualu, po stworzeniu tego użytkownika należy  zastanowić się jakie uprawnienia mu nadać.

Jeżeli użytkownik ma być administratorem tej bazy to możemy nadać mu  uprawnienia, predefiniowaną role DBA jeżeli nie to możemy nadać RESOURCE.

Jeżeli nadasz użytkownikowi role DBA należy  mieć świadomość że użytkownik ten będzie miał prawo do modyfikacji, tworzenia obiektów w innych schematach także.

Właściwości użytkownika możemy zmienić używając komendy ALTER USER, za pomocą tej komendy możesz zmienić wszystkie  atrybuty za wyjątkiem nazwy użytkownika a także default i temporary tablespaces.

Zmiana tych atrybutów może się odbyć  przez skasowanie a potem ponowne stworzenie użytkownika.

Lokowanie i odlokowanie użytkownika - lokowanie użytkownika  możemy zrobić wtedy kiedy chcemy zablokować możliwość logowania się do bazy danych tego użytkownika a jednocześnie nie  chcemy kasować takiego użytkownika.

Hasło należy zmieniać regularnie, baza ma mechanizm który może wymusić zmianę  hasła co wskazany okres.

Usuwanie użytkownika, do tego służy komenda drop user, przy kasowaniu użytkownika należy  pamiętać o wykasowaniu jego obiektów chyba że użyjemy opcji cascade.


Użytkownicy bazodanowi SYS i SYSTEM

lipiec 12th, 2008


Użytkownicy bazy danych
Użytkownicy sys i system są automatycznie tworzeni podczas tworzenia bazy danych.

SYSTEM to użytkownik który umożliwia  wykonywanie czynności administracyjnych za wyjątkiem startowania i zamykania bazy danych.

SYS to schemat w którym są  przechowywane wszystkie obiekty tabele i view biblioteki bazodanowej.

Dla zapewnienia integralności te tabele są  zmieniane tylko przez mechanizmy bazy danych.

Te obiekty pod żadnym pozorem nie powinny być modyfikowane.

W schemacie  SYS nie powinno się tworzyć obiektów.

Użytkowniki SYS jako jeden ma przypisaną role SYSDBA, rola ta to rola super  administratora łącznie z mozliwością startowania i zamykania bazy danych.

Przykład zalogowania się do bazy jako sys  jako sysdba z sqlplus-a:

SQL> connect sys/hasło as sysdba

Po zalogowaniu się na sys w ten sposób użytkownik ten ma  nie ograniczone przywileje na bazodanowej bibliotece, mimo tego nie należy robić żadnych zmian ponieważ może to  doprowadzić do rozjechania się biblioteki a co za tym idzie bazy danych.

Zmiana hasła oracle

Za pomocą komendy

ALTER USER SYS IDENTIFIED  BY newpassword;

możemy zmienić hasło dla użytkownika sys.


Przywileje i role użytkownika oracle

lipiec 12th, 2008


Oracle przywileje i role użytkownika

Po stworzeniu użytkownika należy dać mu uprawnienia, które umożliwią mu podłączenie sie do bazy, przeglądanie  zawartości tabeli, tworzenie obiektów, zmiana danych np. w tabeli, import/ export danych do bazy.

Uprawnienia możemy  podzielic na systemowe (system privileges) i obiektowe (object privileges).

System privileges to przywileje typu  tworzenie tabeli, kasowanie wierszy z tabeli w bazie danych.

Object privileges to przywileje które odnoszą się do  obiektu w danym schemacie.

Przywileje można organizować w grupy zwane ROLAMI. Jak to się odbywa w praktyce, najpierw  tworzymy role potem dodajemy do roli przywileje a następnie możemy dać prawa do tej roli jakiemuś użytkownikowi.

W  bazie oracle mamy kilka gotowych rol które nazywamy predefiniowanymi rolami.

Predefiniowane role to np. CONNECT,  RESOURCE, DBA. Rola CONNECT daje użytkownikowi możliwość podłączenia się do bazy, tą role powinni mieć użytkownicy  którzy chcą się połączyć do bazy danych.

RESOURCE pozwala użytkownikowi na tworzenie obiektów w swoim schemacie np.  create table (tworzenie tabeli ), create trigger (tworzenie trigera).

Rola DBA to rola dla administratorów bazy danych  umożliwia ona wykonywanie czynności administratorskich takich jak:

creat users, granting/revoking privileges.

DBA daje  wszystkie systemowe przywileje oprócz startowania i zamykania bazy danych.

Z defaultu ta role jest nadawana dla  użytkownika SYSTEM.