详解ORACLE多租户(容器)数据库中如何创建PDB

概述

在容器数据库CDB里面如何创建PDB,官方文档给出了一张创建PDB技术选项图,图片如下:在这里插入图片描述
以下基于Oracle19c做演示。

一、从种子创建PDB

1、概述

使用种子(PDB S E E D ) 创 建 新 的 P D B , 过 程 是 把 P D B SEED)创建新的PDB,过程是把PDB SEEDPDBPDBSEED中的数据文件复制到 CREATE PLUGGABLE DATABASE 语句中定义的目标目录中。如下图:在这里插入图片描述
整体过程:

1)从 PDB$SEED 中复制数据文件

2)创建 SYSTEM 和 SYSAUX 表空间

3)创建新目标目录,并在根容器中记录元数据进行关联

4)创建临时表空间 TEMP

5)创建公共用户 SYS 和 SYSTEM

6)创建默认服务

2、使用位置子句创建(推荐)

所谓使用位置子句的意思就是:在创建的语句中直接指定目标目录。

2.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.2、CREATE_FILE_DEST

使用 CREATE_FILE_DEST 参数指定

!mkdir /oracle/oradata/SRM/pdb3
create 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,但是每次都得设置这个参数,所以我还是不推荐这个方式,直接自己定义路径就可以了,不用搞那么多乱七八糟的。

二、克隆本地PDB

1、概述

克隆本地PDB的意思是指:源PDB位于本地CDB中,在当前CDB内,通过某个PDB(非PDB$SEED种子)来克隆新的可插入数据库PDB。在这里插入图片描述
整体过程为:
1)设置相关参数或子句
2)连接到根后将被克隆的PDB置为只读模式
3)开始克隆
4)打开被克隆的PDB和新的PDB

2、设置相关参数

这里可以设置 OMF 参数 DB_CREATE_FILE_DEST=‘具体路径’;
或者设置 PDB_FILE_NAME_CONVERT=‘本地PDB路径’,‘新的PBD路径’;
或者在创建语句中使用 FILE_NAME_CONVERT=(‘本地PDB路径’,‘新的PDB路径’); 子句
或者在创建语句中使用 CREATE_FILE_DEST=‘新的PDB路径’;子句

--以设置DB_CREATE_FILE_DEST='具体路径'; 为例
!mkdir /oracle/oradata/SRM/pdb4
show parameter db_create_file_dest;
alter system set db_create_file_dest='/oracle/oradata/SRM/pdb4';

在这里插入图片描述

3、设置被克隆的PDB为只读模式

show pdbs;
alter pluggable database pdb close immediate; 
alter pluggable database pdb open read only;

在这里插入图片描述

4、克隆新的PDB

从PDB1克隆PDB4

create pluggable database pdb4 from pdb;
show pdbs

在这里插入图片描述

5、打开新的PDB

alter pluggable database pdb4 open read write;
alter pluggable database pdb close;
alter pluggable database pdb open read write;
show pdbs

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡定波007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值