数据库整合
在一体机技术呈现之前,通常状况下,一台服务器部署一套数据库,这种数据库部署形式实际上老本昂扬,在一体机呈现后,因其高性能 / 高可用以及良好的扩展性,将同一个机房中的多个服务器中的数据库装置部署在一台一体中的状况也较常见,这也是一种数据库整合计划,该计划尽管能够降低成本,但同时存在一些负面问题。
保护治理更加简单
当咱们将 20 套数据库部署到一台一体机中时,在 20 套数据库中辨识不同的数据库也会变的很头痛,显然会让保护变得更加艰难,保护每套治理每套数据库任然有很大的挑战性。
资源隔离较艰难
该整合形式中,如果其中某套数据库在某个工夫点负载急剧减少,占用了绝大部分一体机资源,那势必会对其余数据库性能造成肯定影响。内存资源咱们能够通过数据库外部的 SGA 进行配置,CPU 资源能够通过 CPU_COUNT 进行管制,但 I / O 资源又要如何进行治理呢?这种整合形式下咱们很难做到对资源的细粒度的治理调配。
资源任然存在节约状况
尽管在肯定水平上做到了数据库的整合,但如果每个数据库后盾启动 20 个过程,当咱们同时部署 20 套数据库时,后盾会同时启动 400 个相干过程,同样的过程 Oracle 为每套数据库别离启动一个,显然冗余,在资源上也造成肯定的节约。
基于 12c 中容器的数据库整合
在 12C 中,Oracle 推出了容器数据库,通过容器的形式对数据库进行整合后,能够对下面的问题进行完满的解决。
资源被正当利用
在 Oracle 12c 中当,咱们把 20 套数据库以 PDB 的形式插入到 CDB 中,因其 PDB 共享 CDB 的后盾过程,后盾只会启动 20 个过程,并不会因为我数据库的减少,后盾过程也随之减少。
在资源方面咱们能够节俭更多的资源,更加无效的对资源进行利用,同样配置的一体机中,当应用容器的形式进行整合后,能够部署更多的数据库。
资源管理更加灵便
当数据库以 PDB 的形式插入到 CDB 中时,资源管理变得更加灵便,能够更加细粒度的依据每个 PDB 的需要状况为每个 PDB 数据库配置不同的资源,以及限度 PDB 对资源的过多应用,能够达到防止因为某个数据库应用过多的资源而影响其余数据库。
-
I/ O 资源隔离
- MAX_IOPS/MAX_MBPS
-
内存资源隔离
- SGA_TARGET/SGA_MIN_SIZE
-
CPU 资源隔离
- CDB resource plans
-
存储资源隔离
- flex diskgroup
当某个 PDB 随着工夫的推移它的业务量也一直的减少,须要更多资源的时候,我能够非常灵活的修个相干参数动静的为他调配更多的资源。
升高保护老本
整合后,在保护上咱们也能够升高保护老本,之前我须要别离去保护 20 个不同的数据库,那整合后咱们只须要将 20 个库作为一个 CDB 数据库进行对立治理。
备份:在不做整合时,20 套数据库须要咱们保护 20 个不同的备份工作,当初咱们只须要在 CDB 级别进行对立备份就能够实现对 20 个 PDB 数据库的备份。
DG:整合后只须要搭建一套 DG 环境就能够,不须要为独自为每个数据库都去搭建一个备库。
降级保护:在降级方面,整合后咱们只须要对一个 CDB 进行降级,就能够实现 CDB 中所有 PDB 数据库的降级,如果想对其中一个 PDB 进行降级,咱们也能够通过克隆或者挪动的形式,将他挪动到更高版本的 CDB 中,这样就能够做到对某一个 PDB 进行降级。
更好的一个降级形式。我能够在一体机中在装置配置一个更高版本的 CDB,而后间接把低版本 CDB 中的 PDB 插入,插入到高版本的 CDB 中,同样也能够实现降级工作。可能之前一套数据库降级要花费 2 个小时的工夫,那当初咱们可能 10 分钟就降级实现 20 套数据库。
整合时须要思考的问题
任何事件都是两面性的,尽管整合能够为咱们带来很多的益处,但同时也会带来一些其余问题。
1. 当一体机呈现问题时,一起一体机中部署了更多的数据库,那咱们所有的 PDB 都会受到牵连。这个问题咱们要如何去防止呢?
另外,CDB 层面呈现了不能够修复的问题,咱们又该如何去解决呢?
2. 因每个 PDB 均是来自不同的业务,当咱们在做相干保护时,比方一体机的保护或者是 CDB 级别的保护,咱们把所有 PDB 的保护窗口协调在同一个时间段,其实该问题同样较艰难。