×

首页>讲师原创专区

教师图片

史跃东老师

38文章总数

97944总阅读数

查看Ta的文章>>

Oracle Database 12C 之多租户(五)

发布于:2018年09月04日 浏览:2668次 0

我们先切换回根容器:

SYS@ora12c> alter session set container=CDB$ROOT;


Session altered.


接下来我们来创建用户及角色:

在12c中,如果我们还是按照11g以及以前版本中的命令来创建用户和角色,那是要报错的。因为12c中新引入了common_user_prefix参数,也就是说,你创建用户或者角色时,需要指定名称前缀,默认为c##。对于os认证的用户,也有相关的约束,参数为os_authent_prefix。

我们可以将该参数做一下处理。

SYS@ora12c> alter system set common_user_prefix='' scope=spfile;


System altered.


SYS@ora12c> startup force;

ORACLE instance started.


Total System Global Area 838860800 bytes

Fixed Size  2929936 bytes

Variable Size  687868656 bytes

Database Buffers  142606336 bytes

Redo Buffers  5455872 bytes

Database mounted.

Database opened.

SYS@ora12c> show parameter common_user_prefix;


NAME  TYPE  VALUE

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

common_user_prefix  string


SYS@ora12c> create user test_u1 identified by test container=current;

create user test_u1 identified by test container=current

*

ERROR at line 1:

ORA-65049: creation of local user or role is not allowed in CDB$ROOT

--在根容器中,不能创建本地用户。


SYS@ora12c> create user test_u1 identified by test container=all;


User created.


切换到种子容器试试:

SYS@ora12c> alter session set container=PDB$SEED;


Session altered.


SYS@ora12c> create user test_u3 identified by test container=current;

create user test_u3 identified by test container=current

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-16000: database or pluggable database open for read-only access



SYS@ora12c> alter session set container=ora12c_pdb1;


Session altered.


SYS@ora12c> create user test_u3 identified by test container=current;

create user test_u3 identified by test container=current

*

ERROR at line 1:

ORA-01109: database not open



SYS@ora12c> startup;


Pluggable Database opened.

SYS@ora12c> create user test_u3 identified by test container=current;


User created.


SYS@ora12c> create user test_u3 identified by test container=all;

create user test_u3 identified by test container=all

*

ERROR at line 1:

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


也就是说,在根容器中创建用户,container默认为all;在某一可插拔数据库中创建用户,container默认为current;种子容器中不允许创建用户。

角色也是如此。

本周热文

推荐专题

专栏图标 专栏图标 专栏图标 专栏图标 专栏图标 专栏图标

我赢职场APP
扫码立即下载

  • 微信图标官方公众号
    二维码扫描二维码
    关注东方瑞通官方公众号
    小图标
  • 微信图标PMP公众号
    二维码扫描二维码
    关注东方瑞通PMP公众号
    小图标
  • 微博图标新浪微博
    二维码扫描二维码
    关注东方瑞通新浪微博
    小图标
  • 微信图标客服小瑞
    二维码扫描二维码
    添加东方瑞通客服小瑞
    小图标

PMI, PMP, Project Management Professional, CAPM, PgMP, PfMP, PMI-ACP, PMI-RMP, PMI-SP, PMI-PBA and PMBOK are registered marks of the Project Management Institute, Inc.

Copyright © 2006-2018 东方瑞通(北京)咨询服务有限公司版权所有

京ICP备 13009094号 京公网安备 11010802014211号