How do I create a two-way replica using one Oracle instance with a user geodatabase and the master SDE geodatabase?

1807
5
05-30-2017 01:23 PM
BrandiKirchhoff
Occasional Contributor

I am trying to create a two-way replication using multiple geodatabases within one Oracle instance.  The purpose is to create child feature class tables containing singular state data so end-users from different states modify ONLY the data from their state in a feature service and then sync the data back to the parent feature class which contains all of the data from multiple states.  The parent table will also be communicating with an application table where it will be retrieving/pushing data (hence the reason for two-way replication).  I have created the parent feature class in one schema (under the master SDE geodatabase) and I tried to create a child feature class in a second schema that had its own user geodatabase but I am getting an error that the GUID already exists in the master geodatabase so a replica can not be created.  If I try to import a table or create a new table within the user-schema geodatabase, I get the error that the user-schema owner cannot create/load data in master (SDE) instance.  I feel that I am missing a step somewhere or trying to take my data the wrong direction.  Can anybody give me pointers on how to make this work?  Thank you.

https://community.esri.com/community/gis/managing-data?sr=search&searchId=6c071350-d7bf-4721-bc5c-be...https://community.esri.com/community/gis/enterprise-gis?sr=search&searchId=8e3b950f-b1ee-4ff8-ad92-5...

0 Kudos
5 Replies
VinceAngelo
Esri Esteemed Contributor

I don't think this could work.  I'm certain that you don't want to do it this way.

The problem is a lack of isolation between user-schema and SDE-schema Oracle geodatabases.  The documentation states that the source and target geodatabases must be different, and USER-schema isn't different enough to not cause nightmare-like difficulty. 

Even using a two-way replica seems to be a misuse of the technology -- You'd incur a tremendous amount of overhead for little gain.

- V

BrandiKirchhoff
Occasional Contributor

Do you have any suggestions?  I found out from Esri that there is a known issue if I try to use one table and create a feature service for each state with a defined-query.  The data appears to be only the queried state when the end-user opens their feature class however if the state end-user is close to a state boundary and there are features in the adjacent state, then the features from the adjacent state show up in the local copy of the data and can then be edited.  I was told to try replication and it works if we want to have two separate Oracle instances but our infrastructure is set up where we have an Oracle database for each production/testing environment containing multiple schemas and I would need to keep this data within it's proper Oracle database environment.  Thank you for any suggestions.

0 Kudos
VinceAngelo
Esri Esteemed Contributor

Two-way replication is a rather exotic solution which requires an exotic problem.  I'm confused by your solution, mostly because I don't understand the problem.  If you elaborate on the problem (a diagram wouldn't hurt), maybe folks here can pitch in with solutions.

- V

BrandiKirchhoff
Occasional Contributor

 I have a single feature class that includes polygon data for multiple states.  I want to create individual feature services for each state and restrict the data that is being extracted from the feature class to include only the single state's data.  These feature services will be edited in ArcMap using a GIS Server connection setup in ArcCatalog.  I have created a feature service with a definition query to restrict the data to only the one state and I defined the extent to match the state boundary and when the user brings the feature service into ArcMap, it looks correct.  However when a local copy is created along the state boundary and there are polygons hidden in the view window from an adjacent state, the local copy will include all polygons from both states.  

 Original mxd file with definition query applied that is used to create the feature service:

Feature Service polygons when first loaded in ArcMap:

Local copy of polygons

Also documented in Esri Case #01924634 - case resolution:  known bug NIM087292 : Creating a Local Copy for Editing in ArcMap does not honor settings from the map document.

0 Kudos
BrandiKirchhoff
Occasional Contributor

As a follow-up to my question, I figured out how to resolve the issue and it is working great.  I did not have my Database connection connecting to the user schema geodatabase and so I was receiving the errors.  I found  the following documentation (http://desktop.arcgis.com/en/arcmap/latest/manage-data/gdbs-in-oracle/connect-geodatabase-version.ht...😞

To save a connection to a user-schema geodatabase or a version other than DEFAULT, follow these steps:

  1. Right-click your existing database connection in the Catalog window in ArcMap or ArcCatalog and click Geodatabase Connection Properties.
  2. Choose what type of geodatabase version you want to connect to:
    • Choose Transactional version to connect to a user-schema geodatabase or a transactional version other than DEFAULT.
    • Choose Historical version to connect to an historical marker or specific date and time.
  3. Choose a geodatabase version, marker, or date.
    • For transactional versions, choose the version from the list.
    • For historical versions, choose either an historical marker from the drop-down list or set a specific date and time.
  4. Click OK to close the dialog box.

Each time you use this database connection, you will connect to the version you specified. To change to a different version, repeat these steps.

0 Kudos