Wie sollte ein Datenbank-Benutzer angelegt werden (inkl. Schema / tablespace) - Oracle?

Wie sollte ein Datenbank-Benutzer angelegt werden (inkl. Schema / tablespace) - Oracle?

siehe auch "-114/01" (KB-Einträge) und KB-110/14:

Voraussetzung für diese Schritte: Es gibt bereits eine Datenbank. Es wurde eine Verbindung zur Datenbank hergestellt, z. Bsp. per SQL-Developer oder per SQLPlus (Oracle-Tool). 

Wichtig: Unser Datenbankbenutzer sollte gleich heißen wie das Schema. Wir benötigen lediglich die Rechte Connect und DBOwner. Nicht mehr. 

Ab ORACLE Server Version 12c ist die Rolle CREATE SESSION zusätzlich erforderlich. 

Wichtig: Das Sonderzeichen “{“ ist bei Datenbankpasswort nicht erlaubt.

 

nachfolgend beschrieben:


Schritt-für-Schritt-Anleitung

Erstellung per ODBC-Verbindung

Beispiel für Erstellung eine Tablespace namens ASDB mit 2 Data-Files, Benutzer sysadm in einer ODBC-Verbindung. Sollen andere Bezeichner und Passwörter verwendet werden, die orange markierten Daten ersetzen.
Wichtig: Je nach Oracle-Version und Verbindung zur Datenbank kann es sein, dass man keine Hochkommas oder einfache oder doppelte Hochkommas setzen muss. 

  1. Erstellung Tablespace

    -- Tablespace <ASDB> mit 2 Datenfiles <ASDB01> und <ASDB02> mit jeweils 500 MB und 4 MB Autoerweiterung anlegen CREATE TABLESPACE ASDB DATAFILE 'asdb01' SIZE 500M AUTOEXTEND ON NEXT 4M, 'asdb02' SIZE 500M  AUTOEXTEND ON   NEXT 4M; -- unbegrenzte Extents für den Tablespace <ASDB> einrichten ALTER TABLESPACE ASDB DEFAULT STORAGE ( MAXEXTENTS UNLIMITED );

     

  2. Anlegen des Users <SYSADM> mit Kennwort <FREUND> für die TS <ASDB> und <TEMPORARY>

    -- Benutzer anlegen:  CREATE USER 'SYSADM' IDENTIFIED BY 'freund'  DEFAULT TABLESPACE 'ASDB' TEMPORARY TABLESPACE 'TEMPORARY' PROFILE DEFAULT ACCOUNT UNLOCK;   -- Rechtezuweisung für User <SYSADM>: GRANT CONNECT TO SYSADM; GRANT CREATE SESSION TO SYSADM; GRANT DBA TO SYSADM; -- bei Oracle-Versionen <12 ausführen: GRANT UNLIMITED TABLESPACE TO 'SYSADM'; -- ab Oracle 12c muss anstelle dessen dies erfolgen: ALTER USER "SYSADM" QUOTA UNLIMITED ON ENAIO; ALTER USER 'SYSADM' DEFAULT ROLE ALL;

     

  3. Aktion auch tatsächlich ausführen:
    Ansonsten werden die Daten nicht angelegt!

    commit;

 

per SQL-Developer

  1. SQL-Developer starten und mit DBA-Rechten anmelden.

     

  2. Tablespace anlegen - analog der Anleitung “Erstellung per ODBC-Verbindung”.
    Beispiel für enaio: 

    CREATE TABLESPACE ENAIO DATAFILE 'enaio01' SIZE 500M AUTOEXTEND ON NEXT 4M,   'enaio02' SIZE 500M AUTOEXTEND ON NEXT 4M; COMMIT; 
  3. Auf den Eintrag "andere Benutzer" gehen und per rechter Maustaste "Benutzer erstellen" wählen. 

  4. Die einzelnen Tabs anklicken und anpassen: 

    1. Tab "Benutzer":  Benutzername und Passwort eingeben sowie die Tablespaces zuweisen. 

    2. Tab "Erteilte Rollen": 

    3. Tab "Systemberechtigungen": Create Session zuweisen 

    4. Tab "Quotas": Den Tablespace auf unlimeted setzen

    5. Tab "SQL": zeigt an, was als Befehlszeilen (inkl. korrekte Maskierung) auszuführen wäre. Kontrolle bzw. Vergleich mit der Anleitung “Erstellung per ODBC-Verbindung” ist empfehlenswert.

      Nach der Prüfung "Anwenden" anklicken 

       

  5. Ansicht "andere Benutzer" öffnen und aktualisieren. Der Benutzer sollte nun auch in der Liste auftauchen. 
    Wichtig: Der angemeldete Benutzer wird im Normalfall nicht in der Liste "andere Benutzer" angezeigt. D.h. wenn man als sysadm angemeldet ist, ist sysadm nicht in der Liste. 

 

 

Bei Oracle darauf achten, dass die Befehle mit "commit;" abgeschlossen werden. 

 

Verwandte Artikel