一,关于创建介绍

  1,介绍

  CDB支持多种创建PDB的技术。默认CBD会有一个PDB$SEED

  创建的PDB自动包括完整数据字典,包括元数据和CDB根目录中系统提供的对象的内部链接。您必须从单个根定义每个PDB:CDB根应用程序根

创建的方式由下图体现

每个PDB都有一个全局唯一标识符(GUID)。PDB GUID主要用于为存储PDB文件的目录生成名称,包括Oracle Managed Files目录和非Oracle Managed Files目录。

hrpdb是从种子pdb创建(克隆)的新pdb。
SalesPDB是驻留在远程CDB中的PDB的克隆。
test1是名为hrpdb的本地pdb的克隆。
test2是通过插入非cdb创建的pdb。
test3是通过插入未插入的PDB而创建的PDB。
test4是一个代理pdb,它是引用不同pdb的pdb。在这种情况下,代理PDB是本地的,而引用的PDB在单独的CDB中。在test4中发出的所有语句都在远程pdb中执行。

二,通过seed生成创建PDB

  1,介绍

  seed 是PDB,用作创建另一个PDB的模板。从种子创建复制PDB的部分或全部内容,然后分配新的唯一标识符。

  CDB seed(PDB$SEED),它是系统提供的用于创建PDB的模板 每个CDB都有一个CDB种子,不能修改或删除。

  一个application seed 这是一个用户创建的PDB为指定的应用程序根, 在应用程序容器中,您可以使用该CREATE PLUGGABLE DATABASE AS SEED语句创建应用程序种子,然后可以使用该语句来加速新应用程序PDB的创建。

  从SEED中创建一个PDB

  2,操作手册

    01,创建文件

    

  创建的时候需要有pdbseed的数据文件位置创建

create pluggable database hrpdb ADMIN USER test IDENTIFIED BY  FILE_NAME_CONVERT = ('/orcl/app/oracle/oradata/orcl/pdbseed','/orcl/app/oracle/oradata/orcl/hrpdb');

  指定FILE_NAME_CONVERT 第一个位默认PDBSEED的位置,第二个为创建的位置

  查看系统默认的seed,默认路径再数据文件下

  

  点击创建命令后

  已经可以看见创建成功了

日志:

 create pluggable database hrpdb ADMIN USER test IDENTIFIED BY * FILE_NAME_CONVERT = ('/orcl/app/oracle/oradata/orcl/pdbseed','/orcl/app/oracle/oradata/orcl/hrpdb')
2019-04-12T04:14:57.750018-04:00
PDB$SEED(2): AUDSYS.AUD$UNIFIED (SQL_TEXT) - CLOB populated
2019-04-12T04:15:04.217160-04:00
HRPDB(4):Endian type of dictionary set to little
****************************************************************
Pluggable Database HRPDB with pdb id - 4 is created as UNUSABLE.
If any errors are encountered before the pdb is marked as NEW,
then the pdb must be dropped
local undo-1, localundoscn-0x00000000000000e1
****************************************************************
HRPDB(4):Autotune of undo retention is turned on.
HRPDB(4):[] Successfully onlined Undo Tablespace 2.
HRPDB(4):Undo initialization finished serial:0 start:867397895 end:867397934 diff:39 ms (0.0 seconds)
HRPDB(4):Database Characterset for HRPDB is AL32UTF8
HRPDB(4):JIT: pid 23505 requesting stop
2019-04-12T04:15:05.403748-04:00
Completed: create pluggable database hrpdb ADMIN USER test IDENTIFIED BY * FILE_NAME_CONVERT = ('/orcl/app/oracle/oradata/orcl/pdbseed','/orcl/app/oracle/oradata/orcl/hrpdb')
2019-04-12T04:23:36.621717-04:00
Starting control autobackup 2019-04-12T04:23:37.668547-04:00
Control autobackup written to DISK device handle '/orcl/app/oracle/fast_recovery_area/orcl/NODE12C01/autobackup/2019_04_12/o1_mf_s_1005366216_gc0lr92c_.bkp' 2019-04-12T04:26:16.183955-04:00
HRPDB(4):alter database open
HRPDB(4):Autotune of undo retention is turned on.
2019-04-12T04:26:16.263808-04:00
HRPDB(4):Endian type of dictionary set to little
HRPDB(4):[] Successfully onlined Undo Tablespace 2.
HRPDB(4):Undo initialization finished serial:0 start:868069298 end:868069348 diff:50 ms (0.1 seconds)
HRPDB(4):Deleting old file#5 from file$
HRPDB(4):Deleting old file#6 from file$
HRPDB(4):Deleting old file#8 from file$
HRPDB(4):Adding new file#13 to file$(old file#5)
HRPDB(4):Adding new file#14 to file$(old file#6)
HRPDB(4):Adding new file#15 to file$(old file#8)
HRPDB(4):Successfully created internal service hrpdb at open
****************************************************************
Post plug operations are now complete.
Pluggable database HRPDB with pdb id - 4 is now marked as NEW.
****************************************************************
HRPDB(4):Database Characterset for HRPDB is AL32UTF8
HRPDB(4):Opatch validation is skipped for PDB HRPDB (con_id=0)
2019-04-12T04:26:18.750044-04:00
HRPDB(4):Opening pdb with no Resource Manager plan active
Pluggable database HRPDB opened read write
HRPDB(4):Completed: alter database open

  02,链接打开hrpdb

