您的位置:首页 > 其它

ORA-65096 invalid common user or role name

2015-09-24 20:15 453 查看
环境:win7 64bit,oracle 12c(12.1.0.1.0)

转自:http://blog.csdn.net/liou825/article/details/10054589

先说基本用法:

先按11G之前进行

conn / as sysdba;

create user test identifed by test;

ORA-65096: 公用用户名或角色名无效.

查官方文档得知“试图创建一个通用用户,必需要用C##或者c##开头”,这时候心里会有疑问,什么是common user?不管先建成功了再说

create C##user test identifed by test;

创建成功

SQL>show con_name;

CON_NAME

------------------------------
CDB$ROOT

select
con_id,dbid,
NAME
,OPEN_MODE
from
v$pdbs;


CON_ID       DBID NAME                           OPEN_MODE

---------- ---------- ------------------------------ ----------

         2 4066409480 PDB$SEED                       READ ONLY

         3 2270995695 PDBORCL                        MOUNTED


SQL>alter
session set container=PDBORCL;

这时再用create user test identifed by test;建立用户就可以了。

以下文章原文:http://www.xifenfei.com/4432.html

CDB和PDB是ORACLE 12C一个很亮的新特性,由于他们的引入导致传统的ORACLE数据库管理理念不少发生了改变,这里列举了部分最基本的cdb和pdb管理方式

cdb和pdb关系图



ORACLE 12C版本

启动关闭pdb

pdb的管理可以在cdb中进行也可以在pdb中进行,如果是cdb中进行,需要PLUGGABLE关键字,如果是pdb中直接和普通数据库一样

登录pdb

pdb可以通过alter session container进入也可以直接通过tns方式登录

创建用户

创建用户默认的是container=all,在cdb中只能创建全局用户(c##开头),会在cdb和所有的pdb中创建该用户(但是pdb中的全局用户需要另外授权才能够在pdb中访问)。在pdb中只能创建的用户为本地用户

用户授权

用户授权默认情况下是只会给当前container,在cdb中也可以指定container=all,对所有open的pdb且存在该用户都进行授权

修改参数

这里可以看到在cdb中修改,pdb会继承进去;如果在pdb中修改会覆盖pdb从cdb中继承的参数含义

参考:
http://www.tuicool.com/articles/V3UJZfA http://www.xifenfei.com/2013/05/oracle-12c-pdb-%E7%AE%A1%E7%90%86%E4%BB%8B%E7%BB%8D1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: