6368

cdb是什么意思?内行人解读CDB的常见用法!

前两天我在折腾数据库的时候,看到个缩写“CDB”,我当时就懵,这啥玩意?作为一个喜欢刨根问底的人,我立马开始行动。

第一步,当然是问搜索引擎!

结果这一搜,好家伙,出来一堆不同的解释,什么“中国发展银行”、“通用数据总线”、“加勒比开发银行”……看得我眼花缭乱。这都哪跟哪?

我冷静一下,心想我这明明是在折腾数据库,那肯定跟这些金融机构、硬件啥的没关系。于是我把搜索关键词改成“数据库 CDB”,这下总算有点眉目。

第二步,深入解 Oracle 的 CDB

搜索结果里 நிறைய提到 Oracle 数据库 12c 的一个新功能,叫“容器数据库”(Container Database),缩写就是 CDB。这下感觉有点靠谱。

我继续深挖,发现这个 CDB 还挺有意思。它就像一个大容器,里面可以装很多个“可插拔数据库”(Pluggable Database,简称 PDB)。每个 PDB 就相当于一个独立的数据库,有自己的地盘(表空间)和用户。但是,这些 PDB 又共享 CDB 的一些资源,比如后台进程、内存什么的。这就好比一栋大楼里有很多个房间,每个房间都有自己的用途,但又共享大楼的电梯、水管之类的。

我当时就想,这玩意儿有什么好处?

省事儿:以前要迁移数据库,得导出导入数据,麻烦得很。现在有 PDB,只要复制一个 XML 文件就行,简单多。

省资源:多个 PDB 共享一些资源,不用每个数据库都配一套,省钱又省力。

第三步,我还真去试试

我找个 Oracle 数据库 12c 的环境,照着网上的教程,创建一个 CDB,又在里面创建几个 PDB。还别说,真挺方便的。以后要是再遇到多个数据库的场景,就可以考虑用 CDB 来管理。

总结一下

这回折腾 CDB 的经历,让我学到一个新知识。以后再遇到类似的情况,我就知道该怎么做。所以说,遇到问题不要怕,动手去查、去试,总会有收获的。