Jak zawsze, zacznij od połączenia z serwerem, na którym znajduje się Oracle, a następnie połącz się z samym Oracle jako SYSTEM
konto.
SYSTEM
konto jest jednym z kilku predefiniowanych kont administracyjnych generowanych automatycznie podczas instalacji Oracle. SYSTEM
jest w stanie wykonać większość zadań administracyjnych, ale zadaniem, które szczególnie nas interesuje, jest zarządzanie kontem.
Tworzenie użytkownika
Po połączeniu jako SYSTEM
, po prostu wydaj polecenie CREATE USER
polecenie, aby wygenerować nowe konto.
CREATE USER books_admin IDENTIFIED BY MyPassword;
Tutaj po prostu tworzymy books_admin
konto, które jest IDENTIFIED
lub uwierzytelnione przez podane password
.
Oświadczenie o przyznaniu dotacji
Z naszym nowym books_admin
utworzonego konta, możemy teraz rozpocząć dodawanie uprawnień do konta za pomocą GRANT
oświadczenie. GRANT
to bardzo potężna instrukcja z wieloma możliwymi opcjami, ale podstawową funkcją jest zarządzanie uprawnieniami obu users
i roles
w całej bazie danych.
Dostarczanie ról
Zazwyczaj najpierw chcesz przypisać uprawnienia użytkownikowi poprzez przypisanie konta do różnych ról, zaczynając od CONNECT
rola:
GRANT CONNECT TO books_admin;
W niektórych przypadkach, aby stworzyć silniejszego użytkownika, możesz również rozważyć dodanie RESOURCE
rolę (pozwalającą użytkownikowi na tworzenie nazwanych typów dla niestandardowych schematów) lub nawet DBA
rola, która pozwala użytkownikowi nie tylko tworzyć niestandardowe nazwane typy, ale także je zmieniać i niszczyć.
GRANT CONNECT, RESOURCE, DBA TO books_admin;
Przypisywanie uprawnień
Następnie będziesz chciał upewnić się, że użytkownik ma uprawnienia do rzeczywistego połączenia się z bazą danych i utworzenia sesji za pomocą GRANT CREATE SESSION
. Połączymy to również ze wszystkimi uprawnieniami za pomocą GRANT ANY PRIVILEGE
.
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;
Musimy również upewnić się, że nasz nowy użytkownik ma przydzielone miejsce na dysku w systemie, aby faktycznie tworzyć lub modyfikować tabele i dane, więc GRANT TABLESPACE
tak:
GRANT UNLIMITED TABLESPACE TO books_admin;
Uprawnienia do stołu
Chociaż zwykle nie jest to konieczne w nowszych wersjach Oracle, niektóre starsze instalacje mogą wymagać ręcznego określenia praw dostępu, które nowy użytkownik ma do określonego schematu i tabel bazy danych.
Na przykład, jeśli chcemy, aby nasz books_admin
użytkownik ma możliwość wykonania SELECT
, UPDATE
, INSERT
i DELETE
możliwości w books
tabeli, możemy wykonać następujące GRANT
oświadczenie:
GRANT
SELECT,
INSERT,
UPDATE,
DELETE
ON
schema.books
TO
books_admin;
Gwarantuje to, że books_admin
może wykonać cztery podstawowe instrukcje dla books
tabela będąca częścią schema
schemat.