Oracle DB 12.x und das C##-User-Problem

By | 20. Februar 2016

Ich habe zu Testzwecken eine Oracle DB 12.1.0.2.0 auf meinem MACBook in einer VM installiert, weil ich für einen Kunden etwas testen wollte.

Neben der mehr als suboptimalen Grundinstallation via GUI, wollte ich dann über den EM (Oracle Enterprise Manager) Benutzer für meine Tests anlegen.

Tja, da staunt der Fachmann und wundert sich der Laie: die Benutzer, die man über den EM anlegen kann, müssen alle mit mit einem „C##“ im Usernamen anfangen, sonst kann man die nicht anlegen. 🙁

Beim Versuch den User Test, also ohne das C## im Usernamen vorangestellt, anzulegen, meldete Oracle zurück:

Selbst im Test mag ich nicht, daß ich die Namen meiner Benutzer, in auch welchem Format auch immer, nach der Meinung des Herstellers benennen muß.

Also kam der EM erst mal nicht weiter in Frage. Ich habe bis jetzt noch nicht rausgefunden, wie ich dem dieses Verhalten abgewöhnen kann.

Aber, es ist ja Oracle und nach einer kurzen Suche durch die Scripte auf der VM wurde ich fündig. 🙂

Soso, ihr prüft also beim Anlegen von Benutzern ab, ob die Variable „_ORACLE_SCRIPT“ in der Session gesetzt ist ?

Na dann fix eine sqlplus-Session als sysdba aufgemacht und folgendes probiert:

Und siehe da, ich konnte den Benutzer auch ohne das führende „C##“ anlegen.

Falls also mal wer auf ein ähnliches Problem stößt:
Einfach eine SQLPlus oder SQLDeveloper als Sysdba aufmachen, _ORACLE_SCRIPT auf true setzen und schon darf man auch als sysdba wieder alles wie gewohnt 🙂

Kommentar verfassen