Oracle 12c 用户创建、角色、权限
Oracle 12c 用户创建、角色、权限
小强斋太 发表于1年前
Oracle 12c 用户创建、角色、权限
  • 发表于 1年前
  • 阅读 116
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

 

一、创建用户

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

SQL> show con_name; CON_NAME ------------------------------
CDB$ROOT SQL> create user user1 identified by user1; create user user1 identified by user1 *1 行出现错误: ORA-65096: 公用用户名或角色名无效 SQL> create user c##user1 identified by user1; 用户已创建。 SQL> SELECT USERNAME,CON_ID,USER_ID FROM CDB_USERS WHERE USERNAME='C##USER1'; USERNAME CON_ID USER_ID
------------------------- C##USER1 1 102
C##USER1
3 103 C##USER1 4 103 SQL> alter session set container=pdb1; 会话已更改。 SQL> create user c##user2 identified by user2; create user c##user2 identified by user2 *1 行出现错误: ORA-65094: 本地用户名或角色名无效 SQL> create user user2 identified by user2; 用户已创建。 SQL> SELECT USERNAME,CON_ID,USER_ID FROM CDB_USERS WHERE USERNAME='USER2'; USERNAME CON_ID USER_ID ------------------------- USER2 3 104

二、角色、用户授权

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

SQL> show con_name CON_NAME ------------------------------
CDB$ROOT SQL> grant connect to c##user1; 授权成功。 SQL> select GRANTEE,con_id from cdb_ROLE_PRIVS where GRANTED_ROLE='CONNECT' AND GRANTEE='C##USER1'; GRANTEE CON_ID -------------------------------------------------------------------------------------------------------------------------------- ----------
C##USER1 1 SQL> grant resource to c##user1 container=all; 授权成功。 SQL> select GRANTEE,con_id from cdb_ROLE_PRIVS where GRANTED_ROLE='RESOURCE' AND GRANTEE='C##USER1'; GRANTEE CON_ID -------------------------------------------------------------------------------------------------------------------------------- ----------
C##USER1 1 C##USER1 3 C##USER1 4

三、修改参数

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

SQL> show con_name CON_NAME ------------------------------
CDB$ROOT SQL> alter system set open_cursors=500 container=all; 系统已更改。 SQL> show parameter open_cursors; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------
open_cursors integer 500 SQL> alter session set container=PDB1; 会话已更改。 SQL> show parameter open_cursors; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------
open_cursors integer 500 SQL> alter system set open_cursors=600; 系统已更改。 SQL> show parameter open_cursors; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------
open_cursors integer 600 SQL> alter session set container=CDB$ROOT; 会话已更改。 SQL> show parameter open_cursors; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------
open_cursors integer 500

参考

ORACLE-BASE - Multitenant : Overview of Container Databases (CDB) and Pluggable Databases (PDB)

【ORACLE】ORACLE 12c PDB 基础 - 临渊羡鱼 - 博客频道 - CSDN.NET

CDB和PDB基本管理 - Ziyoo - 博客园

Oracle 12C 多租户(Oracle Multitenant)--基本概念-zerocool88888888-ChinaUnix博客

ORACLE 12C PDB 维护基础介绍 – 提供专业ORACLE技术咨询和支持@Phone :13429648788 - 惜分飞

Oracle 12c CDB PDB - 丁应思 - 博客园

Oracle 12c入门第三讲: Oracle 12c基本体系结构 (3) pdb,cdb元数据关系 ...,数据智能网,Oracle 12C

浅谈Oracle数据库12c PDB技术 - Oracle安装与升级 - TechTarget数据库

 

共有 人打赏支持
粉丝 0
博文 181
码字总数 0
×
小强斋太
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: