oracle12C 创建用户

安装完后按11g方式创建用户的时候报错:

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

代码如下:

create user username identified by 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 session to  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 user username identified by password就可以。

 

转载于:https://www.cnblogs.com/GallopingSnail/p/5597196.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值