oracle - Oracle 数据库的多租户架构中更改会话集容器所需的权限
问题描述
我在容器级别的 Oracle 19C 中有一个用户,我想授予他通过 alter session set container 命令在多个可插拔数据库之间切换的权限,而不授予他 sysdba/dba 权限。
请让我知道,如果这是可能的。
解决方案
您不需要任何管理角色。仅当您尝试切换到的 PDB 当前已关闭时,才需要 SYSDBA、SYSOPER 等。
否则 -
-- drop user C##_JEFF;
-- USER SQL
CREATE USER C##_JEFF IDENTIFIED BY "oracle" container=all
DEFAULT TABLESPACE "USERS"
TEMPORARY TABLESPACE "TEMP";
-- QUOTAS
-- ROLES
-- SYSTEM PRIVILEGES
GRANT CREATE SESSION TO C##_JEFF container=all;
GRANT SET CONTAINER to C##_JEFF container=all;
然后,由于您标记了 SQLDev -
当然,除了 Docs,Oracle-Base 有一篇关于这个概念的好文章。我会说,您实际上很少需要可以切换到任何非管理员帐户的 PDB 的 COMMON 用户。在开始之前,请确保您了解 CDB 的实际用途。大多数应用程序将在可插入数据库 (PDB) 中定义所需的一切。
推荐阅读
- angular - Ionic 3 添加/删除标签
- android - MaterialDrawer 更改汉堡图标(菜单)
- php - 如何根据值合并 2 个数组?
- bash - Mosquitto MQTT Broker:如何连接外部代理并订阅外部主题
- laravel - 基本背包 laravel 安装
- javascript - 是否可以确定对服务器的 HTTP 请求是否来自 Ajax,或者单击链接
- java - CriteriaBuilder 和/或条件未应用必需/正确的括号
- scala - 在 Either 中指定案例对象的类型
- php - 在 PHP 中创建带有数据(字符串类型)的列表
- javascript - 如何将文本放在表格中 TD 的下一行