Come sempre, inizia connettendoti al tuo server su cui è ospitato Oracle, quindi connettiti a Oracle stesso come SYSTEM
conto.
Il SYSTEM
account è uno dei pochi account amministrativi predefiniti generati automaticamente durante l'installazione di Oracle. SYSTEM
è in grado di svolgere la maggior parte delle attività amministrative, ma l'attività a cui siamo particolarmente interessati è la gestione dell'account.
Creazione di un utente
Una volta connesso come SYSTEM
, emetti semplicemente il CREATE USER
comando per generare un nuovo account.
CREATE USER books_admin IDENTIFIED BY MyPassword;
Qui stiamo semplicemente creando un books_admin
account che è IDENTIFIED
o autenticato dalla password
specificata .
La dichiarazione di sovvenzione
Con il nostro nuovo books_admin
account creato, ora possiamo iniziare ad aggiungere privilegi all'account utilizzando il GRANT
dichiarazione. GRANT
è un'istruzione molto potente con molte opzioni possibili, ma la funzionalità principale è gestire i privilegi di entrambi gli users
e roles
in tutto il database.
Fornire ruoli
In genere, dovrai prima assegnare i privilegi all'utente collegando l'account a vari ruoli, a partire da CONNECT
ruolo:
GRANT CONNECT TO books_admin;
In alcuni casi, per creare un utente più potente, potresti anche considerare di aggiungere la RESOURCE
role (consentendo all'utente di creare tipi denominati per schemi personalizzati) o anche il DBA
role, che consente all'utente non solo di creare tipi con nome personalizzati, ma anche di modificarli e distruggerli.
GRANT CONNECT, RESOURCE, DBA TO books_admin;
Assegnazione dei privilegi
Successivamente dovrai assicurarti che l'utente disponga dei privilegi per connettersi effettivamente al database e creare una sessione utilizzando GRANT CREATE SESSION
. Lo combineremo anche con tutti i privilegi utilizzando GRANT ANY PRIVILEGE
.
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;
Dobbiamo anche assicurarci che il nostro nuovo utente disponga di spazio su disco allocato nel sistema per creare o modificare effettivamente tabelle e dati, quindi GRANT TABLESPACE
così:
GRANT UNLIMITED TABLESPACE TO books_admin;
privilegi tabella
Sebbene in genere non sia necessario nelle versioni più recenti di Oracle, alcune installazioni precedenti potrebbero richiedere di specificare manualmente i diritti di accesso che il nuovo utente ha su uno schema e tabelle di database specifici.
Ad esempio, se vogliamo il nostro books_admin
all'utente di avere la possibilità di eseguire SELECT
, UPDATE
, INSERT
e DELETE
capacità sui books
tabella, potremmo eseguire il seguente GRANT
dichiarazione:
GRANT
SELECT,
INSERT,
UPDATE,
DELETE
ON
schema.books
TO
books_admin;
Ciò garantisce che books_admin
può eseguire le quattro istruzioni di base per i books
tabella che fa parte dello schema
schema.