Ich installierte Oracle 12c auf meinem System mit der Absicht, ein paar einfache Tabellen zu entwickeln. Wie erstelle ich einen einfachen Benutzer, der Tabellen erstellen und bearbeiten kann? Im Moment kann ich nur mit sqlplus "/ as sysdba" auf die dbms zugreifen.Oracle DBMS 12c, So erstellen Sie einen Benutzer, der Tabellen erstellen kann
Ich habe einen Tablespace erstellt. Aber wenn ich versuche, einen Benutzer mit diesem Tablespace als Standard zu erstellen, sagt er mir, dass der Tablespace nicht existiert. Ich starte "Select * from V $ tablespace" und ich sehe meinen Tablespace.
Ich fühle mich hier etwas Grundlegendes vermisst. Ich habe über Oracles Dokumentation gelesen, nichts scheint zu funktionieren. Speziell die Benutzererstellung. Die Beispiele Oracle hat mir Fehler verursacht, beschwert sich über steckbare Datenbanken. Nach dem Lesen sind steckbare Datenbanken ein neues Feature von 12c, daher müssen Sie C## an die vorderen Benutzernamen anhängen. Ich denke, das macht es zu einem "normalen" Benutzer, obwohl ich mir nicht sicher bin, was das wirklich ist. Unabhängig davon, selbst mit "C## test" kann es meinen Tablespace nicht finden. :-(
SQL> create tablespace DBClassSpace;
SQL> create user C##test
2 identified by secret
3 default tablespace DBCLASSSPACE
4 quota 10M on DBCLASSSPACE
5 temporary tablespace TEMP;
create user C##test
*
ERROR at line 1:
ORA-65048: error encountered when processing the current DDL statement in
pluggable database PLUGDBCLASS
ORA-00959: tablespace 'DBCLASSSPACE' does not exist
SQL> select user from dual;
USER
------------------------------
SYS
SQL> select * from V$tablespace;
TS# NAME INC BIG FLA ENC CON_ID
---------- ------------------------------ --- --- --- --- ----------
1 SYSAUX YES NO YES 1
0 SYSTEM YES NO YES 1
2 UNDOTBS1 YES NO YES 1
4 USERS YES NO YES 1
3 TEMP NO NO YES 1
0 SYSTEM YES NO YES 2
1 SYSAUX YES NO YES 2
2 TEMP NO NO YES 2
0 SYSTEM YES NO YES 3
1 SYSAUX YES NO YES 3
2 TEMP NO NO YES 3
TS# NAME INC BIG FLA ENC CON_ID
---------- ------------------------------ --- --- --- --- ----------
3 USERS YES NO YES 3
5 DBCLASSSPACE YES NO YES 1
...
SQL> select tablespace_name from cdb_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
DBCLASSSPACE
SYSTEM
SYSAUX
TEMP
USERS
10 rows selected.
SQL> create user C##test
2 identified by secret
3 default tablespace DBCLASSSPACE
4 quota 10M on DBCLASSSPACE
5 temporary tablespace TEMP;
create user C##test
*
ERROR at line 1:
ORA-65048: error encountered when processing the current DDL statement in
pluggable database PLUGDBCLASS
ORA-00959: tablespace 'DBCLASSSPACE' does not exist
Haben Sie den Tablespace erstellt und fragen Sie diese Ansicht im Root-Container oder in einer Pluggable-DB ab? Sie möchten den Tablespace und dann den Benutzer in der PDB und nicht im Stammverzeichnis erstellen. Folgen Sie den Beispielen aus den 12c-Dokumenten. oder etwas Earler? Es könnte helfen um einen Link zu diesen und die Fehler, die Sie bekommen, zu integrieren. –
Hier ist, was ich folge: https://docs.oracle.com/database/121/SQLRF/statements_8003.htm#SQLRF01503 – horseatingweeds
Ich habe einen Tablespace hinzugefügt. Ich bin in der SYS-Datenbank, die der Root-Container ist, richtig? Ich habe heute zuerst den Begriff "Pluggable DB" gelesen. Wie benutze ich einen Tablespace in Oracle? Ich kann dazu nichts finden. – horseatingweeds