您的位置:首页 > 数据库 > Oracle

oracle12C 创建用户

2016-06-18 23:46 876 查看
安装完后按11g方式创建用户的时候报错:

试图创建一个通用用户,必需要用C##或者c##开头

代码如下:

create user username identifiedby password
default tablespace user_data
temporary tablespace user_temp;

特别发现:12C创建用户的时候需要C##开头。

12C的新特性CBD(Container Database)与PDB(Pluggable Database),具体还要在研究下。

网上搜到的解决方案如下:

1、打开cmd输入sqlplus,或者在所有程序里面找到Sql plus进入到Sql plus。输入:sys/manager as sysdba,以超级管理员的权限登录数据库,所以登录这个账号你可以修改其他账号的密码和创建新用户。



2、创建用户及附权限:

create user c##用户名 identified by 密码;

为刚创建的用户解锁:alter user c##用户名 account unlock;

授予新用户创建权限:grant create sessionto c##用户名 ;

授予新用户数据库管理员权限:grant dba to c##用户名;

授予用户其它权限:

GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE, DBA,CONNECT,RESOURCE,CREATE SESSION TO c##用户名;







---解释报错原因:

创建用户默认的是container=all,在cdb中只能创建全局用户(c##开头),

会在cdb和所有的pdb中创建该用户(但是pdb中的全局用户需要另外授权才能够在pdb中访问)。

在pdb中只能创建的用户为本地用户。通过指定container :
alter
session
set
container=pdboralce,再创建user就不用加c##,用
create
[code]user
username identified
by
password就可以。[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: