zoukankan      html  css  js  c++  java
  • Oracle漫衍式系统数据复制技艺1

     来历:网海拾贝 作者:李军茹  




    弁言

    一其中型或年夜型公司每每由地舆上疏散的部门所构成,这些部门多次需求遏制数据共享。针对这些共享数据,可以将其存储在某个站点上,需求的用户都从这个站点上存取。这种方案的长处是数据的分歧性随便包管,但其错误错误也是很凸起的,那便是该站点的负载年夜、网络负载年夜,近程用户的数据照应迟缓。数据复制技艺可以有用地办理这个问题,它颠末将这些共享数据复制到位于分歧地点的多个数据库中,从而完成数据的外埠会见,添加了网络负荷,并提高了数据会见的功能,而且颠末对数据库中的数据活期同步(多次是天天清晨),从而确保了悉数的用户运用异样的、最新的数据。该技艺实用于用户数目较年夜、地舆漫衍较广、而且需务及时地会见相通数据的应用方式。

    数据复制的观点及特点

    1、数据复制的观点及分类

    数据复制,便是将数据库中的数据拷贝到其它一个或多个差此外物理站点上,从而对峙源数据库与目的数据库中指定数据的分歧性。

    凭据数据复制的及时性,数据复制可分为同步数据复制和异步数据复制。同步数据复制是指将外埠消费数据以完全同步的体式名目复制到异地,每一外埠IO生意均需等候近程复制的完成方予以释放。异步数据复制则是指将外埠消费数据以后台同步的体式名目复制到异地,每一外埠IO生意均正常释放,无需等候近程复制的完成。同步复制及时性强,远端数据与外埠数据完全同步。但这种体式名目受带宽影响较年夜,数据传输阻隔距离较短。异步复制不影响外埠生意,传输阻隔距离长,但其数据比外埠数据略有耽误。在异步复制状况中,关于悉数应用最环节的便是要确保数据的分歧性。

    凭据复制站点的规范,数据复制可分为多主控站点复制、亡故视图复制及混淆复制。多主控站点复制也称为对等站点复制,其中每个站点都是主控站点,都需求与其他站点遏制信息互换,各站点之间是一致的。亡故视图复制包括一个主控站点、一个或多个亡故视图站点,

    亡故视图中的内容可感受目的主工具在某个时分点的全部拷贝或部门拷贝,其中目的主工具既可以是主控站点上的表也可以是亡故视图站点上的主亡故视图。混淆复制包括多个主控站点和多个亡故视图站点,是主控站点复制和亡故视图复制的连络体,合适于庞年夜的营业状况。

    2、数据复制的特点

    数据复制颠末在多个站点上创立备份,可以提高数据的恬静性,同时也提高了数据的可用性,这是因为假设一个站点出现了问题,用户可以选择其他站点承袭遏制利用,应用系统还可承袭运转,从而数据复制提供了容错维护机制。

    可是数据复制最基本的功能是提高数据库的功能。它颠末将近程数据库中的数据复制到外埠,使得应用可以就近会见数据,从而低就逮络传输负载,提高听从。而且在数据复制系统中,可以提供多个站点之间的负载均衡,让这几个用户运用这个做事器,其它几个用户可以

    运用其他的做事器,以制止某些站点负载过重。

    亡故视图还提供了按子集遏制复制,如许各站点就可只复制本身需求的数据,也能加重网络的传输量。

    数据复制的完成要领

    在具体的完成之前,起首要做好贪图与筹划。这就需求注意说明具体的营业状况,贪图出一套可以知足营业需求的方案。多次在贪图进程中,需求确定出要创立的数据库站点,各站点的规范,需求复制的数据工具,以及同步体式名目、辩说办理方案等外容。

    在贪图完成之后,就可具体来完成数据复制,数据复制完成进程如下图所示:



    从图中可以看出,数据复制的完成重要包括以下几步:

    (1)建立复制站点

    (2)建立组工具

    (3)设置辩说办理方案

    上面我们举一个例子来说明');各步具体需求完成的义务。在这个例子中我们给与多主控站点复制体式名目,设有两个主控站点和两个共享数据表。两个主控站点判袂为:处理惩罚站点(cl.world)和表明站点(js.wo rld);两个数据表为测区( survey)和测线( line)。

    STEP1 建立复制站点

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

    (2)建立用户—复制管理员,并为该用户受权复制管理员继承复制站点的建立和管理,每个复制站点都必需建立复制管理员:

    CREATE USER repadmin IDENTIFIED BY repadmin;
    BEGIN
      DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA (username => ’repadmin’);
    END;

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

       传播者继承将外埠最新更新的数据传播到其他站点上:

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

       (4)为本站点指定吸取者

       吸取者继承吸取其他站点上的传播者传送过来的数据:

    BEGIN
    DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP (
      username => ’repadmin’,
      privilege_type => ’receiver’,
      list_of_gnames => NULL);
    END;

       (5)确定断根时分

       为了使传送过来事故行列不致过年夜,需求将告成加载的事故从事物行列里断根丧失,这里设定每小时断根一次。

    CONNECT repadmin/repadmin@cl.world
    BEGIN
      DBMS_DEFER_SYS.SCHEDULE_PURGE (
       next_date => SYSDATE,
       interval => ’SYSDATE 1/24’,
       delay_seconds => 0);
    END;

       在创立好站点cl.world后,以异样的要领建立站点js. world。
      (6)建立各主控站点之间的调剂链接

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

       起首,在处理惩罚站点上创立与表明站点的数据库链接,这里需求先创立一个公用数据库链接,供其他私罕见据库链接来运用。

    CONNECT SYSTEM/MANAGER@cl.world
    CREATE PUBLIC DATABASE LINK js.world USING ’js.world’;
    CONNECT repadmin/repadmin@cl.world
    CREATE DATABASE LINK js.world CONNECT TO repadmin
    IDENTIFIED BY repadmin;

       异样,在表明站点上创立与处理惩罚站点的数据库链接

    CONNECT SYSTEM/MANAGER@js.world
    CREATE PUBLIC DATABASE LINK cl.world USING ’cl.world’;
    CONNECT repadmin/repadmin@js.world
    CREATE DATABASE LINK cl.world CONNECT TO repadmin
    IDENTIFIED BY repadmin;

       调剂链接确定本站点上的事故向其他站点发送的频度,上面的代码为10分钟一次:

    CONNECT repadmin/repadmin@cl.world
    BEGIN
    DBMS_DEFER_SYS.SCHEDULE_PUSH (
    destination => ’js.world’,
    interval => ’SYSDATE (1/144)’,
    next_date => SYSDATE,
    parallelism => 1,
    execution_seconds => 1500,
    delay_seconds => 1200);
    END;

       在表明站点上做相通的义务STEP2 建立主控组在复制状况中,Oracle用组来管理复制工具。颠末将关系的复制工具放在一个组里,从而便当对少量数据工具的管理。




    版权声明: 原创作品,许可转载,转载时请务必以超链接方式标明文章 原始出处 、作者信息和本声明。不然将追查法律责任。

  • 相关阅读:
    关于${pageContext.request.contextPath}的理解
    Spring中的八大设计模式
    mybatis pagehelper分页插件使用
    什么是JavaConfig
    springboot优缺点
    Redis持久化的两种方式和配置
    未能加载文件或程序集“System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
    关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
    C#关于微信昵称中存在的表情图标乱码解决
    移动端调用相机拍照上传图片
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1976060.html
Copyright © 2011-2022 走看看