Som alltid, börja med att ansluta till din server där Oracle är värd och anslut sedan till själva Oracle som SYSTEM
konto.
SYSTEM
konto är ett av en handfull fördefinierade administrativa konton som genereras automatiskt när Oracle installeras. SYSTEM
klarar de flesta administrativa uppgifter, men uppgiften vi är särskilt intresserade av är kontohantering.
Skapa en användare
När ansluten som SYSTEM
, utfärda bara CREATE USER
kommando för att skapa ett nytt konto.
CREATE USER books_admin IDENTIFIED BY MyPassword;
Här skapar vi helt enkelt en books_admin
konto som är IDENTIFIED
eller autentiserats med det angivna password
.
Anslagsförklaringen
Med vår nya books_admin
konto skapat, kan vi nu börja lägga till privilegier till kontot med GRANT
påstående. GRANT
är ett mycket kraftfullt uttalande med många möjliga alternativ, men kärnfunktionen är att hantera privilegierna för båda users
och roles
i hela databasen.
Tillhandahållande av roller
Vanligtvis vill du först tilldela användaren behörigheter genom att koppla kontot till olika roller, med början med CONNECT
roll:
GRANT CONNECT TO books_admin;
I vissa fall för att skapa en mer kraftfull användare kan du också överväga att lägga till RESOURCE
roll (så att användaren kan skapa namngivna typer för anpassade scheman) eller till och med DBA
roll, vilket gör att användaren inte bara kan skapa egna namngivna typer utan även ändra och förstöra dem.
GRANT CONNECT, RESOURCE, DBA TO books_admin;
Tilldela rättigheter
Därefter vill du försäkra dig om att användaren har behörighet att faktiskt ansluta till databasen och skapa en session med GRANT CREATE SESSION
. Vi kommer också att kombinera det med alla privilegier genom att använda GRANT ANY PRIVILEGE
.
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;
Vi måste också se till att vår nya användare har tilldelat diskutrymme i systemet för att faktiskt skapa eller ändra tabeller och data, så vi kommer att GRANT TABLESPACE
som så:
GRANT UNLIMITED TABLESPACE TO books_admin;
Tabellrättigheter
Även om det vanligtvis inte är nödvändigt i nyare versioner av Oracle, kan vissa äldre installationer kräva att du manuellt anger åtkomsträttigheterna som den nya användaren har till ett specifikt schema och databastabeller.
Till exempel, om vi vill ha vår books_admin
användaren har möjlighet att utföra SELECT
, UPDATE
, INSERT
och DELETE
funktioner på books
tabell, kan vi köra följande GRANT
uttalande:
GRANT
SELECT,
INSERT,
UPDATE,
DELETE
ON
schema.books
TO
books_admin;
Detta säkerställer att books_admin
kan utföra de fyra grundläggande satserna för books
tabell som är en del av schema
schema.