Oracle Datenbanken: Benutzer anlegen ohne CREATE USER, mit GRANT
Ralf Durben, 07.09.2010

Seit Oracle 7 werden neue Datenbankbenutzer mit dem Kommando CREATE USER erstellt. Dieses ist aber im Bereich der Batch-Verarbeitung manchmal nicht vorteilhaft, da das Kommando immer dann einen Fehler erzeugt, wenn der zu erstellende Benutzer schon existiert. Oft soll aber in dieser Situation einfach mit dem nächsten Kommando des Skripts weitergemacht werden. Auch möchte man sicherlich nicht pro forma den eventuell existierenden Benutzer löschen, da damit ja eventuell auch Objekte verloren gehen können.

Für diese Zwecke ist es hilfreich zu wissen, wie Benutzer vor Oracle 7, also in Oracle Version 6, erstellt wurden, denn diese Syntax ist immer noch gültig, auch wenn sie in keinem Handbuch mehr auftaucht. Ein neuer Datenbankbenutzer kann auch mit einem GRANT-Befehl erstellt werden. Statt

CREATE USER ralf identified by passwort;
GRANT create session TO ralf;
kann man auch das Kommando
GRANT create session TO ralf identified by passwort;
verwenden. Wenn es diesen Benutzer schon gibt wird nur das neue Recht vergeben. Falls auch dieses vorhanden ist, passiert also letztlich nicht, auch keine Fehlermeldung. Diese Methode ist ideal zum Erstellen von Datenbankbenutzern aus Skripten heraus.

Impressum