Note: This chapter is a supplement to the Understanding SQL*Net guide.
When configuring the TNS listener to listen for mailbox connections, you need to specify a KEY value in LISTENER.ORA for the IPC protocol. The listener then creates a mailbox which listens for connections and creates a system-wide logical name (the same as the KEY value) which translates to this mailbox device. It is via this logical name that clients find the listener's mailbox.
When the SQL*Net parameter AUTOMATIC_IPC is not turned off, connect descriptors specifying the DECnet or TCP/IP protocols for a server on the same node are converted to mailbox connections. If you wish to prevent this, you must include the following line in the TNS_ADMIN:SQLNET.ORA file:
AUTOMATIC_IPC = OFF
(PROTOCOL=IPC)
(KEY=<IPC logical name>)
where:
| PROTOCOL | The keyword that identifies the specific protocol adapter used; for this protocol, the value is IPC. The value can be entered in either uppercase or lowercase. |
| KEY | The logical name used to connect to the listener via the Mailbox adapter. |
(PROTOCOL=IPC)
(KEY=ORA_IPC)
Note: A full example of a Mailbox connect descriptor can be found in the file TNS_ADMIN:TNSNAMES_ORA.SAMPLE.
When configuring the TNS listener to listen for DECnet connections, you need to specify an OBJECT value in the LISTENER.ORA file for the DECnet protocol. The listener registers itself as a DECnet object, using the name specified as the OBJECT value. After the listener is started, you can see the listener object if you issue the following command in the DECnet NCP utility:
NCP> SHOW KNOWN OBJECTS
The DECnet protocol adapter supports both DECnet Phase IV and DECnet Phase V (DECnet/OSI.) However, if you are using DECnet Phase V, depending on your configuration, you may need to use Phase IV aliases in your TNS connect descriptors.
(PROTOCOL=DECNET)
(NODE=node)
(OBJECT=object name)
The following field is optional:
(QUEUESIZE=n)
where:
| PROTOCOL | Keyword that identifies the specific protocol adapter used; for this protocol, the value is DECNET. The value can be entered in either uppercase or lowercase. |
| NODE | Name of the remote node to which you want to connect. This node must be included in the list of your system's node names. Use the NCP utility to display these parameters by entering the following command in NCP: |
NCP> SHOW KNOWN NODES
| OBJECT | DECnet object name of the listener to which you want to connect on the specified node. The object is created when the listener starts and is deleted when the listener is stopped. The object of an alias used in the TNSNAMES.ORA file must have a corresponding address in the LISTENER.ORA file; it must have the same object, protocol, and node. An object name must be less that 15 characters in length. |
| Use upper case when entering object IDs. | |
| QUEUESIZE | Parameter that can be used to enlarge the connection mailbox. This parameter is optional; if it is not specified, the default value of 20 is used, allowing twenty DECnet connections to the listener to be pending. If many simultaneous connections are made to the listener, some connection requests may not be received if the DECnet connection mailbox is too small. |
(PROTOCOL=DECNET)
(NODE=VAX1)
(OBJECT=LISTEN1)
Note: A full example of a DECnet connect descriptor can be found in the file TNS_ADMIN:TNSNAMES_ORA.SAMPLE.
Oracle has based its TCP/IP adapter on the UCX (Digital TCP/IP Services for OpenVMS) driver. Because MultiNet and TCPWare provide UCX emulation, the TCP/IP adapter operates with these products as well.
Note: You must explicitly enable UCX emulation for Multinet or TCPWare If the logical name UCX$DEVICE is defined in your SYSTEM logical name table, this is a good indication that UCX emulation has been enabled. If UCX emulation has not been enabled, please consult your Multinet or TCPWare documentation.
Table 3-1 lists the minimum version of the TCP/IP products which are required with SQL*Net Version 2.3.2.
| Protocol Service | Supported Version |
| Digital TCP/IP Services for OpenVMS (UCX) | 4.0 |
| Cisco MultiNet | 4.0 |
| Process Software TCPware | 5.1 |
| Table 3-1 Minimum supported version of TCP/IP products | |
(PROTOCOL=TCP)
(HOST=hostname)
(PORT=port#)
The following field is optional:
(QUEUESIZE=n)
where:
| PROTOCOL | Keyword that identifies the specific protocol adapter used; for this protocol, the value is TCP. The value can be entered in either uppercase or lowercase. |
| HOST | Host name or IP address. |
| PORT# | TCP/IP port number of the listener to which you wish to connect on the host specified. |
| QUEUESIZE | Parameter to increase the queue size. This parameter is optional; if it is not specified, the default value of 20 is used. If simultaneous connections are made to the listener, some connection requests may not be received if the listener socket queue size is too small. |
(PROTOCOL=TCP)
(HOST=VAX1)
(PORT=1526)
Note: A full example of a TCP/IP connect descriptor can be found in the file TNS_ADMIN:TNSNAMES_ORA.SAMPLE.
$ @ORA_RDBMS:CREATE_ORASRV_BEQ <ora_db> <sid> <dbname>
where:
<ora_db> is the database administration directory;
<sid> is the SID of the database, for example, PROD; and
<dbname> is the NAME of the database.
For example:
$ @ORA_RDBMS:CREATE_ORASRV_BEQ DKA400:[ORACLE73.DB_PROD] - PROD PRODDB
Note: You can find a sample ORASRV_BEQ_COM.SAMPLE file in Appendix C of this manual.
A new mechanism for the bequeath adapter is implemented in this release. This mechanism uses the new BEQUEATH LISTENER process.
For each request from the client, the Bequeath Listener creates a detached server process and two mailboxes and then sends the client the mailbox names. Then the client can establish a connection to the server process and eventually to the database.
The Bequeath Listener uses a known mailbox name to listen for client requests. This mailbox name is in the format:
ORA_BEQ_READ_MBX_xxxxyyyyyy_n
where:
xxxx is a unique number that is automatically generated when you install the Bequeath Listener.
yyyyyy is the name of the node where the installation occurred.
n is a single-digit number (0-9) that is the Bequeath Listener number.
The Bequeath Listener is used during database creation.
If the Bequeath Listener is down and you want to start it, execute the command:
BEQLSNR START
The following messages should occur:
Start BEQ listener
%RUN-S-PROC_ID, identification of created process is 5EA00E49
The command to determine whether the Bequeath Listener is up and running is:
BEQLSNR STATUS
Messages like the following will occur:
BEQLSNR for VMS: Version 2.3.3.1.1 - Production on 1-AUG-1997 14:38:56.38 Copyright (c) Oracle Corporation 1994, 1997. All rights reserved. Started on 1-Aug-1997 14:38:48.38 Pid is 27205F75 Connecting to ORA_BEQ_READ_MBX_1005ap6VMS_0 DEDICATED SERVER current:1 established:1 refused:0
This information contains:
BEQLSNR for VMS: Version 2.3.3.1.1 - Production on 1-AUG-1997 14:38:56.38 Copyright (c) Oracle Corporation 1994, 1997. All rights reserved. Started ON 1-AUG-1997 14:38:48.38 Pid is 27205F75 Connection to ORA_BEQ_READ_MBX_1005ap6VMS_0 DEDICATED SERVER current:1 established:1 refused:0 [SVRMGR]SVRMGRL.EXE;14 27205F67 -----> SRV.EXE;24 27205F76 RGUTHERZ 1-AUG-1997 14:31:42.08 [RON733] 1-AUG-1997 14:38:50.27
This information shows all the pairs of client/server processes that are now connected. You also see the name of client/server images that are now running, their pids, and the login time of these processes. On the left you will also see the client user name. The brackets in the middle show you the SID name. Note that you can see different SIDs, because the Bequeath Listener serves all the instances on the same installation.
BEQLSNR STOP
Note: Generally this option should not be used. The Bequeath Listener shuts down implicitly when REMORACLE is invoked.
To get the trace information from the Bequeath Listener, you should do the following:
Hitting the problem: ORA-12203: TNS:unable to connect to destination If you hit this problem, issue the command BEQLSNR STATUS to determine whether the Bequeath Listener is up and running. If the Bequeath Listener does not respond, use the command BEQLSNR STOP to stop the Bequeath Listener and use the command BEQLSNR START to restart it.
Client hitting the problem: ORA-12203: TNS:unable to connect to destination Choose one of the following solutions: