基于版本:19c (12.2.0.3) AskScuti

创建方法:克隆本地PDB(从本地其他PDB创建新的PDB)

对应路径:Creating a PDB --> Cloning --> Locally

在容器数据库CDB里面如何创建PDB,官方文档给出了一张创建PDB技术选项图,图片如下:

内容总览

1. 概述

2. 设置相关参数

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

4. 克隆新的PDB

5. 打开新的PDB

1. 概述

克隆本地PDB的意思是指:源PDB位于本地CDB中,在当前CDB内通过某个PDB(非PDB$SEED种子)来克隆新的可插入数据库PDB

整体过程为:

1). 设置相关参数或子句

2). 连接到根后将被克隆的PDB置为只读模式

3). 开始克隆

4). 打开被克隆的PDB和新的PDB

2. 设置相关参数

参数和子句设置具体可参考《在多租户(容器)数据库中如何创建PDB:方法1》。

您可设置 OMF 参数 DB_CREATE_FILE_DEST='具体路径';

或者设置 PDB_FILE_NAME_CONVERT='本地PDB路径','新的PBD路径';

或者在创建语句中使用 FILE_NAME_CONVERT=('本地PDB路径','新的PDB路径'); 子句

或者在创建语句中使用 CREATE_FILE_DEST='新的PDB路径';子句

例如:设置DB_CREATE_FILE_DEST='具体路径'; 其他参数及子句的例子请参考番外篇:克隆本地PDB中其他参数和子句的说明

  1. SQL> !mkdir /u01/app/oracle/oradata/CDB1/pdb2
  2.  
  3. SQL> show parameter db_create_file_dest;
  4.  
  5. SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata/CDB1/pdb2';
  6.  
  7. System altered.

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

  1. SQL> show pdbs
  2.  
  3. CON_ID CON_NAME OPEN MODE RESTRICTED
  4. ---------- --------- ---------- ----------
  5. 2 PDB$SEED READ ONLY NO
  6. 3 PDB1 READ WRITE NO
  7.  
  8. SQL> alter pluggable database pdb1 close immediate;
  9.  
  10. Pluggable database altered.
  11.  
  12. SQL> alter pluggable database pdb1 open read only;
  13.  
  14. Pluggable database altered.
  15.  
  16. SQL> show pdbs
  17.  
  18. CON_ID CON_NAME OPEN MODE RESTRICTED
  19. ---------- --------- ---------- ----------
  20. 2 PDB$SEED READ ONLY NO
  21. 3 PDB1 READ ONLY NO

4. 克隆新的PDB

从PDB1克隆PDB2

  1. SQL> create pluggable database pdb2 from pdb1;
  2.  
  3. Pluggable database created.
  4.  
  5. SQL> show pdbs
  6.  
  7. CON_ID CON_NAME OPEN MODE RESTRICTED
  8. ---------- --------- ---------- ----------
  9. 2 PDB$SEED READ ONLY NO
  10. 3 PDB1 READ ONLY NO
  11. 4 PDB2 MOUNTED

5. 打开新的PDB

  1. SQL> alter pluggable database pdb2 open read write;
  2.  
  3. Pluggable database altered.
  4.  
  5. SQL> show pdbs
  6.  
  7. CON_ID CON_NAME OPEN MODE RESTRICTED
  8. ---------- --------- ---------- ----------
  9. 2 PDB$SEED READ ONLY NO
  10. 3 PDB1 READ ONLY NO
  11. 4 PDB2 READ WRITE NO

重新打开被克隆的PDB1

  1. SQL> alter pluggable database pdb1 close;
  2.  
  3. Pluggable database altered.
  4.  
  5. SQL> alter pluggable database pdb1 open read write;
  6.  
  7. Pluggable database altered.
  8.  
  9. SQL> show pdbs
  10.  
  11. CON_ID CON_NAME OPEN MODE RESTRICTED
  12. ---------- --------- ---------- ----------
  13. 2 PDB$SEED READ ONLY NO
  14. 3 PDB1 READ WRITE NO
  15. 4 PDB2 READ WRITE NO