alter session set container=hrpdb;
show pdbs
alter database open;
show pdbs;
show con_name

    03 关闭hrpdb

alter pluggable database hrpdb close immediate;  关闭
alter pluggable database hrpdb open; 开启

三,通过克隆的方式创建PDB

 

  01,克隆

查看当前位置

注意:不再这个用户报错显示如下,

ERROR at line 1:
ORA-65040: operation not allowed from within a pluggable database
克隆时保证PDB为只读模式下进行
SQL> show pdbs     CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED              READ ONLY  NO
     3 ORCLPDB              READ WRITE NO
     4 HRPDB              READ ONLY  NO 创建命令:
CREATE PLUGGABLE DATABASE salespdb FROM hrpdb
FILE_NAME_CONVERT = ('/orcl/app/oracle/oradata/orcl/hrpdb', '/orcl/app/oracle/oradata/orcl/salespdb')
STORAGE (MAXSIZE 1G);

创建发生的日志:

CREATE PLUGGABLE DATABASE salespdb FROM hrpdb
FILE_NAME_CONVERT = ('/orcl/app/oracle/oradata/orcl/hrpdb', '/orcl/app/oracle/oradata/orcl/salespdb')
STORAGE (MAXSIZE 1G)
2019-04-12T04:50:33.236510-04:00
HRPDB(4): AUDSYS.AUD$UNIFIED (SQL_TEXT) - CLOB populated
2019-04-12T04:50:37.334873-04:00
SALESPDB(5):Endian type of dictionary set to little
****************************************************************
Pluggable Database SALESPDB with pdb id - 5 is created as UNUSABLE.
If any errors are encountered before the pdb is marked as NEW,
then the pdb must be dropped
local undo-1, localundoscn-0x00000000000000e1
****************************************************************
SALESPDB(5):Autotune of undo retention is turned on.
SALESPDB(5):[] Successfully onlined Undo Tablespace 2.
SALESPDB(5):Undo initialization finished serial:0 start:869530424 end:869530448 diff:24 ms (0.0 seconds)
SALESPDB(5):Database Characterset for SALESPDB is AL32UTF8
SALESPDB(5):JIT: pid 24804 requesting stop
Completed: CREATE PLUGGABLE DATABASE salespdb FROM hrpdb
FILE_NAME_CONVERT = ('/orcl/app/oracle/oradata/orcl/hrpdb', '/orcl/app/oracle/oradata/orcl/salespdb')
STORAGE (MAXSIZE 1G)

启动:

alter pluggable database  salespdb open;

查看

四,克隆不包括数据的PDB

 

 SQL> alter session set container= SALESPDB;

 Session altered.

 SQL> show pdbs

     CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
5 SALESPDB READ WRITE NO
SQL> show con_name CON_NAME
------------------------------
SALESPDB
SQL> create table t(id number); Table created. SQL>
SQL> insert into t values(1); 1 row created. SQL> commit; Commit complete. SQL> select count(*) from t; COUNT(*)
----------
1

 

SQL> alter session set container=CDB$ROOT
2 ; Session altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
4 HRPDB READ ONLY NO
5 SALESPDB READ WRITE NO
必须为只读模式下创建
SQL> alter pluggable database SALESPDB close immediate
2 ; Pluggable database altered. SQL> alter pluggable database SALESPDB open READ ONLY; Pluggable database altered. SQL> CREATE PLUGGABLE DATABASE testq FROM SALESPDB
FILE_NAME_CONVERT = ('/orcl/app/oracle/oradata/orcl/SALESPDB', '/orcl/app/oracle/oradata/orcl/testq ') NO DATA;
CREATE PLUGGABLE DATABASE testq FROM SALESPDB
FILE_NAME_CONVERT = ('/orcl/app/oracle/oradata/orcl/SALESPDB', '/orcl/app/oracle/oradata/orcl/testq ') NO DATA;

五,通过插入创建PDB

  

