Oracle系统数据复制技术?这里为你详解一下~

数据复制的实现主要包括以下几步:创建复制站点、创建组对象和配置冲突解决方案。下面我们举一个例子来说明各步具体需要完成的工作。 2018-04-09 15:36:01 数据库Oracle数据复制 MySQL的索引是什么?怎么优化? 索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。 2018-04-09 14:25:06 数据库MySQL索引 利用DB实现分布式锁的思路 以前参加过一个库存系统,由于其业务复杂性,搞了很多个应用来支撑。这样的话一份库存数据就有可能同时有多个应用来修改库存数据。比如说,有定时任务域xx.cron,和SystemA域和SystemB域这几个JAVA应用,可能同时修改同一份库存数据。如果不做协调的话,就会有脏数据出现。对于跨JAVA进程的线程协调,可以借助外部环境,例如DB或者Redis。下文介绍一下如何使用DB来实现分布式锁。 2018-04-09 09:15:32 数据库DB分布式锁 直击Redis持久化磁盘IO痛点,让存储不再有负担! Redis set 对外提供的功能与 list 类似是一个列表的功能,特殊之处在于 set 是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set 是一个很好的选择,并且 set 提供了判断某个成员是否在一个 set 集合内的重要接口,这个也是 list 所不能提供的。 2018-04-09 08:18:59 Redis磁盘存储 MySQL主从复制读写分离与高可用配置 前面我们说了MySQL的安装配置,MySQL语句使用以及备份恢复MySQL数据;本次要介绍的是MySQL的主从复制,读写分离;及高可用MHA。

数据复制的实现主要包括以下几步:创建复制站点、创建组对象和配置冲突解决方案。下面我们举一个例子来说明各步具体需要完成的工作。

[[225379]]

数据复制的实现主要包括以下几步:

(1)创建复制站点;

(2)创建组对象;

(3)配置冲突解决方案。

下面我们举一个例子来说明各步具体需要完成的工作。在这个例子中我们采用多主控站点复制方式,设有两个主控站点和两个共享数据表。两个主控站点分别为:处理站点(cl.world)和解释站点(js.wo rld);两个数据表为测区 (survey) 和测线 ( line)。

STEP1 创建复制站点:

(1)首先以 SYSTEM 身份登陆主站点数据库 cl.worldCONNECT system/manager@cl.world;

(2)创建用户—复制管理员,并为该用户授权复制管理员负责复制站点的创建和管理,每个复制站点都必须创建复制管理员以下为引用的内容:

  1. CREATEUSERrepadminIDENTIFIEDBYrepadmin;
  2. BEGIN
  3. DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA(username=>’repadmin’);
  4. END;

(3)为本站点指定传播者;

传播者负责将本地***更新的数据传播到其他站点上,以下为引用的内容:

  1. BEGIN
  2.  DBMS_DEFER_SYS.REGISTER_PROPAGATOR(username=>’repadmin’);
  3. END;

(4)为本站点指定接收者;

接收者负责接收其他站点上的传播者传送过来的数据,以下为引用的内容:

  1. BEGIN
  2. DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP(
  3.  username=>’repadmin’,
  4.  privilege_type=>’receiver’,
  5.  list_of_gnames=>NULL);
  6. END;

(5)确定清除时间;

为了使传送过来事务队列不致过大,需要将成功加载的事务从事物队列里清除掉,这里设定每小时清除一次。 以下为引用的内容:

  1. CONNECTrepadmin/repadmin@cl.world
  2. BEGIN
  3.  DBMS_DEFER_SYS.SCHEDULE_PURGE(
  4. next_date=>SYSDATE,
  5. interval=>’SYSDATE+1/24’,
  6. delay_seconds=>0);
  7. END;

在建立好站点 cl.world 后,以同样的方法创建站点 js. world。

(6)创建各主控站点之间的调度链接。

创建各主控站点之间的调度链接需要先在各主控站点间建立数据库链接,之后为每个数据库链接定义调度时间。

