What is a direct connection to a geodatabase in Oracle?
A direct connection to a geodatabase is one that is made using the database management system's (DBMS) connection methods and direct-connect drivers in the client application. The connection is made directly from the client to the DBMS without the use of an ArcSDE service. Direct connections are also known as two-tiered connections.
When you use a direct connection to the geodatabase, most of the processes that would have taken place on the server are now going to take place on your client machines. In addition, certain limits that would be enforced by ArcSDE when making a connection through an ArcSDE service, such as password length, are instead enforced by the DBMS.
Some examples of when you would use a direct connection include the following:
- You do not want to administer an ArcSDE service.
- The direct-connect architecture moves ArcSDE functionality to the desktop. This removes the ArcSDE load from the server and allows additional resources to be freed up for the DBMS, which means you get better scalability on the database server.
Direct connections can be faster if the server is heavily used, because processing takes place on the client machine. Rather than having to process the information on the server, which may be responding to requests from numerous other users at the same time, and send the information back to the client across the network, the client computer is typically only processing a few tasks at a time.
- If you want to use Oracle Real Application Clusters (RAC), it is easier to configure if you are using a direct connection to the geodatabase.
- If you want to use operating system authentication for your ArcGIS connections to an ArcSDE geodatabase for Oracle, you must use a direct connection.
Some instances for which you would not use a direct connection include the following:
- If your desktop machine does not have enough resources to handle the ArcSDE processes, use an ArcSDE service connection. You could have a mixed environment, in which those desktop computers that can manage the ArcSDE processes use a direct connection to the geodatabase but those that cannot manage the processes use an ArcSDE service to connect.
- To use a direct connection from the client to an ArcSDE for Oracle geodatabase, you must install and configure the Oracle client on the client machine. If you do not want to configure every client machine to make a direct connection, use an ArcSDE service instead.
For information on how to configure a client to make a direct connection, see Setting up a direct connection to Oracle.
ArcSDE writes error messages to the sdedc_<dbms>.log file. If you have the SDEHOME environment variable set, this file is written to the etc directory in this location. If you have an etc directory in your ArcGIS installation location, the file is written there. If you have neither of these, the log file is written to the temp directory.
What happens when a client application makes a direct connection to the DBMS in which an ArcSDE geodatabase is stored?
The following sequence of events occurs when an ArcSDE client application connects directly to the DBMS.
- The DBMS server detects local or remote connections. Each of the DBMSs supported by ArcSDE has its own method of accepting the connections of client applications. Make sure you are entering the connection information correctly. If you still cannot get connected, test the connection using the native SQL utility of the DBMS.
- The client application verifies that the ArcGIS Server license has been installed. If the client application queries a valid ArcGIS Server license, which is stored in the sde_server_config table, it acquires a connection to the database.