搜索
首页数据库mysql教程同步复制OneWay的数据库表研究

同步复制OneWay的数据库表研究 通过使用同步复制Oneway的数据库表的研究,来更加深入的了解同步复制的原理,数据同步的步骤。 本文以OneWay的父到子为例(从子到父只是角色变了,表的变化可以类比一下)。 系统环境 父库:Oracle 11.2.0.1 64Bit、 ArcSDE10 S

同步复制OneWay的数据库表研究

       通过使用同步复制Oneway的数据库表的研究,来更加深入的了解同步复制的原理,数据同步的步骤。

       本文以OneWay的父到子为例(从子到父只是角色变了,表的变化可以类比一下)。

系统环境

       父库:Oracle 11.2.0.1 64Bit、 ArcSDE10 SP2 64Bit

       子库:SQL Server 2008 64Bit、ArcSDE10 SP2 64Bit

       两个库里面没有任何版本,STATE=0

执行操作

         1:父库:注册版本、添加GlobeID。

         2:执行复本操作,父库将相关的所有数据都导入到子库中。

       父库:VERSIONS表中添加一条同步复制版本的记录。使用同步复制产生的版本名称都是以”SYNC_SEND_ReplicaObjectiD_”为前缀的,状态为16777216(这个数字还没有具体研究过,好像Oneway和Twoway是不一样的),一开始没有编辑之前,这两条记录的STATE_ID=0。

同步复制OneWay的数据库表研究

  GDB_ITEMS表中添加一项Replica名称,默认为MyRelplica,是以XML存储,我们来看一下这个内容:子库的相关的连接参数信息,父库的相关角色等都描述的非常清楚。

同步复制OneWay的数据库表研究

         子库:导入父库的所有数据(如果不加任何条件的话),导入之后直接就是注册版本状态。我查看了子库一开始的整体数据同步(非编辑父库同步),是不走状态表和增量表的,直接将父库的基表数据导入到子库的基表中。

VERSIONS表中无任何新添加的信息。

        GDB_ITEMS表中添加一项Replica名称,默认为MyRelplica,是以XML存储,我们来看一下这个内容:父库的相关的连接参数信息,子库的相关角色等都描述的非常清楚。

同步复制OneWay的数据库表研究

3:对父库进行编辑

       我对父库进行增、删、改三种方式的编辑行为,每做一次保存一下编辑,目的是记录一下相关的编辑状态。

       父库的Versions表、States表等相关的版本表、增量表肯定发生了变化。如下Versions:

同步复制OneWay的数据库表研究

4:将父库变化的数据进行同步

       父库的Versions表中发生了一些变化,首先我们查看一下同步复制的版本名称由原来的SYNC_SEND_4177_0变为SYNC_SEND_4177_1,这说明这个数字可以记录同步的次数。

同步复制OneWay的数据库表研究

       GDB_ITEMS表中的Replica信息也发生了相关的变化

<mygenerationnumber>1</mygenerationnumber>
<sibgenerationnumber>0</sibgenerationnumber>
<sibmygenerationnumber>1</sibmygenerationnumber>

        GDB_REPLICALOG表里面记录了同步的相关日志信息

同步复制OneWay的数据库表研究

      子库里面我们可以看到,父库是通过版本表、增量表等信息将变化的数据同步过去的,那么我们在子库里面的相关表也同步过来了。

同步复制OneWay的数据库表研究

同步复制OneWay的数据库表研究

      从上面的A表和STATES表可以看出,尽管我在父库里面是记录了三个不同状态的操作,但是在同步过程中,子库只记录一个相关的状态,这个状态可以记录同时编辑了N个数据,这样的话势必会提高子库的数据查询分析效率。

     GDB_ITEMS表中的Replica信息也发生了相关的变化

<mygenerationnumber>0</mygenerationnumber>
 <sibgenerationnumber>1</sibgenerationnumber>
 <sibmygenerationnumber>0</sibmygenerationnumber>
