Som altid skal du begynde med at oprette forbindelse til din server, hvor Oracle er hostet, og derefter oprette forbindelse til selve Oracle som SYSTEM
konto.
SYSTEM
konto er en af en håndfuld foruddefinerede administrative konti, der genereres automatisk, når Oracle er installeret. SYSTEM
er i stand til de fleste administrative opgaver, men den opgave, vi er særligt interesserede i, er kontostyring.
Oprettelse af en bruger
Når den er tilsluttet som SYSTEM
, skal du blot udstede CREATE USER
kommando for at generere en ny konto.
CREATE USER books_admin IDENTIFIED BY MyPassword;
Her opretter vi simpelthen en books_admin
konto, der er IDENTIFIED
eller godkendt af den angivne password
.
Bevillingserklæringen
Med vores nye books_admin
konto oprettet, kan vi nu begynde at tilføje privilegier til kontoen ved hjælp af GRANT
udmelding. GRANT
er en meget kraftfuld erklæring med mange mulige muligheder, men kernefunktionaliteten er at administrere rettighederne for begge users
og roles
i hele databasen.
Lever af roller
Typisk vil du først tildele privilegier til brugeren ved at knytte kontoen til forskellige roller, startende med CONNECT
rolle:
GRANT CONNECT TO books_admin;
I nogle tilfælde for at skabe en mere kraftfuld bruger, kan du også overveje at tilføje RESOURCE
rolle (der giver brugeren mulighed for at oprette navngivne typer til brugerdefinerede skemaer) eller endda DBA
rolle, som giver brugeren mulighed for ikke kun at oprette brugerdefinerede navngivne typer, men også ændre og ødelægge dem.
GRANT CONNECT, RESOURCE, DBA TO books_admin;
Tildeling af rettigheder
Dernæst vil du sikre dig, at brugeren har privilegier til rent faktisk at oprette forbindelse til databasen og oprette en session ved hjælp af GRANT CREATE SESSION
. Vi vil også kombinere det med alle privilegier ved at bruge GRANT ANY PRIVILEGE
.
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;
Vi er også nødt til at sikre, at vores nye bruger har tildelt diskplads i systemet til faktisk at oprette eller ændre tabeller og data, så vi GRANT TABLESPACE
sådan:
GRANT UNLIMITED TABLESPACE TO books_admin;
Tabelprivilegier
Selvom det typisk ikke er nødvendigt i nyere versioner af Oracle, kan nogle ældre installationer kræve, at du manuelt angiver de adgangsrettigheder, den nye bruger har til et specifikt skema og databasetabeller.
For eksempel, hvis vi vil have vores books_admin
brugeren har mulighed for at udføre SELECT
, UPDATE
, INSERT
og DELETE
funktioner på books
tabel, kan vi udføre følgende GRANT
erklæring:
GRANT
SELECT,
INSERT,
UPDATE,
DELETE
ON
schema.books
TO
books_admin;
Dette sikrer, at books_admin
kan udføre de fire grundlæggende udsagn for books
tabel, der er en del af schema
skema.