## ALTER USER-Anweisung (alter_user_statement)

Die ALTER USER-Anweisung (alter_user_statement) ändert die einem Datenbankbenutzer zugeordneten Eigenschaften.

### Syntax

<alter_user_statement> ::= ALTER USER <user_name> [<user_mode>]
[TIMEOUT <unsigned_integer> | TIMEOUT NULL]
[COSTWARNING <unsigned_integer> | COSTWARNING NULL]
[COSTLIMIT <unsigned_integer> | COSTLIMIT NULL]
[DEFAULT ROLE ALL [EXCEPT <role_name>] | DEFAULT ROLE NONE | DEFAULT ROLE <role_name>]
[[NOT] EXCLUSIVE]
[DEFAULTCODE ASCII]
[DEFAULTCODE UNICODE]
[<connect_mode>]

<user_mode> ::= DBA | RESOURCE | STANDARD
<connect_mode> ::= ENABLE CONNECT | DISABLE CONNECT

### Beispiele

SQL-Tutorial, Datenbankbenutzer und ihre Privilegien, Rollen

### Erläuterung

Sie müssen mindestens eine der optionalen Angaben verwenden.

Der angegebene Benutzername muss einen definierten Benutzer bezeichnen, der kein Mitglied einer Benutzergruppe ist.

Der aktuelle Benutzer muss das Eigentümerrecht an dem Benutzer besitzen, dessen Eigenschaften geändert werden sollen.

Zum Zeitpunkt der Ausführung der ALTER USER-Anweisung darf der angegebene Benutzer nicht beim Datenbanksystem angemeldet sein.

#### Datenbankbenutzerklasse

Mittels user_mode können Sie die Datenbankbenutzerklasse des Datenbankbenutzers festlegen. Die Datenbankbenutzerklasse gibt an, welche Operationen der definierte Benutzer ausführen darf.

· DBA: Diese Angabe bedeutet, dass dem angegebenen Datenbankbenutzer die Datenbankbenutzerklasse DBA verliehen werden soll. Diese Datenbankbenutzerklasse kann nur der Datenbanksystemadministrator (SYSDBA-Benutzer) verleihen.

· RESOURCE: Diese Angabe bedeutet, dass dem angegebenen Datenbankbenutzer die Datenbankbenutzerklasse RESOURCE verliehen werden soll. Falls der Benutzer zuvor die Datenbankbenutzerklasse DBA besaß, wird dem Benutzer das Eigentümerrecht für alle Benutzer entzogen, die er erzeugt hat. Neuer Eigentümer wird der Datenbanksystemadministrator (SYSDBA-Benutzer).

· STANDARD: Diese Angabe bedeutet, dass dem Datenbankbenutzer seine aktuelle Datenbankbenutzerklasse entzogen wird und er das Recht verliert, eigene Basistabellen zu erzeugen. Alle bereits existierenden Basistabellen des Benutzers werden gelöscht.

· Keine Datenbankbenutzerklasse: Wenn keine Datenbankbenutzerklasse angegeben wurde, bleibt die Benutzerklasse des Datenbankbenutzers unverändert.

#### NULL

Wenn der Wert NULL spezifiziert wird, dann wird der zuvor definierte Wert aufgehoben.

#### DEFAULT ROLE

Durch DEFAULT ROLE wird festgelegt, welche der an den Benutzer vergebenen Rollen automatisch beim Eröffnen einer Datenbanksitzung aktiviert werden.

· ALL: Alle Rollen, die dem Benutzer vergeben wurden, sind nach dem Eröffnen einer Sitzung aktiv. Durch EXCEPT können einzelne namentlich aufgeführte Rollen hiervon ausgenommen werden.

· NONE: Keine Rolle wird beim Eröffnen einer Datenbanksitzung des Benutzers aktiv.

· Angabe von Rollennamen: Die hierdurch identifizierten Rollen müssen existieren und an den Benutzer vergeben sein. Sie werden beim Eröffnen einer Datenbanksitzung des Benutzers automatisch aktiv.

#### TIMEOUT, COSTWARNING, COSTLIMIT, [NOT] EXCLUSIVE, DEFAULTCODE, ENABLE | DISABLE CONNECT

Eine Erläuterung dieser Möglichkeiten finden Sie in der Beschreibung der CREATE USER-Anweisung (create_user_statement).