首页 文章

Oracle DBMS 12c,如何创建可以创建表的用户

提问于
浏览
0

我在我的系统上安装了Oracle 12c,打算开发一些简单的表 . 如何创建可以创建和操作表的简单用户?现在我可以访问dbms的唯一方法是使用sqlplus“/ as sysdba” .

我创建了一个表空间 . 但是当我尝试使用该表空间创建一个默认的用户时,它告诉我表空间不存在 . 我运行“select * from V $ tablespace”,我确实看到了我的表空间 .

我觉得我在这里缺少一些基本的东西 . 我一直在读Oracle的文档,似乎没什么用 . 特别是,用户创建 . Oracle的示例导致我出错,抱怨可插拔数据库 . 阅读后,可插拔数据库是12c的新功能,因此您必须将C ##附加到前端用户名 . 我认为这使它成为一个“普通”用户,虽然我不确定它到底是什么 . 无论如何,即使使用“C ## test”也无法找到我的表空间 . :-(

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

1 回答

  • 0

    您需要在表空间中分配一些卷,以便用户创建表 . 如果你在cdb $ root:

    CREATE USER C##U1 
            IDENTIFIED BY password 
            DEFAULT TABLESPACE SYSAUX 
            QUOTA 10M ON SYSAUX 
            TEMPORARY TABLESPACE temp;
    

相关问题