Oracle PDB的相关使用说明


  • 摘要
PDB pluggable database
是Oracle12c以上的版本(Oracle18c.oracle19c) 新增加的一个特性.
他可以实现灵活插拔的方式进行PDB的创建于使用.

安装与创建部分

dbca或者是安装数据库时有一个选择, 可以使用nonPDB或者是PDB的模式
需要说明一下.
nonPDB就是原始的Oracle11g以及以前的模式, 就一个服务名可以直接使用.
PDB模式会有一个Oracle_SID与之前版本一样. 然后有一些PDB进行相关的处理
需要注意 PDB模式下必须选择PDB进行业务建库.
CDB的模式建库,会要求必须有c##开头的账户名称, 是无法使用的.

设置开机启动

  • Oracle一开始设定PDB并不会随着CDB的启动而启动.
  • 建议增加一个 trigger 开机自动进行处理.
CREATE TRIGGER open_all_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/

查看与切换

sqlplus / as sysdba
show pdbs;
# 可以查看所有的PDB
alter session set container=somePDB;
# 可以进行PDB的切换动作.
alter pluggable database somePDB open ;
# 可以单独打开某个PDB

删除与创建

第一步删除PDB
alter pluggable database somePDB close immediate ;
drop pluggable database somePDB including datafile;
# 注意需要先关闭,再进行删除,并且可以包含数据文件.
第二步创建PDB, PDB可以从空创建也可以文件转换或者是Clone来源
最简单的创建一个空的PDB
alter system set DB_CREATE_FILE_DEST='/opt/oracle/oradata/ORA19C/Test' ;
create pluggable database test admin user test identified by Test1127 ;
# 注意创建完成后 需要单独open一下才可以连接.
# 需要注意 这种克隆方式的目录比较混乱. 可以使用file_name_convert的方式进行创建就会好很多了.
create pluggable database test admin user test identified by Test1127 file_name_convert=('source','target')
# 注意我这里就可以写为:
('/opt/oracle/oradata/ORA19C/pdbseed','/opt/oracle/oradata/ORA19C/Test')

克隆PDB-本地PDBClone

# 第一种方式先指定目录
alter system set DB_CREATE_FILE_DEST='/opt/oracle/oradata/ORA19C/Test' ;
create pluggable database test FROM ora19cpdb ;
# 第二种方式直接进行文件目录映射
CREATE PLUGGABLE DATABASE pdb2 FROM pdb1
FILE_NAME_CONVERT = ('/disk1/oracle/pdb1/', '/disk2/oracle/pdb2/') # 注意与创建一样 指定DEST 文件目录会比较深. 但是convert目录比较简洁.

克隆PDB-非本地PDB

# 第一步创建必须的用户
alter session set container=test;
create user zhaobsh identified by Password;
grant dba,resource,connect,create pluggable database to zhaobsh ;
# 第二步创建DBLINK, 理论上需要创建高权限的用户作为dblink, 可以直接到PDB.
create public database link linkToSourcepdb
connect to zhaobsh identified by Password
using '//10.110.136.86:1521/test'
# 第三步进行远程创建
alter system set DB_CREATE_FILE_DEST='/opt/oracle/oradata/ORA19C/test' ;
create pluggable database test FROM test@linkToSourcepdb ;
# 第四步 打开就可以使用.

插拔pluggable database

# 进入 sqlplus / as sysdba
关闭数据库
alter pluggable database test close immediate ;
unplug pdb 数据库.
alter pluggable database test unplug into '/opt/oracle/oradata/ORA19C/Test/test.xml'
# 迁移数据库文件到别的数据库中:
CREATE PLUGGABLE DATABASE zhaobsh AS CLONE USING '/opt/oracle/oradata/ORA19C/Test/test.xml'
NOCOPY TEMPFILE REUSE;
# 注意 我认为目录和文件权限尽量保持一致.

