ITPub博客

首页 > 数据库 > Oracle > Oracle 12c公用账户和本地用户的创建

Oracle 12c公用账户和本地用户的创建

原创 Oracle 作者:luashin 时间:2016-03-11 16:46:16 0 删除 编辑

Oracle 12c的账户可以分为公用账户和本地用户,公有账户是在CDB下创建,可以给所有的PDB用户使用,本地账户是只能在PDB中创建的账号。

创建公共用户
alter session set container=CDB$ROOT;
create USER C##u02 identified by oracle container=all;
创建本地用户

alter session set container=pdb4;
create USER u01 identified by oracle container=current;

SQL> SELECT USERNAME,CON_ID,USER_ID FROM CDB_USERS WHERE USERNAME='U01'; 
USERNAME                       CON_ID     USER_ID
------------------------------ ---------- ----------
U01                            4          105


在CDB中创建测试账号

1、在CDB中创建账号必须以C##开头
 alter session set container=CDB$ROOT;
SQL> create user orcl identified by a;
create user orcl identified by a
            *
ERROR at line 1:
ORA-65096: invalid common user or role name

SQL> create user p##orcl identified by a;
create user p##orcl identified by a
            *
ERROR at line 1:
ORA-65096: invalid common user or role name

SQL> create user c##a identified by a;
User created.


SQL> select username from dba_users where username like 'C##%';
USERNAME
--------------------------------------------------------------------------------
C##A

---说明本地用户不能以C##开头

alter session set container=pdb4;
SQL>  create user c##B identified by B;
 create user c##B identified by B
            *
ERROR at line 1:
ORA-65094: invalid local user or role name

SQL> SELECT USERNAME,CON_ID,USER_ID FROM CDB_USERS WHERE USERNAME like 'C##%' ORDER BY USERNAME;
USERNAME                       CON_ID     USER_ID
------------------------------ ---------- ----------
C##BOSWLL                      4            103
C##BOSWLL 3 110
C##BOSWLL 1 102
C##BOSWLL 5 103
C##U02 4 106
C##U02 5 104
C##U02 1 103
C##U02 3 111

---创建公共用户时,不能在pdb中创建,必须在cdb中创建公共用户
SQL>  alter session set container=pdb4;
Session altered.

SQL> create USER C##u02 identified by oracle  container=all;
create USER C##u02 identified by oracle  container=all
                                *
ERROR at line 1:

ORA-65050: Common DDLs only allowed in CDB$ROOT

总结:
1 公共用户必须以C##开头,本地用户只能以字母开头,不能以C##用户开头
2 创建公共用户时,必须是在CDB$ROOT
3 如果在PDB中已经存在一个用户或者角色,则在CDB中不能创建相同的账号或者角色名

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9034054/viewspace-2055714/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-02-18

  • 博文量
    290
  • 访问量
    1059793