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 123456 FILE_NAME_CONVERT = ('/orcl/app/oracle/oradata/orcl/pdbseed','/orcl/app/oracle/oradata/orcl/hrpdb');
指定FILE_NAME_CONVERT 第一个位默认PDBSEED的位置,第二个为创建的位置
查看系统默认的seed,默认路径再数据文件下
点击创建命令后
已经可以看见创建成功了
日志:
1 create pluggable database hrpdb ADMIN USER test IDENTIFIED BY * FILE_NAME_CONVERT = ('/orcl/app/oracle/oradata/orcl/pdbseed','/orcl/app/oracle/oradata/orcl/hrpdb') 2 2019-04-12T04:14:57.750018-04:00 3 PDB$SEED(2): AUDSYS.AUD$UNIFIED (SQL_TEXT) - CLOB populated 4 2019-04-12T04:15:04.217160-04:00 5 HRPDB(4):Endian type of dictionary set to little 6 **************************************************************** 7 Pluggable Database HRPDB with pdb id - 4 is created as UNUSABLE. 8 If any errors are encountered before the pdb is marked as NEW, 9 then the pdb must be dropped 10 local undo-1, localundoscn-0x00000000000000e1 11 **************************************************************** 12 HRPDB(4):Autotune of undo retention is turned on. 13 HRPDB(4):[23505] Successfully onlined Undo Tablespace 2. 14 HRPDB(4):Undo initialization finished serial:0 start:867397895 end:867397934 diff:39 ms (0.0 seconds) 15 HRPDB(4):Database Characterset for HRPDB is AL32UTF8 16 HRPDB(4):JIT: pid 23505 requesting stop 17 2019-04-12T04:15:05.403748-04:00 18 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') 19 2019-04-12T04:23:36.621717-04:00 20 Starting control autobackup 21 22 2019-04-12T04:23:37.668547-04:00 23 Control autobackup written to DISK device 24 25 handle '/orcl/app/oracle/fast_recovery_area/orcl/NODE12C01/autobackup/2019_04_12/o1_mf_s_1005366216_gc0lr92c_.bkp' 26 27 2019-04-12T04:26:16.183955-04:00 28 HRPDB(4):alter database open 29 HRPDB(4):Autotune of undo retention is turned on. 30 2019-04-12T04:26:16.263808-04:00 31 HRPDB(4):Endian type of dictionary set to little 32 HRPDB(4):[21105] Successfully onlined Undo Tablespace 2. 33 HRPDB(4):Undo initialization finished serial:0 start:868069298 end:868069348 diff:50 ms (0.1 seconds) 34 HRPDB(4):Deleting old file#5 from file$ 35 HRPDB(4):Deleting old file#6 from file$ 36 HRPDB(4):Deleting old file#8 from file$ 37 HRPDB(4):Adding new file#13 to file$(old file#5) 38 HRPDB(4):Adding new file#14 to file$(old file#6) 39 HRPDB(4):Adding new file#15 to file$(old file#8) 40 HRPDB(4):Successfully created internal service hrpdb at open 41 **************************************************************** 42 Post plug operations are now complete. 43 Pluggable database HRPDB with pdb id - 4 is now marked as NEW. 44 **************************************************************** 45 HRPDB(4):Database Characterset for HRPDB is AL32UTF8 46 HRPDB(4):Opatch validation is skipped for PDB HRPDB (con_id=0) 47 2019-04-12T04:26:18.750044-04:00 48 HRPDB(4):Opening pdb with no Resource Manager plan active 49 Pluggable database HRPDB opened read write 50 HRPDB(4):Completed: alter database open