Oracle学习笔记之19c 权限和角色概述

简介: Oracle学习笔记之19c 权限和角色概述

Oracle Database 12C带来了新特性多租户功能,在此之上,权限和角色也有新的变化,接下来将讲解基于新特性下的赋予权限和角色。

1.公共角色

公共角色既可以存在于CDB root中,也可以存在于Application root中,同时应用于在root容器中的所有PDB。基于此特点,对于跨容器操作,公共角色是非常有用的,在操作之前要确保公共角色在每个PDB中都有角色。
公交角色的类型有2种:
1.Oracle自己提供的,例如DBA和PUBLIC。
2.用户自己创建的,在CDB root或者Application root下,通过CREATE ROLE ... CONTAINER = ALL语句创建,角色前缀必须是COMMON_USER_PREFIX,其默认值是c##或C##。
图片.png
角色的作用范围取决于定义这个角色的容器,如果在CDB root下定义,那么其范围就是整个CDB。如果在Application root下定义,那么其范围就是整个Application容器。

2.本地角色

通过CREATE ROLE ... CONTAINER = CURRENT(CONTAINER = CURRENT是默认值)创建的角色是本地角色,该角色只存在于单一的PDB中,其作用范围也只限于所定义的PDB中。例如,在PDB1中创建了本地角色pdbrole,那么pdbrole就被限制于PDB1中,在其他PDB中是不可用的。
属于同一CDB或Application容器的PDB,可以创建相容名字的角色。例如,pdbrole创建于PDB1中,在PDB2中也可以创建相容名字的本地角色pdbrole。

3.赋予角色和权限

在CDB模式下,只有2种方式去赋予权限和角色,公共方式和本地方式。
1.公共方式:GRANT ... TO USER CONTAINER=ALL
2.本地方式:GRANT ... TO USER CONTAINER=CURRENT
权限和角色如果以公共方式被赋予,那么其作用范围就在整个容器内,包括现有的PDB和未来新创建的PDB;如果以本地方式被赋予,那么其作用范围就在当前容器内。
用户和角色可能是公共的或者本地的,但权限并不这样区分。在CDB中,当前的容器是CDB root,那么以公共方式赋权,那就意味着在整个CDB中都是有效的,包括容器下的所有PDB和未来创建的PDB,如果以本地方式赋权,那就意味着只在当前容器有效。

下面来举例来说明:
1) 创建公共角色c##user1,并以本地方式赋予create session权限
图片.png
2) 创建公共角色c##role1,并本地方式赋予select any table权限
图片.png
3) 本地方式将c##role1赋予c##user1
图片.png
4) c##user1连接pdb1,连接失败,缺少create session权限,这是因为本地方式赋予c##user1的create session只在CDB root中有效
图片.png
5) 连接pdb1,本地方式赋予c##user1权限connect和resource,再次用c##user1连接pdb1,连接成功
图片.png
6) 查询表现有表scott.emp,查询失败,报出表或视图不存在错误
图片.png
7) 在CDB root下,公共方式赋予c##role1权限select any table,再次c##user1连接pdb1,并查询scott.emp,但还是报错
图片.png
图片.png
8) 在CDB root下,公共方式赋予c##user1角色c##role1,再次c##user1连接pdb1,并查询scott.emp,终于成功
图片.png

相关文章
|
3月前
|
SQL Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第19题)- 2024年修正版
【优技教育】提供2024年修正版Oracle 19c OCP 082题库,共90题,需60%分数通过,考试时间为150分钟。文档包含详细解析,禁止未授权转载。OCP认证需在Oracle指定机构培训后参加考试,通过082(60%)和083(57%)两门科目方可获得证书。
67 8
|
3月前
|
Oracle 关系型数据库
【优技教育】Oracle 19c OCP 082题库(第8题)- 2024年修正版
这是2024年修正版的Oracle 19c OCP认证题库,包含1Z0-082考试的90道题目,通过分数为60%,考试时间为150分钟。第8题涉及创建表时的约束问题,正确答案为AC。非空约束需在列级声明,且一张表只能有一个LONG列。通过082和083两门考试后可获得OCP证书。
56 4
|
4月前
|
存储 自然语言处理 Oracle
Oracle数据库字符集概述及修改方式
【8月更文挑战第15天】Oracle 数据库字符集定义了数据的编码方案,决定可存储的字符类型及其表示方式。主要作用包括数据存储、检索及跨系统传输时的正确表示。常见字符集如 AL32UTF8 支持多语言,而 WE8MSWIN1252 主用于西欧语言。修改字符集风险高,可能导致数据问题,需事先备份并评估兼容性。可通过 ALTER DATABASE 语句直接修改或采用导出-导入数据的方式进行。完成后应验证数据完整性。此操作复杂,须谨慎处理。
109 5
|
2月前
|
Oracle 关系型数据库 网络安全
Oracle 19c 安装教程学习
Oracle 19c 安装教程学习
78 2
|
3月前
|
Oracle 关系型数据库 数据库
Oracle 19c OCP 认证考试 083 题库(第37题)- 2024年修正版
本文介绍Oracle 19c OCP认证题库中的1Z0-083科目,包含85道试题,需在150分钟内完成,通过分数为57%。重点解析了关于阈值、指标和警报的问题,并指出需通过Oracle指定的WDP机构培训后才能参加考试,考试科目包括082和083,通过后可获得OCP证书。CUUG作为金牌合作机构,提供详细咨询与帮助。
128 1
|
3月前
|
Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第24题)- 2024年修正版
这是关于Oracle 19c OCP认证考试082题库的修正版,包含90道题目,通过分数为60%,考试时间为150分钟。本文由CUUG原创整理,解析了考试题目,并提供了正确答案和详细解释。通过该认证需完成两门科目考试,合格后可获得OCP证书。
54 4
|
3月前
|
SQL Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第26题)- 2024年修正版
这是关于Oracle 19c OCP认证考试(1Z0-082)的题库,包含90道题目,通过分数为60%,考试时间为150分钟。本文由CUUG原创整理,重点解析了全球临时表的特点和相关操作,并提供了正确答案及详细解释,帮助考生更好地理解和备考。
50 2
|
3月前
|
Oracle 关系型数据库 数据库
Oracle 19c OCP 认证考试 082 题库(第22题)- 2024年修正版
这是【优技教育】提供的Oracle 19c OCP认证考试082题库修正版,包含90道题目,通过分数为60%,考试时间为150分钟。文章详细解析了第22题,并指出正确答案为B。OCP认证需在Oracle指定的WDP机构培训后参加考试,通过082和083两科方可获得证书。CUUG作为金牌合作机构,可助您快速通过考试。
72 5
|
3月前
|
Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第18题)- 2024年修正版
这是优技教育提供的Oracle 19c OCP认证考试082题库的2024年修正版,包含90道题目,通过分数为60%,考试时间为150分钟。本文为CUUG原创整理,详细解析了第18题的选择题,并提供了正确答案与解释。需注意,OCP认证需在Oracle指定的WDP机构培训后才能参加考试。
79 7
|
3月前
|
SQL Oracle 关系型数据库
【优技教育】Oracle 19c OCP 082题库(第16题)- 2024年修正版
这是优技教育提供的Oracle 19c OCP认证考试082题库的2024年修正版,包含90道题目,通过分数为60%,考试时间为150分钟。本文解析了题库中的第16题,并详细解释了标量子查询的相关概念与用法,强调其在SQL语句中的嵌套应用及其优势。通过解析帮助考生更好地理解考试内容。原文链接:http://www.cuug.com/index.php?s=/home/article/detail/id/3397.html。
46 7