前两天我在折腾数据库的时候,看到个缩写“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 的经历,让我学到一个新知识。以后再遇到类似的情况,我就知道该怎么做。所以说,遇到问题不要怕,动手去查、去试,总会有收获的。