一,关于创建介绍

  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. C++ 中 dynamic_cast 浅析

    简述:dynamic_cast 操作符,将基类的指针或引用安全的转换为派生类的指针或引用.主要讲解,dynamic_cast操作符的原理.使用方式.编译器设置.返回值等相关知识. dynamic_ca ...

  2. Position Independent Code (PIC) in shared libraries on x64

    E原文地址:http://eli.thegreenplace.net/2011/11/11/position-independent-code-pic-in-shared-libraries-on-x ...

  3. 使用Adobe Illustrator + ArcGIS绘制地图 | Map Design Using ArcGIS + Adobe Illustrator

    国内GIS/Cartography同行大部分使用CorelDraw绘制地图.相比之下,国外同行则更多使用Adobe Illustrator绘制地图.CorelDraw和Illustrator两个软件均 ...

  4. delphi创建服务程序

    创建一个自己的服务程序: File -> New -> Other -> New(选项) -> Service Application 这样delphi会自动生成服务程序的框架 ...

  5. PHP foreach引用&

    将以下代码打印 $variable = ['a', 'b', 'c']; foreach ($variable as $key => &$value) { } foreach ($var ...

  6. Js杂谈-单体模式

    单体模式的思想:保证一个特定类仅有一个实例,意味着第二次使用同一个类创建新对象的时候,应该得到与第一次所创建对象完全相同的对象. 下面举几个实现的例子 1.new操作符 这种思想在于当使用同一个构造函 ...

  7. Jquery queue实例

    $(function () { var queueList = [ function () { $("div").animate({ height: 80, top: 40 }, ...

  8. c# 锁的使用

    1 互斥锁lock(基于Monitor实现) 定义: private static readonly object Lock = new object(); 使用: lock (Lock) { //t ...

  9. tomcat访问日志关闭

    在tomcat(实例)路径下[conf/server.xml]中修改,以下节点(注释掉该节点): tomcat catalina.out日志关闭 在tomcat(主目录)路径下[bin/catalin ...

  10. 「CF140C」 New Year Snowmen

    题目链接 戳这 贪心+优先队列,只要每次将数量前三大的半径拿出来就好了,用优先队列维护一下 #include<bits/stdc++.h> #define rg register #def ...