当前位置: 首页 > news >正文

CONTAINER = ALL是ALTER USER语句的默认值

连接到root时查看有关root,CDB和PDB的数据

当公用用户执行查询时,可以限制X $表和V $,GV $和CDB_ *视图的视图信息。X$表和这些视图包含有关应用程序root及其关联应用程序PDB的信息,或者如果连接到CDB root,则是整个CDB。

当不想全局其他PDB的敏感信息时,限制此信息很有用。 要启用此功能,Oracle数据库将这些表和视图提供为容器数据对象。 可以通过查询USER_ | DBA_ | ALL_VIEWS | TABLES字典视图的TABLE_NAME,VIEW_NAME和CONTAINER_DATA列来查找特定表或视图是否为容器数据对象。

要查找有关默认(用户级别)和特定于对象的CONTAINER_DATA属性的信息,请查询CDB_CONTAINER_DATA数据字典视图。

例如:

启用公用用户查看指定PDB的信息

可以通过调整用户的CONTAINER_DATA属性来启用公用用户访问与特定PDB相关的数据。(要使公用用户能够访问有关特定PDB的数据,请在root中发出ALTER USER语句。)

以下示例显示如何发出ALTER USER语句以启用通用用户c##hr_admin在V $ SESSION视图中查看与CDB $ ROOT,SALES_PDB和HRPDB容器相关的信息(假设此用户可以查询该视图)。

CONNECT SYSTEMEnter password: password Connected.ALTER USER c##hr_adminSET CONTAINER_DATA = (CDB$ROOT, SALESPDB, HRPDB) FOR V$SESSION CONTAINER=CURRENT;

在上面的示例中:

  • SET CONTAINER_DATA列出容器,有关用户可以访问的数据。

  • FOR V$SESSION指定CONTAINER_DATA动态视图,公用用户c## hr_admin将可以做select查询。

  • 必须指定CONTAINER = CURRENT,因为当连接到根时,CONTAINER = ALL是ALTER USER语句的默认值,但CONTAINER_DATA属性的修改必须限制为root。

SET CONTAINER_DATA列出容器,有关用户可以访问的数据。

FOR V$SESSION指定CONTAINER_DATA动态视图,公用用户c## hr_admin将可以做select查询。

必须指定CONTAINER = CURRENT,因为当连接到根时,CONTAINER = ALL是ALTER USER语句的默认值,但CONTAINER_DATA属性的修改必须限制为root。

如果要启用用户c##hr_admin来查看与该用户可访问的所有CONTAINER_DATA对象中的CDB$ROOT,SALES_PDB,HR_PDB容器相关的信息,请忽略FOR V$SESSION。 例如:

ALTER USER c##hr_adminSET CONTAINER_DATA = (CDB$ROOT, SALESPDB, HRPDB) CONTAINER=CURRENT;

限制公共用户访问指定PDB的元数据信息(CONTAINER_DATA)

lk_db

于 2019-04-22 12:48:04 发布

744
 收藏
分类专栏: Oracle 文章标签: 12c connect_data
版权

Oracle
专栏收录该内容
120 篇文章3 订阅
订阅专栏
如下举例:让C##TEST用户查询v$session的公共数据,但这些数据只能来自CDB(CON_ID=0)、CDB$ROOT(CON_ID=1)和orclpdb2(CON_ID=4):
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 ORCLPDB1                       READ WRITE NO
         4 ORCLPDB2                       READ WRITE NO
alter user语句可以在跟级别限制对v$session的查询,从而控制用户只能访问哪些容器的数据,如下:
SQL> conn system/oracle
Connected.
SQL> alter user c##test set container_data=(CDB$ROOT,orclpdb2) for v$session container=current;
User altered.

验证:
SQL>  select * from dba_container_data where username='C##TEST';
USERNAME        D OWNER           OBJECT_NAME     A CONTAINER_NAME
--------------- - --------------- --------------- - ---------------------
C##TEST         N SYS             V_$SESSION      N CDB$ROOT
C##TEST         N SYS             V_$SESSION      N ORCLPDB2

使用sys用户执行报错如下:
SQL> conn / as sysdba
Connected.
SQL> alter user c##test set container_data=(CDB$ROOT,orclpdb2) for v$session container=current;
alter user c##test set container_data=(CDB$ROOT,orclpdb2) for v$session container=current--只能是根,PDB也不能看到别人的
*
ERROR at line 1:
ORA-02030: can only select from fixed tables/views

使用sys用户需查询v_$session:

SQL> alter user c##test set container_data=(CDB$ROOT,orclpdb2) for v_$session container=current;
User altered.

使用SYSTEM连接,统计所有容器的会话连接数:
SQL> conn system/oracle
Connected.
SQL> select con_id,type,count(*) from v$session group by con_id,type;

    CON_ID TYPE         COUNT(*)
---------- ---------- ----------
         1 USER                1
         0 BACKGROUND         51
         3 USER                1