<replicastate>esriReplicaStateSendingAcknowledgment</replicastate>

       同样也会更新子库中VERSIONS表的STATE_ID,将最新的ID同步更新。这样一次同步复制就完成了,那么我还是有一个疑问,系统是怎么将父库中关于某个同步要素类的变化的数据区分过去同步的,也就是他是将所有变化的数据给同步过去还是只同步最新变化的数据呢?带着这个问题我再一次做一个同步操作。

       5:对父库做第二次编辑

       我们可以看到父库里面VERSIONS表中

同步复制OneWay的数据库表研究

       然后我们再看看族系表

同步复制OneWay的数据库表研究

       其实从上面两个表我已经可以猜到系统肯定是只同步变化的数据,因为根据这两个表就能推出哪些是最新编辑的数据,因为系统记录了第一次同步之后第二次编辑之前的最新的状态值STATE_ID=55,根据这个值可以找到相关的族系名称LINEAGE_NAME=53,那么顺着这个族系名称找到最大的状态值就是最新编辑的记录的状态,从图上我们可以看到56、57、58都是最新编辑的,那么我们就可以从STATES表和增量表中将相关的信息记录出来。

5:第二次同步

      父库GDB_REPLICALOG表里面记录了同步的相关日志信息

同步复制OneWay的数据库表研究

       VERSIONS表中,果然同步版本名称又增加了1,同时更新了最新的状态值

同步复制OneWay的数据库表研究

      GDB_ITEMS表中的Replica信息也发生了相关的变化

<mygenerationnumber>2</mygenerationnumber>
<sibgenerationnumber>0</sibgenerationnumber>
<sibmygenerationnumber>2</sibmygenerationnumber>

      子库里面的A表和状态表

同步复制OneWay的数据库表研究

同步复制OneWay的数据库表研究

       从上面的图更加坚定我刚才的猜测,系统只同步变化的数据,原来的状态值等于52的仍然没有变化,第二次同步过来的就是53(根据状态序列)。

      GDB_ITEMS表中的Replica信息也发生了相关的变化

<mygenerationnumber>0</mygenerationnumber>
 <sibgenerationnumber>1</sibgenerationnumber>
 <sibmygenerationnumber>0</sibmygenerationnumber>
<replicastate>esriReplicaStateSendingAcknowledgment</replicastate>

       结论:通过上面对同步复制OneWay操作后数据库表信息的变化,基本上可以将这个编辑同步过程的步骤,或者系统设计的思路弄清楚,系统是根据子库父库存储的Replica的XML获取相关的角色、连接、数据描述等相关信息,然后编辑数据根据版本表、增量表将变化的数据读取然后进行相关的操作。


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
解决win11中同时播放耳机和音响的问题解决win11中同时播放耳机和音响的问题Jan 06, 2024 am 08:50 AM

一般来说,我们只需要同时使用耳机或者音响的其中一个设备,但是有些朋友反映在win11系统中,遇到了耳机和音响一起响的问题,其实我们可以在realtek面板中将它关闭,就可以了,下面一起来看一下吧。win11耳机和音响一起响怎么办1、首先在桌面上找到并打开“控制面板”2、进入控制面板,在其中找到并打开“硬件和声音”3、然后再找到一个喇叭图标的“Realtek高清晰音频管理器”4、选择“扬声器”再点击“后面板”进入扬声器设置。5、打开之后我们可以看到设备类型,如果要关闭耳机就取消勾选“耳机”,如果要

您同步的文件夹中的一个或多个项目不匹配Outlook错误您同步的文件夹中的一个或多个项目不匹配Outlook错误Mar 18, 2024 am 09:46 AM

当您在您的同步文件夹中发现一个或多个项目与Outlook中的错误消息不匹配时,这可能是因为您更新或取消了会议项目。这种情况下,您会看到一条错误消息,提示您的本地数据版本与远程副本存在冲突。这种情况通常发生在Outlook桌面应用程序中。您同步的文件夹中的一个或多个项目不匹配。若要解决冲突,请打开这些项目,然后重试此操作。修复同步的文件夹中的一个或多个项目不匹配Outlook错误在Outlook桌面版中,当本地日历项与服务器副本发生冲突时,可能会遇到问题。不过,幸运的是,有一些简单的方法可以帮助您

