Oracle: Benutzer, Rollen und Berechtigungen verwalten (Syntax und Beispiele)

InformatikAktualisiert am 3,68 KB

Zusammenfassung

Das Dokument erklärt, wie in Oracle Benutzer angelegt und gelöscht werden, wie Sitzungen beendet werden und wie Systemprivilegien sowie Rollen per GRANT und REVOKE vergeben oder entzogen werden. Es enthält die jeweiligen Syntaxen und einfache Beispiele, unter anderem zur Gewährung von Lesezugriff auf eine Tabelle über eine Rolle sowie zur Anmeldung als SYSDBA.

Kernpunkte

  • Ein Benutzer benötigt das Systemprivileg CREATE SESSION, um sich verbinden zu können.
  • Beim Anlegen eines Benutzers mit CREATE USER können Standard- und temporärer Tablespace, Kontingent, Profil und Kontosperre festgelegt werden.
  • Zum Löschen eines Benutzers wird das Systemprivileg DROP USER benötigt; mit CASCADE werden zugehörige Objekte mitgelöscht.
  • Eine Sitzung kann mit ALTER SYSTEM KILL SESSION beendet werden, wobei SID und Serial# benötigt werden.
  • Rechte werden mit GRANT vergeben und mit REVOKE entzogen; Rollen werden mit CREATE ROLE erstellt und mit GRANT zugewiesen.
  • Über eine Rolle können Systemrechte wie CREATE SESSION und Objektrechte wie SELECT auf eine Tabelle gewährt werden.

Stellen Sie sich auf die Probe

Benutzer in Oracle anlegen und verwalten

Ein Benutzer kann erstellt werden, bis eine Verbindung besteht, sofern er über das Systemprivileg CREATE SESSION verfügt.

Benutzer erstellen

Syntax:

  • CREATE USER <user> IDENTIFIED BY <password> / EXTERNALLY
  • DEFAULT TABLESPACE <space>
  • TEMPORARY TABLESPACE <space>
  • QUOTA <xx> K / UNLIMITED ON <space>
  • PROFILE <profil>
  • PASSWORD EXPIRE
  • ACCOUNT LOCK / UNLOCK;

Beispiel: Benutzer Zebra mit dem Passwort zebrapassword, Default Tablespace SYSTEM, Temporary Tablespace TEMP und unbegrenztem Kontingent auf dem System.

Sitzung beenden

Verbindungen werden durch Abschluss oder Kündigung beendet, etwa mit ALTER SYSTEM KILL SESSION.

Benutzer löschen

Dazu benötigen Sie das Systemprivileg DROP USER.

Syntax:

  • DROP USER <user>;
  • DROP USER <user> CASCADE;

Systemprivilegien und Ressourcen

Rollback-Segmente

  • CREATE ROLLBACK SEGMENT
  • ALTER ROLLBACK SEGMENT
  • DROP ROLLBACK SEGMENT

Rollen

  • CREATE ROLE
  • ALTER ANY ROLE
  • DROP ANY ROLE

Profile

  • CREATE PROFILE
  • ALTER PROFILE
  • DROP PROFILE

Datenbank-Links

  • CREATE DATABASE LINK
  • CREATE PUBLIC DATABASE LINK
  • DROP PUBLIC DATABASE LINK

Benutzer und Ressourcen

Verwaltung von Benutzern und Ressourcen.

Tabellen und Indizes

  • CREATE ANY TABLE / CREATE ANY INDEX
  • ALTER ANY TABLE / ALTER ANY INDEX
  • DELETE ANY TABLE
  • DROP ANY TABLE / DROP ANY INDEX
  • INSERT ANY TABLE / SELECT ANY TABLE
  • UPDATE ANY TABLE

Tablespaces

  • CREATE TABLESPACE
  • ALTER TABLESPACE
  • DROP TABLESPACE
  • UNLIMITED TABLESPACE

Benutzerprivilegien

  • CREATE USER
  • ALTER USER
  • DROP USER

Rechte vergeben und entziehen

Rechte vergeben (GRANT)

Syntax: GRANT <privileg> / ALL PRIVILEGES TO <user> / <rolle> / PUBLIC WITH ADMIN OPTION;

Rechte entziehen (REVOKE)

Syntax: REVOKE <privileg> / ALL PRIVILEGES FROM <user> / <rolle> / PUBLIC;

Rollen erstellen und ändern

  • CREATE ROLE <rolle> IDENTIFIED BY <password>;
  • ALTER ROLE <rolle> NOT IDENTIFIED / IDENTIFIED BY <password>;
  • GRANT <rolle> TO <user> / <rolle> / PUBLIC;

Beispiel: Sitzungsrecht an die Rolle Zebra vergeben.

Beispieltabelle

CREATE TABLE Tabelle (
  Name VARCHAR2(20),
  Name VARCHAR2(20)
);

Sitzungen beenden

Benutzername, SID und Serial# ermitteln, anschließend die Sitzung beenden:

ALTER SYSTEM KILL SESSION 'sid, serial#';

Zugriff auf Tabellen per Rolle gewähren

Beispiel: Rolle cebrita das Recht CREATE SESSION geben und Lesezugriff auf die Tabelle cebra.usuario gewähren:

GRANT CREATE SESSION TO cebrita;
GRANT SELECT ON cebra.usuario TO cebrita;

Anschließend kann die Tabelle aus der zweiten Verbindung abgefragt werden:

SELECT * FROM cebra.usuario;

Anmeldung als SYSDBA

Zugriff über SQL*Plus:

sqlplus /nolog
CONN / AS SYSDBA

Herunterladen

PDF Word HTML

Häufige Fragen

Welches Privileg braucht ein Benutzer, um sich in Oracle anzumelden?

Ein Benutzer muss über das Systemprivileg CREATE SESSION verfügen, damit eine Verbindung möglich ist.

Wie wird ein Oracle-Benutzer gelöscht?

Mit dem Befehl DROP USER ; oder DROP USER CASCADE;. Für den Befehl ist das Systemprivileg DROP USER erforderlich.

Wie beendet man eine Sitzung in Oracle?

Man ermittelt Benutzername, SID und Serial# und beendet die Sitzung mit ALTER SYSTEM KILL SESSION 'sid, serial#';.

Wie werden Rechte entzogen?

Mit dem Befehl REVOKE FROM , oder PUBLIC.

Stellen Sie sich auf die Probe

Lernkarten

Tippen Sie auf eine Karte, um die Antwort zu sehen.

Test

1. Welches Systemprivileg wird benötigt, damit sich ein Benutzer verbinden kann?
2. Welches Systemprivileg ist zum Löschen eines Benutzers nötig?
3. Welcher Befehl vergibt Rechte an einen Benutzer oder eine Rolle?
4. Welche Angaben werden zum Beenden einer Sitzung benötigt?
5. Was bewirkt die Option CASCADE bei DROP USER?

Mit KI aus dem Dokument erstellte Fragen: Prüfen Sie die Antworten anhand des Textes.