专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

一文看懂Oracle12c中多租户(容器)从种子创建PDB

ins518 2024-10-21 07:51:56 技术文章 9 ℃ 0 评论

概述

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


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表