Oracle PDB的相关使用说明的更多相关文章

  1. oracle函数listagg的使用说明(分组后连接字段)

    关于oracle函数listagg的使用说明 工作中经常遇到客户提出这样的需求,希望在汇总合并中,能够把日期逐个枚举出来. 如图,原始数据是这样的: 客户希望能够实现这样的汇总合并: 那么通常我会使用 ...

  2. Oracle 查询表分区相关信息

    Oracle 查询表分区相关信息 --表分区 --1,分区表信息 -- (1)显示数据库所有分区表的信息 select * from DBA_PART_TABLES a where a.owner=u ...

  3. oracle表空间相关

    数据库被划分为若干个表空间,每个表空间内保存一组相关的逻辑对象.每个表空间由一个或者多个数据文件组成.oracle中的数据逻辑上存储在表空间里,物理上存储在属于该表空间的数据文件里.表空间是用户和物理 ...

  4. [Oracle][PDB]PDB restore/recover 过程记录

    友人给的PDB restore / recover 的过程. 实际上会创建一个辅助Instance,然后抽取出PDB,进行恢复. (10:31:59) frank.yan: [Administrato ...

  5. oracle执行计划相关

    执行计划相关 根据Operation缩进来判断,缩进最多的最先执行:(缩进相同时,最上面的最先执行) 同一级如果某个动作没有子ID就最先执行 同一级的动作执行时遵循最上最右先执行的原则 TABLE A ...

  6. oracle数据库迁移相关

    常见的实现方式: rman exp/imp  expdp/impdp DG OGG 主要是看停机时间了,方法很多,数据量小,就导出,如果时间要求很高,那可以采取dg或ogg或类似的技术.减低downt ...

  7. Oracle子查询相关内容(包含TOP-N查询和分页查询)

    本节介绍Oracle子查询的相关内容: 实例用到的数据为oracle中scott用户下的emp员工表,dept部门表,数据如下: 一.子查询 1.概念:嵌入在一个查询中的另一个查询语句,也就是说一个查 ...

  8. Oracle Spatial GIS相关研究

    1.Oracle Spatial 概念相关 Oracle Spatial 是Oracle 数据库强大的核心特性,包含了用于存储矢量数据类型.栅格数据类型和持续拓扑数据类型的原生数据类型.Oracle ...

  9. oracle ql/sql 相关语法解析

    这篇文章主要介绍了Oracle中游标Cursor基本用法详解,还是比较全面的,具有一定参考价值,需要的朋友可以了解下.   查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELE ...

  10. oracle之PGA相关的sql

    在上篇文章中初步介绍了关于pga的基础知识,阅读了其他很多关于pga的内容,今天总结一些关于pga的sql和其他知识. 在网上找了相关资料整理而来,可能有点乱,先码上后再整理下. https://bl ...

随机推荐

  1. 能够让机器狗学会灭火, ModelArts3.0让AI离我们又近一步

    摘要:训练.标注成本节省90%!华为云自动化AI开发平台ModelArts 3.0发布,从训练数据到模型落地一站式打通. 今年的华为,着实遭遇了不小的困难. 尤其是供应链,包括芯片方面的打击,让华为轮 ...

  2. CodeArts TestPlan:一站式测试管理平台

    摘要:华为云正式发布CodeArts TestPlan,这是一款自主研发的一站式测试管理平台,沉淀了华为30多年高质量的软件测试工程方法与实践,覆盖测试计划.测试设计.测试执行和测试评估等全流程. 本 ...

  3. 用IoT放羊养牛,不出门也能知道它们的动向

    摘要:羊圈里几只小羊羔有点无精打采,"叮",牧民拉索划开手机,第一时间得知了这个情况.草场上有只牛一直到天黑都没回来,拉索再次通过手机软件,很快定位到那只独自流落在外的牛儿-- 本 ...

  4. 顶级加密混淆混淆工具测评:ipagurd

    ​ 顶级加密混淆混淆工具测评:ipagurd 摘要 JavaScript代码安全需求日益增长,因此JavaScript混淆工具的使用变得广泛.本文将对专业.商业JavaScript混淆工具ipagur ...

  5. vue 基础学习 一

    1. vue 使用快速入门三步走 (1) 新建 HTML 页面,引入 Vue.js文件 <!DOCTYPE html> <html> <head> <meta ...

  6. 思考:Https情况下前端密码是否需要加密

    例子: 不加密例子: image-20210719153550042 加密例子: image-20210719153812653 结论:前端账号密码需要加密. 论点一:https是否真的"安 ...

  7. 【Redis】面试题 GEO地理位置信息

    目录 面试 1 http协议详情,http协议版本,http一些请求头 2 GET请求和POST请求的区别 3 如何实现服务器给客户端发送消息,websocket是什么? 4 悲观锁和乐观锁,如何实现 ...

  8. 【Django drf】序列化器总结

    目录 序列化器字段 外键字段自定义序列化 在模型类中写方法 在序列化类中写方法 反序列化 外键字段反序列化保存 ModelSerializer使用总结 序列化器字段 序列化中的字段可以根据用途分为三种 ...

  9. MyBatis:快速入门

    MyBatis 简介 MyBatis 是一个开源.轻量级的数据持久化框架,是 JDBC 和 Hibernate 的替代方案.MyBatis 内部封装了 JDBC,简化了加载驱动.创建连接.创建 sta ...

  10. C#设计模式05——抽象工厂的写法

    C# 抽象工厂是一种创建型设计模式,它提供了一种封装一组相关或相互依赖对象创建的方法.该模式使得客户端能够创建与应用程序所使用的特定工厂无关的对象. 以下是C#抽象工厂5W1H的解释: 1. What ...