Enabling geodatabase functionality in an Oracle database
This topic applies to ArcGIS for Desktop Standard and ArcGIS for Desktop Advanced only.
You can connect from ArcGIS for Desktop as a geodatabase administrator to an existing, configured Oracle database and create a master sde geodatabase in it.
You would create a geodatabase if you decide you want to use geodatabase functionality such as topologies, networks, versioned editing, archiving, or replication in your Oracle database. Creating the geodatabase in an existing database lets you customize your tablespace sizes and locations.
You could use the Create Enterprise Geodatabase tool to create a geodatabase in an Oracle database, and the tool would also create the sde user for you and grant it the privileges required to create a geodatabase. If, instead, you need to create the sde user ahead of time—for example, if the database administrator does not have access to ArcGIS but does not want to give the geodatabase administrator the sys password to run the Create Enterprise Geodatabase tool—the sde user can be created in Oracle and privileges granted manually. Then the geodatabase administrator could connect to the database in ArcGIS as the sde user and run the Enable Enterprise Geodatabase tool to enable geodatabase functionality in the database.
The following are the steps you take to enable geodatabase functionality in an Oracle database using the Enable Enterprise Geodatabase tool, which can be accessed from a database connection in the Catalog tree:
-
Create a database user named sde and grant it the privileges required to create a geodatabase.
See User permissions for geodatabases in Oracle for a list of these privileges.
- Place the ST_Geometry library on your Oracle server.
The ST_Geometry library can be found in the DatabaseSupport directory of your ArcGIS client. If Oracle is installed on a Linux or UNIX server, place the libst_shapelib.so file appropriate for your server operating system in a directory on the Oracle server. If Oracle is installed on a Windows server, place the Windows st_shapelib.dll file in a directory on your Oracle server.
The directory on the server where you place the library must be accessible from the client machine from which you will run the Enable Enterprise Geodatabase tool. If placing the library on a UNIX or Linux machine, be sure the sde user has read access to the folder and execute privileges on the library file.
- Start ArcMap or ArcCatalog.
- Create a database connection to the Oracle database from the Catalog tree, connecting as the sde user.
Be sure to save the user's password on the Database Connection dialog box.
- Right-click the database connection and click Enable Geodatabase.
The Enable Enterprise Geodatabase tool opens.
- Add the database connection file for your Oracle database to the Input Database text box.
- Browse to the ArcGIS for Server authorization file that was created when you authorized ArcGIS for Server, and add it to the Authorization File text box.
When you use the wizard to authorize ArcGIS for Server, a keycodes file is written to the server where the software is installed. If you authorized ArcGIS for Server on a Linux box, the file was created in /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release>/sysgen. If you authorized on a Windows server, the file was created in Program Files\ESRI\License<release>\sysgen. If you have not already done so, authorize ArcGIS for Server to create this file.
- Click OK to run the tool.
- Optionally, If you plan to write SQL queries against ST_Geometry data in the geodatabase in Oracle, do the following:
- Configure the Oracle extproc.
- Update the
Oracle library entries for st_shapelib. To do this, connect to the database as the sde user or the database administrator from a SQL client and run a CREATE OR REPLACE
LIBRARY SQL statement.
For example, on a Windows server where st_shapelib.dll has been placed in a folder named libraryfiles, the statement would be:
CREATE OR REPLACE LIBRARY st_shapelib AS 'c:\libraryfiles\st_shapelib.dll';
On a Linux server with a directory named libfiles, the statement would be:
CREATE OR REPLACE LIBRARY st_shapelib AS '/usr/libfiles/libst_shapelib.so';
A log file for the geodatabase creation (GDBCreateGeodatabase<#>.log) is written to the directory specified for your %TEMP% variable on the computer where the tool is run. If you have any problems running the tool, check this log file to troubleshoot the problem.