使用c##test用户连接,就无法查看到orclpdb1(con_id=3)的信息,因为它不在授权列表中:
SQL> conn c##test/test
Connected.
SQL> select con_id,type,count(*) from v$session group by con_id,type;

    CON_ID TYPE         COUNT(*)
---------- ---------- ----------
         1 USER                1
         0 BACKGROUND         51

注意:这种访问限制只能作用在CDB$ROOT中执行的查询,并且当在orclpdb2中授予c##test执行set container的权限时,该用户就可以切换到orclpdb2中并执行查询会话信息:
SQL> conn / as sysdba
Connected.
SQL> alter session set container=orclpdb2;
Session altered.

SQL> select con_id,type,count(*) from v$session group by con_id,type;
    CON_ID TYPE         COUNT(*)
---------- ---------- ----------
         4 USER                1
         0 BACKGROUND         51                       ---0  是后台

SYMPTOMS

On 12c, in a  Oracle Multitenant environment, attempting to change an Oracle common user in the PDB results in the following error

SQL> alter user SPATIAL_WFS_ADMIN_USR identified by ABC123;

alter user SPATIAL_WFS_ADMIN_USR identified by ABC123

*

ERROR at line 1: ORA-65066: The specified changes must apply to all containers

If we modify the SQL statement to include "container=all" we now get the following error


SQL>  alter user SPATIAL_WFS_ADMIN_USR identified by ABC123 container=all;


alter user SPATIAL_WFS_ADMIN_USR identified by SPATIAL_WFS_ADMIN_USR container=all
*
ERROR at line 1:
ORA-65050: Common DDLs only allowed in CDB$ROOT

An Oracle common user is one that is installed with the database and is present in the CDB root (CDB$ROOT).  Typical Oracle users would be CTXSYS, ORDSYS, MDSYS and SYSMAN. 

CAUSE

Oracle common users can only be altered from the CDB and the change must be done on all containers (CONTAINER=ALL) which is the default if done from the CDB.

SOLUTION

From the CDB (CDB$ROOT), change the Oracle common user with the following syntax

alter user SPATIAL_WFS_ADMIN_USR identified by ABS123'

相关文章:

CONTAINER = ALL是ALTER USER语句的默认值

连接到root时查看有关root,CDB和PDB的数据 当公用用户执行查询时,可以限制X $表和V $,GV $和CDB_ *视图的视图信息。X$表和这些视图包含有关应用程序root及其关联应用程序PDB的信息,或者如果连接到CDB root,则是整个C…...

华为发布大模型时代AI存储新品

7月14日,华为发布大模型时代AI存储新品,为基础模型训练、行业模型训练,细分场景模型训练推理提供存储最优解,释放AI新动能。 企业在开发及实施大模型应用过程中,面临四大挑战: 首先,数据准备时…...

5G网络功能介绍

5G系统架构由以下网络功能(NF)组成 -身份验证服务器功能(AUSF)。 -接入和移动性管理功能(AMF)。 -数据网络(DN),例如运营商服务、互联网接入或第三方服务。 -非结构化数据存储功能(UDSF)。 -网络曝光功能(NEF)。 -网络存储库功能(NRF)。 -网络切片特定身…...

笙默考试管理系统-MyTestMean(13)

笙默考试管理系统-MyTestMean(13) 目录 一、 笙默考试管理系统-MyTestMean 二、 笙默考试管理系统-MyTestMean 三、 笙默考试管理系统-MyTestMean 四、 笙默考试管理系统-MyTestMean 五、 笙默考试管理系统-MyTestMean 笙默考试管理系统-MyTes…...

Tomcat之高可用配置

Nginx搭配Tomcat实现负载均衡 传统模型下,一个项目部署在一台tomcat上,这个时候,假如tomcat因为服务器资源不够,突然挂机了,那么整个项目就无法使用。 Nginx就可以避免单台服务如果挂机,依然能保证服务正…...

IDEA中springboot的热加载thymeleaf静态html页面

1.首先加入开发工具依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional> </dependency> 2.其次在build maven插件中开启热部署 <bu…...

Java中可以使用哪些系统架构?怎样选择?

架构&#xff0c;又名软件架构&#xff0c;是有关软件整体结构与组件的抽象描述&#xff0c;用于指导大型软件系统各个方面的设计。 Java企业级的应用根据业务的复杂程度&#xff0c;通常使用的系统架构有应用架构、垂直应用架构、面向服务的架构(Service-Oriented Architectu…...

一文详解什么是数据库分片

概要 应用程序正在变得越来越好&#xff0c;它拥有更多的功能、更多的活跃用户&#xff0c;并且每天都会收集更多的数据。但数据库现在导致应用程序的其余部分变慢。数据库分片可能是问题的答案&#xff0c;但许多人不知道它是什么&#xff0c;最重要的是何时使用它。在本文中我…...

百度留痕是什么方法排名的

