本篇文章主要介绍了" [转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护",主要涉及到方面的内容,对于Oracle感兴趣的同学可以参考一下:
转自:http://chuansong.me/n/443660447865 PDB 的创建和访问在使用 dbca 建库时,创建数据库之前,可以保存一下创建脚本,...
转自:http://chuansong.me/n/443660447865
PDB 的创建和访问
在使用 dbca 建库时,创建数据库之前,可以保存一下创建脚本,分析其具体执行过程。以自定义方式创建名称为julia的数据库为例,其主要脚本 julia.sql 中包含如下脚本调用:
![[转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护](/imagecaealtourcom/Article/image/20160826/20160826184023_2261.jpg)
在第一个脚本 CreateDB.sql 中的末尾部分包含了 Pluggable Database 的变化,这段命令启用了插接式数据库,并且初始化了种子 PDB,存储目录位于数据库目录下的 pdbseed 子目录。
注意以下语句,种子数据库的文件都来自于当前创建的 CDB 数据库,这些文件被复制到 PDBSEED 目录下,这也是创建 PDB 的第一种方式:
![[转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护](/imagecaealtourcom/Article/image/20160826/20160826184023_3667.jpg)
当然我们也可以通过模板方式创建 PDBSEED,此时文件将来自于软件包中的 pdbseed.tar.gz 压缩包。相应的,创建脚本也会有所不同,在模板方式下增加了一个 plugDatabase.sql 脚本,包含以下主要内容:
![[转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护](/imagecaealtourcom/Article/image/20160826/20160826184023_4761.jpg)
脚本中的 null 目录最终会被替换为实际目录,其执行过程就是解压缩拷贝文件。
在使用自定义方式创建数据库时,观察脚本的执行过程,可以看到种子数据库的 SYSTEM 和 SYSAUX 表空间初始大小完全一致:
![[转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护](/imagecaealtourcom/Article/image/20160826/20160826184023_6167.jpg)
以下查询显示当前的 PDB$SEED 种子数据库以只读方式打开:
![[转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护](/imagecaealtourcom/Article/image/20160826/20160826184023_6948.jpg)