How To: Install ArcSDE on a machine that is remote from the Oracle RDBMS
Sometimes it is necessary to install ArcSDE on a machine that is remote from the Oracle instance. Instructions provided describe how to install ArcSDE on a machine that is remote from the Oracle RDBMS.
Installation directions for later versions of the product contain details for distributed setups and can be found in the 9.3 Installation Guide and the 10 Web help, which are referenced in the Related Information section of this article.
- Ensure Oracle is installed and running on the remote server.
- Install Oracle Net Software on the server where ArcSDE is to be installed. Ensure SQL operates from this remote machine to the Oracle server.
If ArcSDE is on a machine that is remote to Oracle, ArcSDE is effectively a client to Oracle and uses the Oracle Net communication software. The Oracle Instant Client may not be used
- Perform pre-installation requirements, as described in the ArcSDE for Oracle Installation Guide. The installation guide can be found on the installation CD/DVD as an HTML document.
- Install ArcSDE, as per the installation guide for the operating system (OS) being used.
Perform the ArcSDE Post Installation setup using the 'Custom' option, and uncheck 'Create ArcSDE Service' from the four components/steps of the installation. See Steps 5 and 6 below for information on creating the service manually.
When using the Post Installation Wizard, use the Oracle Net Service Name created with the Oracle Client Software in all the places that the Installation Wizard asks for the Net Service Name.
If creating the geodatabase repository tables manually with the sdesetup command, it may require a password of -p password@<Oracle_Net_Service_Name>.
- Create the ArcSDE Service (Windows only):
The ArcSDE Windows service must be created manually when installing ArcSDE and Oracle on remote servers.
Use 'sdeservice -o create' to create the Windows service, since the Post Installation Wizard is not designed to create a service for ArcSDE setups that are on a remote server. At a command prompt, type 'sdeservice -h' for syntax information or refer to the ArcSDE Developer Guide for syntax and an explanation of the command.
ArcSDE 8.x setups do not use the sdeservice '-d' option for dependency. It is not possible for a Windows service to have a dependency on a service that is on a remote server.
For ArcSDE 9.x and later version setups, the '-d' option for the sdeservice is required and the name of the Oracle Instance (SID) must be entered. However, as it is not possible for a Windows service to have a dependency on a service that is on a remote server, the sdeservice syntax or the '-n' parameter must be added to negate the dependency.
For example: sdeservice -o create -p sdepasswd -d ORACLE9I,<ORACLE_SID> -n -i esri_sde.
- Add matching service name and port number into both SDEHOME and OS services files:
ArcSDE connections to the database are managed by the application server process known as the 'giomgr'. Add a line to the following files on the ArcSDE server to assign a port for the service/process to run on:
- For Oracle to connect to a remote instance, Oracle has defined an environment variable to identify the remote Oracle instance through the Net service name.
If the ArcSDE server is on Windows, set LOCAL to the Oracle Net service name in the SDEHOME\etc\dbinit.sde file.
For example, set LOCAL=netservicename.
The dbinit.sde file should have the LOCAL setting added after the ArcSDE service has been created with the sdeservice command. If the ArcSDE service is created after the dbinit.sde file is updated, it overwrites it with an ORACLE_SID setting. The SDEHOME\etc\dbinit.sde file should not contain the following line - set ORACLE_SID=<SID>.
If the ArcSDE server is on UNIX, set TWO_TASK to the Oracle Net service name. The ORACLE_HOME variable must also be set.
TWO_TASK (for UNIX/Linux) and LOCAL (for Windows) are Oracle environment variables. Refer to Oracle documentation for further information.
- The TNS_ADMIN variable must be set if the default location of the tnsnames.ora file is not used.
If Oracle connection errors are received, check if the TNS_ADMIN variable has been set and to where it points. Set the TNS_ADMIN variable to see if it resolves the problem. Check that the tnsnames.ora file is accurate. Check that the ORACLE_HOME variable has been set. When the ArcSDE server is started, the giomgr process reads the variable settings in the $SDEHOME/etc/dbinit.sde file. These variable settings override the variables set by .cshrc or .profile files. The role of the dbinit.sde file is further explained in the book titled, 'Managing ArcSDE Services (prior to 9.1)' or within the ArcGIS 9.2 Desktop Web Help topic link in the Related Information section of this article.
- Start ArcSDE, as per the installation guide. Also see 'Starting a remote ArcSDE service on Windows' in the Related Information section of this article.
- 9.2 ArcGIS Web help - The dbinit.sde file
- Properties of a direct connection to an ArcSDE geodatabase
- Setting up clients for a direct connection
- FAQ: What is the recommended configuration to minimize licensing requirements for ArcSDE and ArcGIS Server?
- Installation Guide 9.3 - ArcSDE for Oracle
- Installing Oracle and ArcSDE on separate servers - version 10
- Starting a remote ArcSDE service on Windows - version 10
- Registering an ArcSDE service on UNIX or Linux