Użytkownicy

Wszystkie działania na bazie danych Oracle muszą być podejmowane w kontekście jakiegoś użytkownika. Podczas nawiązywania sesji z bazą danych musimy wyspecyfikować, jako jaki użytkownik chcemy nawiązać tę sesję, oraz zautentyfikować się odpowiednim hasłem.

Od tego, na jakiego użytkownika, nawiążemy sesję, będzie zależeć, jakie będziemy mieli uprawnienia w trakcie tej sesji.

Zakładanie użytkownika

Na język SQL składają się trzy podstawowe grupy poleceń. Rozróżnienie to jest ważne ze względu na charakterystyczne cechy i ograniczony zakres stosowania poleceń z poszczególnych grup.


CREATE USER nazwa IDENTIFIED BY hasło;
                        

Świeżo utworzony użytkownik nie ma żadnych przywilejów, w szczególności nie ma nawet przywileju pozwalającego mu na utworzenie sesji (zalogowanie się).

Modyfikacja hasła


ALTER USER nazwa IDENTIFIED BY nowe_hasło;
                        

Usuwanie użytkownika


DROP USER nazwa;
                        

Jeżeli użytkownik jest właścicielem jakichkolwiek obiektów, to usuwając go należy dodać opcję CASCADE;


DROP USER nazwa CASCADE;
                        

W przypadku użycia opcji CASCADE zostanie usunięty użytkownik, wszystkie jego obiekty i wszystkie dane zgromadzone w tych obiektach.

Aby wykonywać jakiekolwiek operacje na użytkownikach trzeba mieć odpowiednie uprawnienia. Uprawnienia takie ma np. predefiniowany użytkownik system/manager.

Przykład

Utworzyć użytkownika. Spróbować się na niego zalogować. Zmienić hasło i usunąć go.

CREATE USER janek IDENTIFIED BY klos;
connect janek/klos@baza 
ALTER USER janek IDENTIFIED BY J23;
DROP USER janek;
                        

Aby dowiedzieć się, na jakiego użytkownika jesteśmy zalogowani w danej sesji, możemy skorzystać ze zmiennej USER.


CREATE USER janek IDENTIFIED BY klos;
connect janek/klos@baza 
ALTER USER janek IDENTIFIED BY J23;
DROP USER janek;