Oracle 中地理数据库 (geodatabase) 内的复本

通过地理数据库复制,可跨越两个或更多版本化的地理数据库来创建数据副本,以便同步数据更改。同步涉及到一个发送数据更改的复本和一个接收更改的关系复本。

创建双向或单向复本之前,必须将 GlobalID 列添加到要复制的数据集。这会为数据集中的行赋予在地理数据库中保持不变的唯一值。(有关准备好要复制的数据集的详细信息,请查阅准备要复制的数据。)

对复本之一进行更改后,可同步地理数据库,将此地理数据库中的更改引入其关系地理数据库。某个地理数据库与其关系地理数据库同步时,将在复本地理数据库(将更改发送给关系地理数据库的地理数据库)的用户方案中创建一个表来追踪已更改数据集的谱系。

ArcGIS Desktop 中的复本表

在 ArcGIS Desktop 中无法显示用于同步的表,此表仅在同步期间在后台使用。

然而,如果地理数据库正用作复本地理数据库,可以通过检查目录窗口中的属性识别。右键单击地理数据库,然后单击属性。在“常规”选项卡上,存在一个“分布式地理数据库状态”部分。如果已经对地理数据库进行复制或已复制到地理数据库,状态消息将显示“这是复本地理数据库”。

ArcMap 中,MXD 文件包含一个或多个已复制的图层,因为“分布式地理数据库 (Geodatabase)”工具条上的大多数(甚至是全部)工具已激活。同样,打开复本管理器 时,将列出一个或多个复本。

Oracle 数据库中的复本表

数据集必须具有一个 GlobalID 列并且注册为完全版本(未使用将编辑内容保存到基表选项来注册),才能复制此数据集。因此,在数据库中,包含在复本中的任何数据集中的业务表都具有 GUID 列和增量表。

将在数据库的 GDB_ITEMSGDB_ITEMRELATIONSHIPSGDB_REPLICALOG ArcSDE 地理数据库系统表中追踪复本。实际情况是在 GDB_ITEMTYPES 系统表中记录复本。请参阅 Oracle 地理数据库 (geodatabase) 中的系统表

这些表如下所示相互关联:

Oracle 中的复本表

虚线表示各列之间的隐含关系。

如上所述,数据集必须具有一个要复制的 GlobalID 列。以下为一个具有 GlobalID 列的版本化的要素类:Districts。

具有 GlobalID 列的版本化数据集

在两个地理数据库之间执行同步时,所创建的用于追踪数据集谱系的表是 SDE_UUID_TEMP$ 表。此表可由多个会话同时使用。在 Oracle 中,SDE_UUID_TEMP$ 表作为全局临时表进行创建。对此表的描述如下。

SDE_UUID_TEMP$

SDE_UUID_TEMP$ 表用于通过给定对象的 GlobalID 值发现其谱系。

字段名

字段类型

描述

是否允许空值

REGISTRATION_ID

NUMBER(38)

TABLE_REGISTRY 表中版本化表的注册 ID

GLOBALID

NCHAR(38)

版本化数据集的业务表中已更改行的 GlobalID

下图显示了某个复制的数据集如何与 SDE_UUID_TEMP$ 表关联。

同步已复制的数据集

退出会话时将不移除 SDE_UUID_TEMP$ 表,因为在另一会话中很可能重新使用此表。

XML 文档中的复本表

创建复本时如果选择复制到 XML 文档,复本和复制的数据集的信息将用 <GPReplica> 标记括起来,如下所示。

此示例中,复本名称为 toagency,此复本从地理数据库版本 PHASE1 复制而来。

<GPReplica xsi:type="esri:GPReplica">   <Name>manager.toagency</Name>    <ID>-1</ID>    <ReplicaVersion>sde.PHASE1</ReplicaVersion>    <CreationDate>2007-04-23T12:13:07</CreationDate>    <GUID>AFC2DA1A-B751-4096-82DE-7AC9E601A563</GUID>    <Role>esriReplicaRoleChild</Role>    <AccessType>esriReplicaChildReadOnly</AccessType>    <MyGenerationNumber>0</MyGenerationNumber>    <SibGenerationNumber>0</SibGenerationNumber>    <SibMyGenerationNumber>0</SibMyGenerationNumber>    <ReplicaState>esriReplicaStateWaitingForData</ReplicaState>    <SibConnectionString>SERVER=liljoe;INSTANCE=5151;VERSION=sde.PHASE1;AUTHENTICATION_MODE=DBMS;ProgID=esriDataSourcesGDB.SdeWorkspaceFactory.1</SibConnectionString>   <GPReplicaDescription xsi:type="esri:GPReplicaDescription">   <ModelType>esriModelTypeFullGeodatabase</ModelType>    <SingleGeneration>false</SingleGeneration> <SpatialRelation>esriSpatialRelIntersects</SpatialRelation>   <QueryGeometry xsi:type="esri:EnvelopeN">   <XMin>-5543912.2421665</XMin>    <YMin>3741401.908035</YMin>    <XMax>-5538272.6904335</XMax>    <YMax>3743452.058665</YMax>   <SpatialReference xsi:type="esri:ProjectedCoordinateSystem">   <WKT>PROJCS["Asia_South_Albers_Equal_Area_Conic", GEOGCS["GCS_WGS_1984", DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]], PROJECTION["Albers"], PARAMETER["False_Easting",0.0], PARAMETER["False_Northing",0.0], PARAMETER["Central_Meridian",125.0], PARAMETER["Standard_Parallel_1",7.0], PARAMETER["Standard_Parallel_2",-32.0], PARAMETER["Latitude_Of_Origin",-15.0], UNIT["Meter",1.0]], VERTCS["Ha_Tien_1960", VDATUM["Ha_Tien_1960"], PARAMETER["Vertical_Shift",0.0], PARAMETER["Direction",1.0], UNIT["Meter",1.0]]</WKT>    <XOrigin>-21663300</XOrigin>    <YOrigin>-10280500</YOrigin>    <XYScale>207890747.363998</XYScale>    <ZOrigin>0</ZOrigin>    <ZScale>1</ZScale>    <MOrigin>-100000</MOrigin>    <MScale>10000</MScale>    <XYTolerance>0.001</XYTolerance>    <ZTolerance>2</ZTolerance>    <MTolerance>0.001</MTolerance>    <HighPrecision>true</HighPrecision>    </SpatialReference>   </QueryGeometry> <GPReplicaDatasets xsi:type="esri:ArrayOfGPReplicaDataset">  <GPReplicaDataset xsi:type="esri:GPReplicaDataset">   <DatasetName>projects.editor.roads</DatasetName>    <DatasetType>esriDTFeatureClass</DatasetType>    <RowsType>esriRowsTypeFilter</RowsType>    <IsPrivate>false</IsPrivate>    <UseGeometry>true</UseGeometry>    </GPReplicaDataset>

其他数据集定义

 </GPReplicaDatasets>   <TransferRelatedObjects>true</TransferRelatedObjects>    </GPReplicaDescription>   <ReconcilePolicy>esriReplicaResolveConflictsNone</ReconcilePolicy>  </GPReplica>

相关主题


7/10/2012