将表存储在容器数据库或可插入数据库中有什么区别吗?我是Oracle数据库新手。我有企业版21我只是用它来测试。我在谷歌上搜索过任何信息,但什么也没找到。
chhqkbe11#
这是一个巨大的区别,不要把你的应用程序表放入容器(CDB),除非你有一个非常具体的理由这样做。将可插拔数据库视为应用程序示例。最安全的方法是用一个PDB创建一个CDB,并将该PDB视为“您的数据库”。有关说明和详细信息,请参见《手册》。Oracle-Base also has some great commentary and advice.
g52tjvyc2#
大多数数据应该存储在可插入的数据库中,而不是存储在CDB根目录中。来自手册:CDB根目录不存储用户数据。Oracle建议您不要将公用对象添加到根目录,也不要修改根目录中Oracle提供的架构。但是,您可以为数据库管理创建常用用户和角色。具有必要权限的普通用户可以在容器之间切换。虽然您可以在CDB上创建表,但它最终可能会导致一些奇怪的问题,这些问题会困扰您的DBA-用户无法按预期工作,数据无法存储在预期的表空间中,等等。这是一个非常简单的问题,但是你的困惑是完全可以理解的,因为Oracle的多租户架构是非常愚蠢的。别让我开始。
2条答案
按热度按时间chhqkbe11#
这是一个巨大的区别,不要把你的应用程序表放入容器(CDB),除非你有一个非常具体的理由这样做。
将可插拔数据库视为应用程序示例。最安全的方法是用一个PDB创建一个CDB,并将该PDB视为“您的数据库”。
有关说明和详细信息,请参见《手册》。
Oracle-Base also has some great commentary and advice.
g52tjvyc2#
大多数数据应该存储在可插入的数据库中,而不是存储在CDB根目录中。来自手册:
CDB根目录不存储用户数据。Oracle建议您不要将公用对象添加到根目录,也不要修改根目录中Oracle提供的架构。但是,您可以为数据库管理创建常用用户和角色。具有必要权限的普通用户可以在容器之间切换。
虽然您可以在CDB上创建表,但它最终可能会导致一些奇怪的问题,这些问题会困扰您的DBA-用户无法按预期工作,数据无法存储在预期的表空间中,等等。
这是一个非常简单的问题,但是你的困惑是完全可以理解的,因为Oracle的多租户架构是非常愚蠢的。别让我开始。