Is there a safe way to modify geodatabase domains in the database, without using the ArcGIS client like ArcGIS Catalog?

4036
10
Jump to solution
11-05-2015 09:06 AM
Highlighted
Occasional Contributor III

In my scenario Geodatabase is 10.3, Oracle 11g database.

Reply
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Regular Contributor III

Ruling out ArcGIS Client and Python, as George mentioned, there is no safe or supported way of doing this.

View solution in original post

Reply
0 Kudos
10 Replies
Highlighted
Regular Contributor III

Modify geodatabase domains as in:

- add new domains?

- delete existing domains?

- Add new coded values?

What about python scripting?

Reply
0 Kudos
Highlighted
Occasional Contributor III

Modify as in updating existing domains by adding, inserting, removing, and sorting code-description pairs

(Whether export to table-->modify exported copy-->delete existing domain-->create new domain with identical name-->import  with the same domain name would arrive at the same result I don't know. But I can't use ArcGIS GP Tools to do this because they don't seem to honor the oracle "become user" syntax I need to use for connecting to the geodatabase.)

Thanks for your help.

Reply
0 Kudos
Highlighted
Regular Contributor III

Ruling out ArcGIS Client and Python, as George mentioned, there is no safe or supported way of doing this.

View solution in original post

Reply
0 Kudos
Highlighted
Occasional Contributor III

Okay, thanks for the confirmation George Thompson and Asrujit SenGupta​.

In case you know of any workarounds, here is my use case: Most GP tools have no problem with oracle become user syntax, but the tools "Table to Domain" and "Sort Coded Value Domain" don't recognize it. For example, if Joe is a power user in the electrical utilities department he connects with username Joe123[electrical]. Works great, except when he needs to run one of these tools against a domain owned by electrical  he gets the error "Domain may not be locked as the user is not the owner" unless he actually could connect as electrical . I say could because it isn't a viable option due to IT policy.

Reply
0 Kudos
Highlighted
Esri Frequent Contributor

Tobias,

Who owns the domain? Only the owner of the domain (or i think the Geodatabase Administrator) can make changes to existing domains.

Browsing the attribute domains of a geodatabase from a feature class or table—Help | ArcGIS for Desk...

-George

--- George T.
Reply
0 Kudos
Highlighted
Regular Contributor III

When a new domain is created, the owner of that domain—that is, the user who created it—is recorded. Only the owner of an attribute domain can delete or modify it. This only applies to enterprise geodatabases; in file or personal geodatabases any user can delete or modify a domain. The Domain Properties dialog box lists the owner of each domain when connected to enterprise geodatabases.

Modifying and deleting attribute domains—ArcGIS Help | ArcGIS for Desktop

Reply
0 Kudos
Highlighted
Regular Contributor

ESRI really needs to create a mechanism to change the ownership of enterprise domains.  That request was submitted as an enhancement several years ago but there has been no movement on it!  If the owner of a domain leaves and their network login is deleted there is no way to delete or modify their domains without hacking around in the GDB tables.  Not safe, but the only option available.

Highlighted
Occasional Contributor III

The geodatabase domain is owned by a user account that does not represent an individual (in my above example this is electrical). This "functional" account is granted BECOME USER privileges in oracle, so that certain user accounts (in my example this is Joe123) can assume the identity of electrical (in the above example Joe has a connection file where the username field states Joe123[electrical] ). ArcMap GP tools that modify geodatabase domains don't seem to understand this syntax. They don't understand that in my example it is Joe123 assuming the identity of electrical who is connecting to the database, and that this connection should be allowed to modify a geodatabase domain that is owned by user electrical . Hope this clarifies it a bit. Thanks.

Reply
0 Kudos
Highlighted
Esri Frequent Contributor

Hi Tobias,

I would say that there is not a "safe" way to modify the domains in the geodatabase outside of the ArcGIS client (this would include the ways that Asrujit SenGupta​ mentioned)

Editing the geodatabase outside the ArcGIS client is also unsupported.

Here is some more documentation on the domains:

Domains in a geodatabase stored in Oracle—Help | ArcGIS for Desktop

System tables of a geodatabase stored in Oracle—Help | ArcGIS for Desktop

SQL access to enterprise geodatabase data—Help | ArcGIS for Desktop

Hope this helps.

-George

Managing Data

--- George T.
Reply
0 Kudos