Wie bereits mehrfach in den Kommentaren, die Verwendung der erwähnten CONNECT, RESOURCEund DBARollen , die von Oracle abgeraten.
Sie müssen sich als SYS verbinden, um Ihre Rolle und die Benutzer zu erstellen, denen diese Rolle zugewiesen wurde. Sie können SQL Developer oder SQL * Plus nach Belieben verwenden. Vergessen Sie nicht, die SYSDBA-Rolle in der Anmeldezeichenfolge anzugeben. Das connect_identifierverwendet unterschiedliche Syntaxen.
sqlplus sys/<<password>>@<<connect_identifier>> as sysdba
Angenommen, Sie haben einen 12cR1 wie den, der als VM mit dem " Oracle Technology Network Developer Day " bereitgestellt wird . Die Verbindungszeichenfolgen könnten sein (um eine Verbindung zum bereitgestellten PDB herzustellen):
sqlplus sys/oracle@127.0.0.1/orcl as sysdba
sqlplus sys@"127.0.0.1/orcl" as sysdba
Beachten Sie, dass unter Unix die Anführungszeichen maskiert werden müssen, da sie sonst von der Shell verwendet werden. So "wird \".
Anschließend erstellen Sie die Rolle MYROLEund gewähren ihr andere Rollen oder Berechtigungen. Ich habe fast das Nötigste hinzugefügt, um etwas Interessantes zu tun:
create role myrole not identified;
grant create session to myrole;
grant alter session to myrole;
grant create table to myrole;
Als nächstes erstellen Sie den Benutzer MYUSER. Die folgende Zeichenfolge, identified bydie das Kennwort ist, unterscheidet zwischen Groß- und Kleinschreibung. Der Rest ist nicht. Sie können auch SQL-getrennte Bezeichner (umgeben von Anführungszeichen ") anstelle von regulären Bezeichnern verwenden, die in Großbuchstaben konvertiert werden und einigen Einschränkungen unterliegen. Die Quote könnte unlimitedstattdessen sein 20m.
create user myuser identified by myuser default tablespace users profile default account unlock;
alter user myuser quota 20m on users;
grant myrole to myuser;
Schließlich verbinden Sie sich als Ihr neuer Benutzer.
Bitte beachten Sie, dass Sie auch das Standardprofil ändern oder ein anderes angeben können, um einige Einstellungen wie die Ablaufdauer von Kennwörtern, die Anzahl der zulässigen fehlgeschlagenen Anmeldeversuche usw. anzupassen.
CONNECTRolle jedoch über viel mehr Berechtigungen als der Name vermuten lässt. Ich würdeCREATE SESSIONstattdessen viel lieber gewähren .