前言:
而今看官们对“oracle12c创建为容器数据库”都比较注意,我们都需要知道一些“oracle12c创建为容器数据库”的相关资讯。那么小编同时在网络上网罗了一些对于“oracle12c创建为容器数据库””的相关内容,希望小伙伴们能喜欢,我们快快来了解一下吧!概述
在容器数据库CDB里面如何创建PDB,官方文档给出了一张创建PDB技术选项图,图片如下:
以下基于Oracle19c演示如何从种子创建PDB。
概述
使用种子(PDB$SEED)创建新的PDB,过程是把PDB$SEED中的数据文件复制到 CREATE PLUGGABLE DATABASE 语句中定义的目标目录中。如下图:
整体过程:
1)从 PDB$SEED 中复制数据文件
2)创建 SYSTEM 和 SYSAUX 表空间
3)创建新目标目录,并在根容器中记录元数据进行关联
4)创建临时表空间 TEMP
5)创建公共用户 SYS 和 SYSTEM
6)创建默认服务
使用位置子句创建(推荐)
所谓使用位置子句的意思就是:在创建的语句中直接指定目标目录。
1、FILE_NAME_CONVERT
使用 FILE_NAME_CONVERT 参数指定目标目录
create pluggable database pdb2 admin user hwb identified by hwb roles=(connect) file_name_convert=('/oracle/oradata/SRM/pdbseed','/oracle/oradata/SRM/pdb2');
注意:语句中的 roles=(connect)是直接授予了该用户的 create session 系统权限,就是允许连接登陆(connect是角色权限包,里面包含 create session 系统权限)
2、CREATE_FILE_DEST
使用 CREATE_FILE_DEST 参数指定
!mkdir /oracle/oradata/SRM/pdb3create pluggable database pdb3 admin user hwb identified by hwb roles=(connect) create_file_dest='/oracle/oradata/SRM/pdb3';
注意:仔细观察上面两个参数的使用。一个参数指定两个路径(种子路径,新路径),一个参数指定一个路径(新路径)。
补充
如果想要在创建PDB时不指定路径,也可以提前定义好参数DB_CREATE_FILE_DEST或者PDB_FILE_NAME_CONVERT,但是每次都得设置这个参数,所以我还是不推荐这个方式,直接自己定义路径就可以了,不用搞那么多乱七八糟的。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
标签: #oracle12c创建为容器数据库