Oracle Data Guard(四)Oracle Active Data Guard支持Oracle分片

一、Oracle Active Data Guard支持Oracle分片

  oracle sharding允许您跨多个独立的Oracle数据库水平分区数据,并将数据库连接请求路由到包含适当数据的数据库。Oracle Data Guard和Oracle Sharding是集成的技术。
  分片将数据分割成多个不共享任何物理资源的独立数据库(shard)。分片通常与数据复制相结合,如Oracle data Guard提供的数据复制。Oracle Data Guard提供整个Oracle数据库的快速单主机复制。在Oracle Data Guard配置中,有一个可更新的主数据库和一个或多个备用数据库,这些数据库可以打开进行只读访问。复制可以提高分片数据库的性能和可扩展性,并提供高可用性和灾难恢复。分片数据库中的复制拓扑是使用GDSCTL create shardcatalog命令上的-repl选项指定的。默认的复制拓扑是Oracle Data Guard。
  Oracle分片支持两种分片方法:系统管理和复合。分片方法是用GDSCTL命令createshardcatalog指定的。
  属于一个shardgroup的shard通常位于同一个数据中心。整个shardgroup可以完全复制到相同或不同数据中心中的一个或多个shardgroup。

1.1 系统管理的分片

  在系统管理的分片中,复制的逻辑单元是一组称为分片组的分片。在系统管理的分片中,分片组包含存储在分片数据库中的所有数据。通过使用一致性哈希(一致性哈希是可伸缩分布式系统中常用的分区策略)进行分区,将数据自动分布在各个碎片上。分区算法将数据均匀且随机地分布在各个分片上。下图说明了如何将Oracle Data Guard复制与系统管理的分片一起使用。有一个主要的碎片组-碎片组1和两个备用碎片组-碎片组2和碎片组3。
在这里插入图片描述
  碎片组1由Oracle Data Guard主数据库(碎片1、2、3)组成。碎片组2由本地备用数据库(碎片4、5、6)组成,它们位于同一数据中心中,并配置用于同步复制。Shardgroup 3由位于不同数据中心并配置用于异步复制的远程备用数据库(碎片7、8、9)组成。默认复制拓扑为Oracle Data Guard。要以只读模式在配置中打开每个备用数据库,必须启用Oracle Active Data Guard。这是使用-deploy_as ACTIVE_STANDBYGDSCTL add shardgroup命令上的选项完成的。

  上图中显示的分片数据库由三组复制的分片组成:{1,4,7},{2,5,8}和{3,6,9}。每组复制的分片均作为启用了快速启动故障转移的Oracle Data Guard代理配置进行管理。

  要部署复制只需要指定分片组的属性(区域,角色等)并将分片添加到其中即可。Oracle分片会自动配置Oracle Data Guard,并为每组复制的分片启动快速启动故障转移观察器。它还提供只读工作负载,基于角色的全局服务以及复制滞后和基于位置的路由的负载平衡。

  要部署上图所示的配置,请执行以下GDSCTL命令:

CREATE SHARDCATALOG –database host00:1521:shardcat –region dc1, dc2

ADD GSM -gsm gsm1 -listener 1571 –catalog host00:1521:shardcat –region dc1
ADD GSM -gsm gsm2 -listener 1571 –catalog host00:1521:shardcat –region dc2

ADD SHARDGROUP -shardgroup shardgroup1 -region dc1 -deploy_as primary 
ADD SHARDGROUP -shardgroup shardgroup2 -region dc1 -deploy_as standby 
ADD SHARDGROUP -shardgroup shardgroup3 -region dc2 -deploy_as standby 

CREATE SHARD -shardgroup shardgroup1 -destination host01 -credential oracle_cred  -netparamfile /home/oracle/netca_dbhome.rsp 
CREATE SHARD -shardgroup shardgroup1 -destination host02 -credential oracle_cred  -netparamfile /home/oracle/netca_dbhome.rsp 
CREATE SHARD -shardgroup shardgroup1 -destination host03 -credential oracle_cred  -netparamfile /home/oracle/netca_dbhome.rsp 
……
CREATE SHARD -shardgroup shardgroup3  -destination host09 -credential oracle_cred -netparamfile /home/oracle/netca_dbhome.rsp 
DEPLOY

1.2 复合分片

  复合分片结合了系统管理的分片和用户管理的分片的功能。在复合分片中,复制的逻辑单元是称为分片组的一组分片(与系统管理的分片一样)。同样在复合分片中,分片数据库由多个分片空间组成(如在用户管理的分片中一样),但是,每个分片空间(而不是复制的分片)都包含复制的分片组,如下图所示。
在这里插入图片描述
要部署上图所示的配置,请执行以下GDSCTL命令:

CREATE SHARDCATALOG -sharding composite –database host00:1521:cat –region dc1, dc2, dc3

ADD GSM -gsm gsm1 -listener 1571 –catalog host00:1521:cat –region dc1
ADD GSM -gsm gsm2 -listener 1571 –catalog host00:1521:cat –region dc2
ADD GSM -gsm gsm3 -listener 1571 –catalog host00:1521:cat –region dc3

ADD SHARDSPACE -shardspace shardspace_a 
ADD SHARDSPACE -shardspace shardspace_b

ADD SHARDGROUP -shardgroup shardgroup_a1 –shardspace shardspace_a -region dc1 
-deploy_as primary 
ADD SHARDGROUP -shardgroup shardgroup_a2 –shardspace shardspace_a -region dc1     -deploy_as standby 			
ADD SHARDGROUP -shardgroup shardgroup_a3 –shardspace shardspace_a -region dc3     -deploy_as standby 
ADD SHARDGROUP -shardgroup shardgroup_b1 –shardspace shardspace_a -region dc1 
-deploy_as primary 
ADD SHARDGROUP -shardgroup shardgroup_b2 –shardspace shardspace_a -region dc1     -deploy_as standby 			
ADD SHARDGROUP -shardgroup shardgroup_b3 –shardspace shardspace_a -region dc2     -deploy_as standby 

CREATE SHARD -shardgroup shardgroup_a1 -destination host01 –credential orcl_cred  -netparamfile /home/oracle/netca_dbhome.rsp 
……
CREATE SHARD -shardgroup shardgroup_b3 -destination host09 -credential orcl_cred      -netparamfile /home/oracle/netca_dbhome.rsp 

DEPLOY
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章