Snapshot Clone & Application Container


多租户结构,共享系统资源

Testing on T5 -- 252 non-CDB vs PDB
Total throughtput double 吞吐量增加一倍 
内存使用减少 1/8

容器数据特点
        为每个应用独立分配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

Popular posts from this blog

SQL Monitor and SQL Quarantine