首先,在处理站点上建立与解释站点的数据库链接,这里需要先建立一个公用数据库链接,供其他私有数据库链接来使用。以下为引用的内容:

  1. CONNECTSYSTEM/MANAGER@cl.world
  2. CREATEPUBLICDATABASELINKjs.worldUSING’js.world’;
  3. CONNECTrepadmin/repadmin@cl.world
  4. CREATEDATABASELINKjs.worldCONNECTTOrepadmin
  5. IDENTIFIEDBYrepadmin;

同样,在解释站点上建立与处理站点的数据库链接。以下为引用的内容:

  1. CONNECTSYSTEM/MANAGER@js.world
  2. CREATEPUBLICDATABASELINKcl.worldUSING’cl.world’;
  3. CONNECTrepadmin/repadmin@js.world
  4. CREATEDATABASELINKcl.worldCONNECTTOrepadmin
  5. IDENTIFIEDBYrepadmin;

调度链接确定本站点上的事务向其他站点发送的频度,下面的代码为 10 分钟一次,以下为引用的内容:

  1. CONNECTrepadmin/repadmin@cl.world
  2. BEGIN
  3. DBMS_DEFER_SYS.SCHEDULE_PUSH(
  4. destination=>’js.world’,
  5. interval=>’SYSDATE+(1/144)’,
  6. next_date=>SYSDATE,
  7. parallelism=>1,
  8. execution_seconds=>1500,
  9. delay_seconds=>1200);
  10. END;

在解释站点上做相同的工作 STEP2 创建主控组在复制环境中,Oracle 用组来管理复制对象。通过将相关的复制对象放在一个组里,从而方便对大量数据对象的管理。

这里我们假设用户模式 integr ation 在处理站点和解释站点都已存在,而且表测区 (survey) 和测线 (line) 也已经创建。

(1)创建主控组对象 以下为引用的内容:

  1. CONNECTrepadmin/repadmin@cl.world
  2. BEGIN
  3. DBMS_REPCAT.CREATE_MASTER_REPGROUP(
  4. gname=>’inte_repg’);
  5. END;

(2)向主控组中添加数据对象,将测区表 survey 加入到组 inte_repg 中以下为引用的内容:

  1. BEGIN
  2. DBMS_REPCAT.CREATE_MASTER_REPOBJECT(
  3. gname=>’inte_repg’,
  4. type=>’TABLE’,
  5. oname=>’survey’,
  6. sname=>’integration’,
  7. use_existing_object=>TRUE,
  8. copy_rows=>FALSE);
  9. END;

以同样的方法将测线表 line 加入到组 inte_repg 中。

(3)在主控组中添加其他参与复制的站点,数据库之间的同步方式在此指定以下为引用的内容:

  1. BEGIN
  2. DBMS_REPCAT.ADD_MASTER_DATABASE(
  3. gname=>’inte_repg’,
  4. master=>’js.world’,
  5. use_existing_objects=>TRUE,
  6. copy_rows=>FALSE,
  7. propagation_mode=>’ASYNCHRONOUS’);
  8. END;

(4)如果可能出现冲突,则需要配置冲突解决方案。冲突解决方案将在后面介绍。

(5)为每个对象生成复制支持, 以下为引用的内容:

  1. BEGIN
  2. DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT(
  3. sname=>’integration’,
  4. oname=>’survey’,
  5. type=>’TABLE’,
  6. min_communication=>TRUE);
  7. END;

测线表 line 也一样。

(6)重新开始复制以下为引用的内容:

  1. BEGIN
  2. DBMS_REPCAT.RESUME_MASTER_ACTIVITY(
  3. gname=>’inte_repg’);
  4. END;

以同样的方式设置解释站点。设置成功后,数据复制过程就宣告完毕,库中的数据就可进行复制。

原文链接: http://mp.weixin.qq.com/s/R2mJcL9vki1WP4qanXzdAA

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月7日 01:58
下一篇 2023年5月7日 01:58

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信