在多租户(容器)数据库中如何创建PDB:方法2 克隆本地PDB的更多相关文章

  1. 番外:克隆本地PDB中其他参数和子句的说明

    基于版本:19c (12.2.0.3) AskScuti 创建方法:克隆本地PDB(从本地其他PDB创建新的PDB) 对应路径:Creating a PDB --> Cloning --> ...

  2. 在多租户(容器)数据库中如何创建PDB:方法3 克隆远程PDB

    基于版本:19c (12.2.0.3) AskScuti 创建方法:克隆远程PDB(从非当前CDB中进行远程克隆).将 CDB2 中的 ERP1 远程克隆为 CDB1 中的 PDB6 对应路径:Cre ...

  3. oracle12之 多租户容器数据库架构

    解读: 这张幻灯片展示了三个被部署的应用程序的整合 三个不同的非cdbs成为一个单一的.幻灯片中的图形显示了一个多租户 容器数据库有四个容器:根和三个可插入的数据库.每一个 可插入数据库有它自己的专用 ...

  4. 使用JDBC从数据库中查询数据的方法

    * ResultSet 结果集:封装了使用JDBC 进行查询的结果 * 1. 调用Statement 对象的 executeQuery(sql) 方法可以得到结果集 * 2. ResultSet 返回 ...

  5. 在多租户(容器)数据库中如何创建PDB:方法6 DBCA本地克隆PDB

    基于版本:19c (12.2.0.3) AskScuti 创建方法:DBCA静默本地克隆PDB.根据 CDB1 中的 PDB1 克隆出 CDB1 中的 PDB_CLONE 对应路径:Creating ...

  6. 在多租户(容器)数据库中如何创建PDB:方法5 DBCA远程克隆PDB

    基于版本:19c (12.2.0.3) AskScuti 创建方法:DBCA静默远程克隆PDB.将 CDB1 中的 PDB1 克隆为 CDB2 中的 ERP2 对应路径:Creating a PDB ...

  7. 在多租户(容器)数据库中如何创建PDB:方法4 克隆远程Non-CDB

    基于版本:19c (12.2.0.3) AskScuti 创建方法:克隆远程Non-CDB(从 Non-CDB 中进行远程克隆).将 非CDB数据库PROD1 远程克隆为 CDB1 中的 PDB7 对 ...

  8. 在多租户(容器)数据库中如何创建PDB:方法1 从种子创建PDB

    基于版本:19c (12.2.0.3) AskScuti 创建方法:从零开始创建一个PDB(从PDB$SEED创建新的PDB) 对应路径:Creating a PDB --> Creating ...

  9. oracle 数据库中(创建、解锁、授权、删除)用户

    上文我们已经建立了名为orcl66的数据库. 想要在数据库中创建.修改用户需要我们以管理员权限登录到数据库中. 首先我们通过sqlplus命令登录连接数据库. 输入sqlplus命令--用户名: sy ...

随机推荐

  1. maven的核心概念——POM

    Project Object Model:项目对象模型.将Java工程的相关信息封装为对象作为便于操作和管理的模型.Maven工程的核心配置.可以说学习Maven就是学习pom.xml文件中的配置. ...

  2. export default和export的使用方法

    Node中 向外暴露成员,使用module.exports和exports module.exports = {} Node中导入模块 var 名称 = require('模块标识符') 在ES6中 ...

  3. 安装Gitlab到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:Gitlab-ce-11.10.1 硬件要求:最低2核4GB,建议4核8GB 安装过程 1.安装 ...

  4. Wannafly Winter Camp 2020 Day 6I 变大! - dp

    给定一个序列,可以执行 \(k\) 次操作,每次选择连续的三个位置,将他们都变成他们的最大值,最大化 \(\sum a_i\) 需要对每一个 \(k=i\) 输出答案 \(n \leq 50, a_i ...

  5. VMware Workstation Pro工具

    安装包 链接:https://pan.baidu.com/s/1n-URb83lHtric3Ds8UbF9Q 提取码:c9z5 密钥 FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA CV7 ...

  6. JavaSE学习笔记(2)---面向对象基础

    JavaSE学习笔记(2)---面向对象基础 1.面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能.所以面向对象 ...

  7. Python分布式进程报错:pickle模块不能序列化lambda函数

    今天在学习到廖老师Python教程的分布式进程时,遇到了一个错误:_pickle.PicklingError: Can't pickle <function <lambda> at ...

  8. Codeforces Round #617 (Div. 3) 补题记录

    1296A - Array with Odd Sum 题意:可以改变数组中的一个数的值成另外一个数组中的数,问能不能使数组的和是个奇数 思路:签到,如果本来数组的和就是个奇数,那就OK 如果不是,就需 ...

  9. PAT (Basic Level) Practice (中文)1030 完美数列 (25 分) (有点意思)

    给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列. 现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列. 输入格 ...

  10. 入门移动端混合开发 实战京东 APP(完整更新)

    课程资料获取链接:点击这里 混合开发入门 主流开发方案实战京东移动端APP 无需原生开发基础,也能完美呈现京东商城.本课程融合vue.Android.IOS等目前流行的前端和移动端技术,混合开发经典电 ...