Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何创建可以在Oracle 12c中创建用户的用户?_Sql_Oracle - Fatal编程技术网

Sql 如何创建可以在Oracle 12c中创建用户的用户?

Sql 如何创建可以在Oracle 12c中创建用户的用户?,sql,oracle,Sql,Oracle,我已经创建了一个用户,授予了您在SQL Developer中可以看到的除sysdba之外的所有特权,并作为新用户登录,但我仍然无法创建其他用户 以下是我迄今为止所做的工作: 以本地sysdba身份登录 运行: CREATE USER USERA IDENTIFIED BY "PWDpwd123" DEFAULT TABLESPACE TBS1 TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK; 将您可以在SQL Develope

我已经创建了一个用户,授予了您在SQL Developer中可以看到的除sysdba之外的所有特权,并作为新用户登录,但我仍然无法创建其他用户

以下是我迄今为止所做的工作:

  • 以本地sysdba身份登录

  • 运行:

    CREATE USER USERA IDENTIFIED BY "PWDpwd123" DEFAULT TABLESPACE TBS1
    TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
    
  • 将您可以在SQL Developer中看到的所有特权和角色授予USERA

  • 以用户身份登录

  • 运行:

     CREATE USER USERB IDENTIFIED BY "pwd321" DEFAULT TABLESPACE TBS2
     TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
    
  • 然后我得到一个
    ORA-01031错误
    。发生了什么?
    非常感谢你的帮助

    您需要将
    创建用户
    系统权限授予该用户。

    GRANT CREATE USER to username;
    
    您还可以向该用户授予
    ALTER USER
    DROP USER
    系统权限。

    请参阅文档:

    系统权限名称:创建用户

    创建用户。此权限还允许创建者:

    在任何表空间上分配配额。设置默认值和临时值 表空间。将配置文件指定为CREATE USER语句的一部分


    编辑-实例



    最后一个命令
    SELECT user FROM dual
    显示当前(记录的)用户是
    user123

    谢谢!但是你能粘贴一个链接或显示一个实用的代码吗?正如你所看到的,我已经授予
    USERA
    任何可能的特权。代码在11g或更旧版本中运行平稳,因此我怀疑它是否与Oracle版本有关。我在答案中附加了测试会话的日志。如何创建名称不以
    C#
    开头的用户?我得到了一个
    ORA-65096
    试图这么做。我是Oracle的新手,只有一些MSSQL知识,所以请帮助我。我有一个非CDB安装(没有多租户容器数据库)。您已经安装了CDB,因此所有用户名都必须以
    c##
    开头,请参阅文档:在非CDB安装中,用户名不能以
    c#
    开头。
    C:\>sqlplus system as sysdba
    
    SQL*Plus: Release 12.1.0.2.0 Production on Sat Jan 16 15:16:52 2016
    
    Copyright (c) 1982, 2014, Oracle.  All rights reserved.
    
    Enter password:
    
    Connected to:
    Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
    With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
    
    SQL> create user test123 identified by test;
    
    User created.
    
    SQL> grant connect to test123;
    
    Grant succeeded.
    
    SQL> grant create user to test123;
    
    Grant succeeded.
    
    SQL> connect test123
    Enter password:
    Connected.
    SQL> create user alamakota1 identified by alamakota;
    
    User created.
    
    SQL> select user from dual;
    
    USER
    ------------------------------
    TEST123
    
    SQL>