续写敬请期待

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ORACLE--12C--创建PDB的更多相关文章

  1. oracle 12c 创建PDB用户即Local User (PDB与CDB)

    Oracle 12C用户创建与表空间分配  数据库安装完成后,首先用系统用户链接数据库容器(CDB), 在数据库容器(CDB)中创建表空间‘imei’ SQL>create tablespace ...

  2. 2.oracle 12c 创建-访问-关闭-删除PDB

    1.创建PDB SQL> select name from v$datafile;   NAME ------------------------------------------------ ...

  3. oracle 12c创建可插拔数据库(PDB)与用户详解

    前言 由于oracle 12c使用了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db,因此安装后需要额外配置才能使用. 一.修改listener ...

  4. oracle 12c创建可插拔数据库(PDB)及用户

    由于oracle 12c使用了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db,因此安装后需要额外配置才能使用. 一.修改listener.or ...

  5. Oracle 12c在PDB中创建scott/tiger

    scott/tiger一直以来是oracle数据的默认用户,但是跟之前的版本相比,Oracle 12c引入了PDB管理,所以要麻烦一些 下面假设管理员为SYS/Oracle12csys,在orcl实例 ...

  6. Oracle 12c创建用户时出现“ORA-65096: invalid common user or role name”的错误

    这篇文章主要介绍CDB和PDB的基本管理,资料来源oracle官方. 基本概念: Multitenant Environment:多租户环境 CDB(Container Database):数据库容器 ...

  7. Oracle 12c CDB PDB 安装/配置/管理

    Oracle安装参考:https://www.cnblogs.com/zhichaoma/p/9288739.html 对于CDB,启动和关闭与之前传统的方式一样,具体语法如下:     STARTU ...

  8. Oracle 12c CDB PDB

    先说基本用法: 先按11G之前进行 conn / as sysdba; create user test identifed by test; ORA-65096: 公用用户名或角色名无效. 查官方文 ...

  9. oracle 12c连接pdb

    12c中,如何连接pluggable database: 使用默认的service连接pdb,创建pdb之后,在监听中自动添加以pdb为名的service: 用户在cluster中创建service, ...

  10. java开发连接Oracle 12c采用PDB遇到问题记录

    今天初次使用java连接Oracle 12c,遇到各种问题,为方便后续查询,在汇总了问题记录及解决方案如下. ORA-28040: No matching authentication protoco ...

随机推荐

  1. springboot-条件化注解

    在项目中,有时会遇到我们的Configuration.Bean.Service等等的bean组件需要依条件按需加载的情况.那么Spring Boot怎么做的呢?它为此定义了许多有趣的条件,当我们将它们 ...

  2. 【Andoid学习】GridView学习

    简介 一个在平面上可显示多个条目的可滚动的视图组件,该组件中的条目通过一个ListAdapter和该组件进行关联.比如实现九宫格图,用GridView是首选,也是最简单的. 属性:android:co ...

  3. (11)Web程序保存状态的几种方式,Application,Session,Cookie,ViewState

    WEb程序保存状态的方式有这样几种: 1.Application:保存在Application中的数据是全局有效的:Application里面存放的应该是访问多修      改较少并且是全局至少大部分 ...

  4. Hibernate不能建表的问题

    项目使用hibernate进行正向工程建立表,各项配置都正确,但就是不能生成对应的表,这就纳闷了!! 类: public class Market { private Long id; private ...

  5. python 测试报告发送邮件

    使用过程成出现的如下错误 smtplib.SMTPDataError: (554, 'DT:SPM 126 smtp5错误解决办法   1.自动化测试中,调用邮件模块自动发送邮件时,运行脚本报错: s ...

  6. asp.net 类,接口

    ASP.NET抽象类和接口的比较 相同点 ●都不能被直接实例化,都可以通过继承实现其抽象方法. ●都是面向抽象编程的技术基础,实现了诸多的设计模式. 不同点 ●接口支持多继承:抽象类不能实现多继承.  ...

  7. Android TV 开发 (1)

    本文来自网易云社区 作者:孙有军 前言 这里主要记录几个TV问题的解决方案,如果对这个不感兴趣的其实就不用往下看了. 这几天有一个需求就是要求出一个TV版本的app,之前没有具体的了解Tv版的app有 ...

  8. F - ACboy needs your help again! (模拟)

    ACboy was kidnapped!! he miss his mother very much and is very scare now.You can't image how dark th ...

  9. 网页的js源文件被加密解决方案

    Firefox和Chrome都具有这个功能,而且位置几乎一致

  10. 安装 CentOs 系统 及 Python 及 Scrapy 框架

    1: 先安装Centos 系统: 为什么选择CentOs系统,而不选择Ubuntu ? 我在Ubuntu上尝试了三次安装 python 和 Scrapy ,结果都没成功,在运维老王的建议下 使用Cen ...