Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So erstellen Sie einen Benutzer und erteilen Berechtigungen in Oracle

Beginnen Sie wie immer mit der Verbindung zu Ihrem Server, auf dem Oracle gehostet wird, und verbinden Sie sich dann mit Oracle selbst als SYSTEM Konto.

Das SYSTEM account ist eines von wenigen vordefinierten Administratorkonten, die bei der Installation von Oracle automatisch generiert werden. SYSTEM ist in der Lage, die meisten administrativen Aufgaben zu erledigen, aber die Aufgabe, an der wir besonders interessiert sind, ist die Kontoverwaltung.

Erstellen eines Benutzers

Einmal als SYSTEM verbunden , geben Sie einfach den CREATE USER ein Befehl zum Generieren eines neuen Kontos.

CREATE USER books_admin IDENTIFIED BY MyPassword;

Hier erstellen wir einfach einen books_admin Konto, das IDENTIFIED ist oder durch das angegebene password authentifiziert werden .

Die Zuschusserklärung

Mit unserem neuen books_admin Konto erstellt haben, können wir nun mit dem Hinzufügen von Privilegien zum Konto beginnen, indem wir den GRANT verwenden Erklärung. GRANT ist eine sehr mächtige Anweisung mit vielen möglichen Optionen, aber die Kernfunktionalität besteht darin, die Privilegien beider users zu verwalten und roles in der gesamten Datenbank.

Rollen bereitstellen

Normalerweise möchten Sie dem Benutzer zuerst Berechtigungen zuweisen, indem Sie das Konto verschiedenen Rollen zuordnen, beginnend mit CONNECT Rolle:

GRANT CONNECT TO books_admin;

Um einen leistungsfähigeren Benutzer zu erstellen, können Sie in einigen Fällen auch das Hinzufügen von RESOURCE in Betracht ziehen Rolle (die es dem Benutzer ermöglicht, benannte Typen für benutzerdefinierte Schemas zu erstellen) oder sogar der DBA Rolle, die es dem Benutzer ermöglicht, nicht nur benutzerdefinierte benannte Typen zu erstellen, sondern sie auch zu ändern und zu zerstören.

GRANT CONNECT, RESOURCE, DBA TO books_admin;

Privilegien zuweisen

Als Nächstes sollten Sie sicherstellen, dass der Benutzer berechtigt ist, sich tatsächlich mit der Datenbank zu verbinden und eine Sitzung mit GRANT CREATE SESSION zu erstellen . Wir werden das auch mit allen Privilegien kombinieren, indem wir GRANT ANY PRIVILEGE verwenden .

GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;

Wir müssen auch sicherstellen, dass unserem neuen Benutzer Speicherplatz im System zugewiesen ist, um Tabellen und Daten tatsächlich zu erstellen oder zu ändern, also werden wir GRANT TABLESPACE so:

GRANT UNLIMITED TABLESPACE TO books_admin;

Tabellenberechtigungen

Obwohl dies in neueren Versionen von Oracle normalerweise nicht erforderlich ist, erfordern einige ältere Installationen möglicherweise, dass Sie die Zugriffsrechte, die der neue Benutzer auf ein bestimmtes Schema und Datenbanktabellen hat, manuell angeben.

Zum Beispiel, wenn wir unseren books_admin wollen Benutzer die Möglichkeit haben, SELECT auszuführen , UPDATE , INSERT , und DELETE Funktionen in den books Tabelle, könnten wir den folgenden GRANT ausführen Aussage:

GRANT
  SELECT,
  INSERT,
  UPDATE,
  DELETE
ON
  schema.books
TO
  books_admin;

Dadurch wird sichergestellt, dass books_admin kann die vier grundlegenden Anweisungen für die books ausführen Tabelle, die Teil des schema ist Schema.