Snapshot Clone & Application Container
Testing on T5 -- 252 non-CDB vs PDB
Total throughtput double 吞吐量增加一倍
内存使用减少 1/8
容器数据特点
为每个应用独立分配PDB:无需更改应用,快速供应(克隆),可(在线)插拔
为每个应用独立分配PDB:无需更改应用,快速供应(克隆),可(在线)插拔
常规维护操作都在CDB级进行:多个PDB作为一个整体进行管理 升级,HA,备份;必要时可以进行更细粒度操作
资源共享:后台进程(SGA/ RECO, SMON, PMON, CKPT, LGWR), spfile, redo file,
本地Undo, 从12.2.0.1起默认: Falshback Pluggable Database, Hot cloning
Resource Manager
SGA_MIN_SIZE
IORM
CPU_COUNT
Create PDB from leagcy DB:
exec DBMS_PDB.DESCRIBE('PDB1.xml');
create pluggable database ....
start ?/rdbms/admin/nocdb_se...
Connect PDB
export TWO_TASK = PDB
利用curl调用API创建PDB,搭建数据库即服务 DBasS
压力测试软件 SwingBench 2.5.0.971
通过Database Link重定位,在线迁移PDB
不需要更改链接串
不中断业务
不更改应用
并行度可选,such as 128
CDB 秒级的快照克隆
传统冷克隆, 源数据库read only, 数据库拷贝数据块,回复读写模式
热克隆,原PDB保持读写模式, 在线读取拷贝数据文件,
可能产生‘脏读’/可能需要数据‘再’同步 (传输和应用redo日子与源数据库再次同步,前滚),
undo也需要进行‘后滚’
传统文件系统拷贝对数据文件的blocks和header进行原封不动的拷贝,简单,容易操作,相对昂贵(时间,空间)
快照克隆,仅仅拷贝了数据文件的首部 header,指向还是原数据文件的数据库。I/O消耗低,时间短,仅仅几秒。
仅在发生写操作是拷贝数据块
文件系统不支持存储快照技术,则将参数 clonedb 设置true,源数据库pdb设置为只读模式
Exadata系统, ASM 文件格式可以支持存储快照技术
alter sysetem set clonedb=true scope=spfile;
shutdown immediate;
startup;
show parameter clonedb
用可刷新PDB, 增量刷新PDB,定时刷新。
可以生成多个克隆测试开发环境。
Application Container
Application Root, 是一种特殊的PDB,只包含通用的对象链接
Application PDBs
Application Seed
PDB间共享应用对象: 代码,元数据,数据
Application Container 水平资料分割。 Meta-Data, User Data
Oracle数据字典的元素据和用户元数据分离,数据库本身所用的元数据只在CDB上
PDB指向,并引用了CDB的Meta-data
升级Application Root 过程中Application PDBs不受影响。
Application Root clone. 升级过程中会产生一个克隆application root, 然后再安装,升级需要的PDB
跨容器的聚合,应用容器方案: Containers() SQL,仅需在Application Root执行一次
应用共享对象
只共享元数据, Default sharing sharing = Metadta
Sharing = Data, 适合数据仓库,应用PDB只能访问数据,不可以修改
Sharing = Extended Data, 应用PDB可以修改私有部分数据
Container Map设置,在PDB中,每个PDB进行分区使用
SQL自动路由,应用不需要知道数据存储在哪个PDB中
--End of File--
Comments
Post a Comment