MySql的数据迁移和同步:如何实现多台服务器之间的MySQL数据迁移和同步MySql的数据迁移和同步:如何实现多台服务器之间的MySQL数据迁移和同步Jun 15, 2023 pm 07:48 PM

MySQL是一个非常流行的开源关系型数据库管理系统,广泛应用于各种Web应用、企业系统等。在现代业务的应用场景下,大多数的MySQL数据库需要部署在多台服务器上,以提供更高的可用性和性能,这就需要进行MySQL数据的迁移和同步。本文将介绍如何实现多台服务器之间的MySQL数据迁移和同步。一.MySQL数据迁移MySQL数据迁移指的是将MySQL服务器中的数

教你如何将win10剪贴板与手机同步教你如何将win10剪贴板与手机同步Jan 06, 2024 am 09:18 AM

win10剪贴板有个非常好用的功能就是跨设备云储存功能,非常的好用可以帮助用户PC设备和手机设备同步复制黏贴。设置的方法非常简单,只要在系统里的剪切板设置就好。win10剪贴板同步到手机1、首先点击左下角的开始,进入设置。2、然后去点击“系统”。3、选择左侧的“剪贴板”。4、最后在右边的“跨设备同步”中点击登录,然后选择手机就好了。

如何在 Windows 11 的 OneDrive 中选择要同步的特定文件夹如何在 Windows 11 的 OneDrive 中选择要同步的特定文件夹Apr 13, 2023 pm 04:22 PM

您系统上的 OneDrive 应用程序将所有文件和文件夹存储在云端。但有时用户不希望某些文件或文件夹被存储并占用限制为 5 GB 的 OneDrive 空间而无需订阅。为此,OneDrive 应用程序中有一个设置,允许用户选择要在云上同步的文件或文件夹。如果您也在寻找这个,那么这篇文章将帮助您在 Windows 11 系统的 OneDrive 中选择要同步的文件夹或文件。如何在 Windows 11 的 OneDrive 中选择要同步的某些文件夹注意:确保 OneDrive 应用程序已连接并同步

百度云同步盘怎么同步百度云同步盘怎么同步Feb 23, 2024 pm 01:22 PM

百度云同步盘怎么同步?百度云同步盘中可以选择文件来同步,但是多数的用户不知道如何同步百度云文件,接下来就是小编为用户带来的百度云同步盘同步方法图文教程,感兴趣的用户快来一起看看吧!百度云同步盘怎么同步1、首先进入电脑桌面,右键点击【百度云同步盘】图标,选择【设置】;2、之后展开服务小窗口,切换到【高级设置】页面点击【选择文件夹】;3、最后切换到下图的页面,勾选需要同步的文件点击【确定】即可。

Python 并发编程中的锁与同步:保持你的代码安全可靠Python 并发编程中的锁与同步:保持你的代码安全可靠Feb 19, 2024 pm 02:30 PM

并发编程中的锁与同步在并发编程中,多个进程或线程同时运行,这可能会导致资源争用和不一致性问题。为了解决这些问题,需要使用锁和同步机制来协调对共享资源的访问。锁的概念锁是一种机制,它允许一次只有一个线程或进程访问共享资源。当一个线程或进程获得锁时,其他线程或进程将被阻止访问该资源,直到锁被释放。锁的类型python中有几种类型的锁:互斥锁(Mutex):确保一次只有一个线程或进程可以访问资源。条件变量:允许线程或进程等待某个条件,然后获取锁。读写锁:允许多个线程同时读取资源,但只允许一个线程写入资

iPhone与win10日历同步iPhone与win10日历同步Jan 02, 2024 pm 12:53 PM

很多小伙伴想把win10电脑日历和自己的苹果手机日历同步,这个该如何解决呢?我们可以通过iCloud账号,分别登陆AppleID,获取密码,再登陆日历的账户解决这个问题,下面一起来看详细的教程吧。win10日历同步iphone的方法1、先打开AppleID的登陆界面,通过双重验证,输入手机的验证码,然后登陆向左2、在安全中选择“生成密码”3、输入密码标签,然后官网就会给你一个密码。将这个密码复制下来(不是你原来登陆iCloud的密码,是一个新的密码)4、打开日历——添加账户——选择iCloud—

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具