首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Oracle CDB中创建的公用表空间可以跨所有PDB访问吗?

问在Oracle CDB中创建的公用表空间可以跨所有PDB访问吗?
EN

Stack Overflow用户
提问于 2019-04-10 01:52:05
回答 1查看 439关注 0票数 0

我想在不同的PDB中FLASHBACK ARCHIVE一张表。我想创建一个单独的表空间用于闪回归档。我浏览了有关CDB (容器数据库)和PDB (可插拔数据库)的Oracle文档。我发现可以创建一个可以从所有CDB和CDB访问的普通用户。我想知道是否可以在Oracle CDB中创建一个公共表空间,该公共表空间可以由这个普通用户跨所有PDB访问?以及用于每个PDB的FLASHBACK ARCHIVE,该PDB使用在CDB中创建的公共表空间,使得公共用户存档到其PDB中的相应闪回档案中,并且每个闪回档案对于其他PDB中的用户是不可见的。

或者,在每个PDB中为闪回归档创建一个单独的表空间?

示例:假设在两个不同的PDB2 PDB1和PDB2中有一个EMPLOYEES表。在其他PDB中的用户不知道的情况下,以较少的工作量将员工表时间到时间存档的最佳方法是什么?

存在普通用户HR。如果可能,我希望PDB1和PDB2的HR将各自PDB的EMPLOYEES表存档到一个公共的TABLESPACE FLASH_TABLSPACE中。(或任何更好的替代方案)

EN

回答 1

Stack Overflow用户

发布于 2019-04-12 19:29:39

首先,multi-tenant architecture (具有多个PDB的CDB)允许分离关注点(SoC)。其中每个PDB都是独立的,并且不依赖于任何其他PDB来运行。这确保了一个PDB看不到另一个PDB中正在发生的事情。根容器(CDB)在更高级别(内存、插件、插件等)管理CDB。

根据您的要求,可以在每个PDB中创建闪回数据归档。我们不需要在CDB (ROOT)中创建表空间,这不是多租户设想的方式。每个PDB都是一个功能齐全的数据库,因此我们可以在PDB本身中创建闪回数据归档所需的表空间。闪回数据档案可以使用系统提供的普通用户(SYS、SYSTEM)或使用dba提供的普通用户(C##...)在PDB中创建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55598525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档