oracle 12c cdb no

2024年 4月 17日 83.7k 0

Oracle 12c CDB NO(Container Database Non-Optional Feature)是一项数据库特性,允许在容器数据库上创建非容器数据库,以满足像多租户和别名分布式数据库这样的需要。CDB NO可以实现物理隔离、逻辑隔离、管理隔离和资源隔离,从而在减少数据库维护成本的同时提高了系统的安全性和可用性。

相较于传统的方法,CDB NO在创建非容器数据库时需要指定CDB$ROOT和PDB$SEED数据库的信息作为模板。下面是基于官方文档的一个创建CDB NO的示例:

CREATE PLUGGABLE DATABASE mypdb FROM CDB$ROOT
FILE_NAME_CONVERT = ('/u02/oradata/CDB1/pdbseed/', '/u02/oradata/CDB1/mypdb/');
ALTER PLUGGABLE DATABASE mypdb open;

在上述示例中,CDB$ROOT指的是容器数据库的根级别,PDB$SEED是Oracle提供的默认模板数据库。生成文件的转换操作(原文件路径 ->新文件路径)在创建非容器数据库时必需,并且要使用PDB_SEED$file的元数据作为参考。这样才能保证生成的非容器数据库具有与CDB$ROOT和PDB$SEED数据库相同的一致性、完整性和性能。

CDB NO还支持一个重要的特性:多租户数据库。利用多租户技术,能够将多个用户或应用程序隔离在同一个数据库内,让它们共享同一套资源和数据,从而避免成本和管理问题。下图展示了一个基于CDB NO创建的多租户数据库架构:

在这个架构中,每个非容器数据库对应一个虚拟租户(Tenant),租户之间互相独立、隔离和受限,安全性很高。此外,每个非容器数据库都是独立创建的、独立管理的,可以支持专门的数据库管理员和网络管 理员。当需要进行备份和恢复操作时,也可以利用CDB NO技术进行快照、分区和恢复操作,大大简化了复杂度和工作量。

总之,在Oracle 12c CDB NO的帮助下,可以非常方便地创建和管理一个多租户或者分布式数据库。只需要一些简单的配置和操作,就可以安全地将多个应用程序和用户隔离开来,让其共享同一套资源和数据,大大节约了管理成本和提高了整个系统的可用性和安全性。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论