百度留痕是什么方法排名的,黑帽seo教学&#xff1a;谷歌外推搜索留痕关键词秒收录排名软件技术培训 #外推留痕 #黑帽seo #黑帽seo培训 今天给大家看一个百度留痕的一个链接&#xff0c;东西也很简单&#xff0c;其实就是前面的一个地址加后面的一个你的联系方式&#xff0c;你…...

基于时域特征和频域特征组合的敏感特征集,再利用CNN进行轴承故障诊断(python编程)

1.文件夹介绍&#xff08;使用的是CWRU数据集&#xff09; 0HP-3HP四个文件夹装载不同工况下的内圈故障、外圈故障、滚动体故障和正常轴承数据。 2.模型 按照1024的长度分割样本&#xff0c;构建内圈故障、外圈故障、滚动体故障和正常轴承样本集 2.1.计算11种时域特征值 # 计…...

CAD2021安装教程适合新手小白【附安装包和手册】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、下载文件二、使用步骤1.安装软件前&#xff0c;断开电脑网络&#xff08;拔掉网线、关闭WIFI&#xff09;2、鼠标右击【AutoCAD2021(64bit)】压缩包选择【解…...

AcWing 107. 超快速排序—逆序对

问题链接: AcWing 107. 超快速排序 问题描述 分析 这道题考查的算法不难&#xff0c;就只是利用归并排序来求逆序对的数量&#xff0c;但是主要是如何分析问题&#xff0c;如何能从问题中看出来和逆序对数量有关&#xff0c;现在的题目基本上很少是那种模板算法题了&#xff…...

华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(三)

系列文章目录 个人简介&#xff1a;机电专业在读研究生&#xff0c;CSDN内容合伙人&#xff0c;博主个人首页 Python面试专栏&#xff1a;《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读&#xff0c;一起进步&#xff01;&#x1f31f;&#x1f31f;&#x1f31f; …...

详解在Linux中修改Tomcat使用的jdk版本

问题分析 由于部署个人项目使用了openjdk11&#xff0c;但是我之前安装的是jdk1.8&#xff0c;jdk版本升级的后果就是&#xff0c;tomcat运行的时候报一点小bug&#xff08;因为之前安装tomcat默认使用了系统的jdk版本&#xff09;所以就想着把tomcat使用的jdk版本调回原来的&…...

高级 Matplotlib:3D 图形和交互性

Matplotlib 是 Python 中最重要的数据可视化库之一。在之前的文章中&#xff0c;我们讨论了如何使用基础和中级功能来创建各种图形。在本文中&#xff0c;我们将深入研究 Matplotlib 的高级特性&#xff0c;特别是如何创建 3D 图形和交互式图形。 一、创建 3D 图形 Matplotli…...

cloud Alibab+nacos+gateway集成swaggerui,统一文档管理(注意点)

首先说明&#xff1a;本文只说整合注意点 效果图和功能参考链接 1.使用gateway访问nacos服务&#xff0c;503 在网关服务添加依赖即可解决 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign&…...

使用 YOLOv8 进行传输线故障检测-附源码

用于传输线故障检测的 YOLO 我将模型缩小到YOLO 或 Faster R-CNN。但YOLO 作为单次目标检测模型在速度和计算效率方面获得了许多好处。由于基于无人机的实时故障检测是最佳选择,我选择使用 YOLO。YOLO 代表“You Only Look Once”,暗示您只需要通过一个神经网络即可对检测到…...

安装RabbitMQ 详细步骤

我这里是在Linux系统里面安装的按照步骤即可 1. 安装Socat&#x1f349; 在线安装依赖环境&#xff1a; yum install gcc yum install socat yum install openssl yum install openssl-devel2. 安装Erlang&#x1f349; 去官网下载一下安装包&#xff0c;将安装包拉到Linux系…...

SAP CAP篇十:理解Fiori UI的Annoation定义

本文目录 本系列此前的文章官方文档和基础概念SAP CAP对Fiori UI的支持package.json的新增内容Annotation定义List Page 生成的Edmx文件 对应代码及branch 本系列此前的文章 SAP CAP篇一: 快速创建一个Service&#xff0c;基于Java的实现 SAP CAP篇二&#xff1a;为Service加上…...

不允许你不知道的 MySQL 优化实战(二)

文章目录 11、使用联合索引时&#xff0c;注意索引列的顺序&#xff0c;一般遵循最左匹配原则。12、对查询进行优化&#xff0c;应考虑在where及order by涉及的列上建立索引&#xff0c;尽量避免全表扫描。13、如果插入数据过多&#xff0c;考虑批量插入。14、在适当的时候&…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里&#xff0c;Bessie 有一个烤箱&#xff0c;可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...

Excel 怎么让透视表以正常Excel表格形式显示

目录 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总...

timestamp时间戳转换工具

作为一名程序员&#xff0c;一款高效的 在线转换工具 &#xff08;在线时间戳转换 计算器 字节单位转换 json格式化&#xff09;必不可少&#xff01;https://jsons.top 排查问题时非常痛的点: 经常在秒级、毫秒级、字符串格式的时间单位来回转换&#xff0c;于是决定手撸一个…...