How does one configure SQL*Net?

Most people (myself included) prefer to edit the SQL*Net configuration files by hand. The only "officially supported" configuration method, however, is via the Oracle Net8 Assistant or Oracle Net8 Easy Config utility (previously called Oracle Network Manager).

This configuration utility is PC based. You need to generate the necessary files on your PC and FTP or copy them to the relevant operating systems you use Oracle on.

Look at the following sample configuration files:

$ORACLE_HOME/network/admin/sqlnet.ora

automatic_ipc = ON               # Set to OFF for PC's
trace_level_client = OFF         # Set to 16 if tracing is required
sqlnet.expire_time = 0           # Idle time in minutes
sqlnet.authentication_services = (ALL)
names.directory_lookup = (TNSNAMES,ONAMES)
names.default_domain = world
name.default_zone = world

$ORACLE_HOME/network/admin/tnsnames.ora

dbname1, aliasname1, aliasname2 =
  (description =
       (address_list =
         (address =
           (protocol = tcp)
           (host = yourHost.domain)
           (port = 1521)
         )
      )
      (connect_data =
        (sid = yourSID)
      )
  )]/code]

$ORACLE_HOME/network/admin/listener.ora
[code]LISTENER =           # Listener name is LISTENER
 (address_list =
  (address=
   (protocol=ipc)
   (key=yourSID)
  )
  (address=
    (protocol = tcp)
    (host = yourHost.domain)
    (port = 1521)
  )
 )

STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
TRACE_LEVEL_LISTENER = ON
TRACE_FILE_LISTENER = $ORACLE_HOME/network/trace/listener.trc

SID_LIST_LISTENER =
 (SID_LIST=
   (SID_DESC=
     (SID_NAME=yourSID)
     (ORACLE_HOME=YOUR_ORACLE_HOME)
   )
 )

NOTE: A wrong TNSNAMES.ORA entry on a line will block all valid entries below. Copy names to the top until you find the incorrect entry.