oracle 创建用户 公用,[原创]Oracle12cR2_创建公用用户
[原创]Oracle12cR2_创建公用用户
在CDB模式下,公用用户(Common User)和本地用户(Local User)两个概念被引入进来,
公用用户可以在CDB和PDB中同时存在,能够连接ROOT和PDB进行操作;而本地用户则只在特定的PDB中存在,也只能在特定的PDB中执行操作;
在PDB中不能创建公用用户,而在CDB中(CDB$ROOT中)同样不能创建本地用户。
创建公有用户,公有用户名必须是以C##或者c##(大小写C和两个#)开头的用户名,但这前缀是可以更改的,通过 common_user_prefix 参数控制。
默认的前缀名称如下所示,默认CDB中,common_user_prefix 的值是 C##。
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show parameter COMMON_USER_PREFIX
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
common_user_prefix string C##
SQL>
演示创建一个 c##lyn 的用户,之后需要赋予相应的权限,另外需要注意使用grant语句中的container指定容器。
SQL> show user;
USER is "SYS"
SQL> create user c##lyn identified by oracle;
User created.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB3 READ WRITE NO
5 PDB2 READ ONLY NO
SQL>
SQL> grant connect,resource to c##lyn;
Grant succeeded.
SQL> conn [email protected];
ERROR:
ORA-01045: user C##LYN lacks CREATE SESSION privilege; logon denied
Warning: You are no longer connected to ORACLE.
SQL> conn / as sysdba
Connected.
SQL> grant connect,resource to c##lyn container=all;
Grant succeeded.
SQL> conn [email protected];
Connected.
SQL>
当创建公用用户时,Oracle会向每个PDB中同时创建该用户,如果PDB未打开,则创建工作会以任务的方式延后。
如下所示,pdb2是read only状态,所以创建c##lyn用户时候,对pdb2是没有创建成功的。
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB3 READ WRITE NO
5 PDB2 READ ONLY NO
SQL>
SQL> conn [email protected];
Connected.
SQL> conn [email protected];
Connected.
SQL> conn [email protected];
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
SQL>
通过重启pdb2,之后可以用c##lyn的公共用户连接了。
SQL> conn / as sysdba
Connected.
SQL>
SQL> alter pluggable database pdb2 close immediate;
Pluggable database altered.
SQL> alter pluggable database pdb2 open;
Pluggable database altered.
SQL>
SQL> conn [email protected];
Connected.
SQL>
cdb/pdb数据文件的路径清晰可见。如果要创建的公有用户指定表空间的话,需要每个容器都事前存在,不然会报错。参考如下实验:
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> select file_name from dba_data_files;
FILE_NAME
------------------------------------------------------------
/opt/oracle/oradata/PRODCDB/system01.dbf
/opt/oracle/oradata/PRODCDB/sysaux01.dbf
/opt/oracle/oradata/PRODCDB/undotbs01.dbf
/opt/oracle/oradata/PRODCDB/deftbs01.dbf
SQL> create tablespace users datafile '/opt/oracle/oradata/PRODCDB/user01.dbf' size 100m autoextend on uniform size 1m;
Tablespace created.
SQL> select file_name from dba_data_files;
FILE_NAME
------------------------------------------------------------
/opt/oracle/oradata/PRODCDB/system01.dbf
/opt/oracle/oradata/PRODCDB/sysaux01.dbf
/opt/oracle/oradata/PRODCDB/undotbs01.dbf
/opt/oracle/oradata/PRODCDB/deftbs01.dbf
/opt/oracle/oradata/PRODCDB/user01.dbf
SQL>
SQL> create user c##test01 identified by oracle default tablespace users temporary tablespace temp01;
create user c##test01 identified by oracle default tablespace users temporary tablespace temp01
*
ERROR at line 1:
ORA-00959: tablespace 'TEMP01' does not exist
SQL> create user c##test01 identified by oracle default tablespace users temporary tablespace TEMPTS1;
create user c##test01 identified by oracle default tablespace users temporary tablespace TEMPTS1
*
ERROR at line 1:
ORA-65048: error encountered when processing the current DDL statement in pluggable database PDB1
ORA-00959: tablespace 'USERS' does not exist
SQL>
SQL> create user c##user01 identified by oracle default tablespace deftbs temporary tablespace TEMPTS1;
User created.
SQL>不仅临时表空间名要注意,指定的表空间需要各个容器都需要存在,不然报: ORA-65048 的错误。
测试链接:
SQL> grant connect,resource to c##user01;
Grant succeeded.
SQL>
上面赋予语句只能练剑PRODCDB,而不能链接pdb,所以赋予公有用户时候,需要注意container参数。参考如下:(container=all 赋予全部pdb相同权限)
[[email protected] ~]$ sqlplus [email protected]:1521/prodcdb;
SQL*Plus: Release 12.2.0.1.0 Production on Fri Sep 29 17:56:51 2017
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> conn [email protected];
ERROR:
ORA-01045: user C##USER01 lacks CREATE SESSION privilege; logon denied
Warning: You are no longer connected to ORACLE.
SQL> conn / as sysdba
Connected.
SQL> grant connect,resource to c##user01 container=all;
Grant succeeded.
SQL> conn [email protected];
Connected.
SQL>
~~~ LinHong 2017/09/15 ~~~~
oracle 创建用户 公用,[原创]Oracle12cR2_创建公用用户相关推荐
- Oracle sql plus创建用户时出现:ORA-65096: 公用用户名或角色名无效
Oracle sql plus创建用户时出现:ORA-65096: 公用用户名或角色名无效 执行 alter session set "_ORACLE_SCRIPT"=true; ...
- Oracle 用户表空间的创建和授权
2019独角兽企业重金招聘Python工程师标准>>> 执行以下SQL语句查找存放表空间的数据文件的路径 SELECT ddf.file_name FROM Dba_Data_Fil ...
- oracle创建登录用户有限制吗,Oracle创建用户限制文件,表空间用户授权等。
1.用户限制文件(限制用户的使用)1 2 3 4create profile iyeeku_profile limit failed_login_attempts 5 -- 指定锁定用户的登录失败的次 ...
- oracle 视图 其他用户,oracle创建视图中涉及到另外一个用户的表权限不足问题
oracle创建视图中涉及到另外一个用户的表权限不足问题 在oracle中存储过程或者视图等对象创建时,如果涉及到另外一个用户的表,即使你已经grant dba了,也不行,必须显式地赋予查询权限.否则 ...
- 【Oracle】使用SQL*Plus命令创建独立用户环境
实验二 一.实验目的 1. 掌握oracle中切换登陆用户: 2. 掌握oracle中个类查询语句. 二.实验任务 1. 使用系统管理员修改SCOTT模式的信息: 2.切换SCOTT用户登陆: 3. ...
- 【oracle】创建用户(指定表空间)、删除用户
创建用户(指定表空间).删除用户 --创建用户(表空间已存在) create user test identified by 123 account unlock default tablespace ...
- Oracle 同义词(synonyms)的作用及创建
什么是同义词 Oracle 数据库中提供了同义词管理的功能,同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性.在使用同义词时,Oracle 数据库将它翻译成对应方案对象的名 ...
- linux给oracle导入sql语句,Linux数据库创建与数据导入
之前没搞过linux,这次客户的系统装的linux,项目发布环境及数据库已经安装好了.由于要急着上线,所以就边摸索边处理了.简单记 之前没搞过linux,这次客户的系统装的linux,项目发布环境及数 ...
- Oracle资源管理器(二)-- 创建和使用数据库资源计划
(参考 http://blog.csdn.net/mrluoe/article/details/7969436 -- 整理并实践通过) 第1步,创建3个用户 SQL> create user s ...
最新文章
- mysql dml 日志_Oracle DML错误日志笔记
- ubuntu16.04+anaconda3+python3.6安装OpenCV3
- 百度校招历年经典面试题汇总:Java开发岗
- 卸掉IE8,降级使用
- keil5函数 默认返回值_Excel等级判定,除了If函数外,还有5个易学易用易懂的技巧需要掌握!...
- MySQL数据库、数据表和字段字符集查询、修改和配置
- MOSS 2010 无法同步用户配置文件
- 黑群晖XPEnoboot for DSM 5.2-5967.1
- 我的世界java甘蔗机_我的世界甘蔗机怎么做? MineCraft甘蔗机图文教程
- 基于微信小程序的药店管理系统毕业设计
- LintCode168.吹气球
- 双塔模型的瓶颈,究竟在哪?
- ArcGIS for Android 100.3.0(10):Callout的使用
- 转:长篇小说《七月七日晴》(超感人的)(上)
- 运放的基本应用电路-运放电路设计-运算放大器的基本应用电路
- MD5 到底是不是加密?
- 6种最常用恒流源电路的分析与比较
- Visual Haze Removal by a Unified GenerativeAdversarial Network(基于生成式对抗网络的图像去雾IEEE2019)
- 新手:linux环境配置以及linux下的pycharm安装
- ASP.Net中常见的文件类型