SPX and IPX are specifically designed for PC LAN environments. SPX ensures that the data is reliably delivered to the correct user or process on the host machine. IPX routes the data to the appropriate host machine. The application layer protocol that provides access to these network protocols is referred to as the SPX/IPX Protocol Adapter.
After the SPX/IPX protocol and Oracle SPX/IPX Protocol Adapter are installed on your system, you can use the SPX/IPX parameters with the TNS connect descriptors to identify SPX/IPX community nodes.
The SPX/IPX Protocol Adapter parameters are part of the ADDRESS keyword-value pairs. The name of the SPX/IPX community and the three SPX/IPX parameters can be entered in any order. The syntax for the SPX/IPX Protocol Adapter connection is:
(ADDRESS=
[(COMMUNITY=community_name)]
(PROTOCOL=protocol)
(SERVICE=servicename)
)
where:
(ADDRESS=
(COMMUNITY=PCLAN.SALES.ACME)
(PROTOCOL=SPX)
(SERVICE=MAILDB1)
)
This ADDRESS is commonly part of a larger construct such as a connect descriptor or configuration file.
The server broadcasts a SAP packet in an IPX datagram every 60 seconds. This SAP packet contains all relevant addressing information. Any client can then query its nearest server for the address of the required server.
The Oracle SPX/IPX Protocol Adapter broadcasts using the ntisbsdm broadcast daemon in $ORACLE_HOME/bin. The ntspxctl utility starts and stops ntisbsdm.
The ntspxctl utility reads commands from the command line. If parameters are missing, it prompts for them.
$ ntspxctl
Output similar to the following is displayed:
ntspxctl: Version 2.0.12.1 - Beta on
Fri Jul 3 11:43:50 1992
To start the broadcast daemon, enter:
ntspxctl> startup
Output similar to the following is displayed:
ntisbsdm started at Fri Jul 3 11:43:47 1992
A system message is displayed if the daemon has already been started.
The broadcast daemon should always be running to avoid starting it every time you restart a machine. For example, to start the ntisbsdm daemon on /etc/inittab on system startup, enter:
ntspxctl:2:once:/u/oracle/bin/ntisbsdm &
where /u/oracle/bin is the full path to $ORACLE_HOME.
To register a name for testing, enter register and the name. Following is an example for the name YYY:
ntspxctl> register YYY
This creates a socket owned by ntisbsdm, and registers it.
A message similar to the following is displayed:
Name YYY successfully registered
YYY address 00eee045:000000000001:4454
To check the status of ntisbsdm, enter:
ntspxctl>status
A message similar to the following is displayed:
ntisbsdm started at Fri Jul 3 11:43:47 1992
Tracing is off
Pid: 14784 YYY
A shorter status can be obtained by entering:
ntspxctl>summary
A message similar to the following is displayed:
ntisbsdm started at Fri Jul 3 11:43:47 1992
Tracing is off
1 names are registered
getname name servicetype
A message similar to the following is displayed:
getname name servicetype (address number_of_hops)
where:
name | is the name you entered |
servicetype | is a number assigned by Novell. Oracle has the number 103. |
address | is the address of the name you entered. |
number_of_hops | is the number of hops to the destination, displayed in hexadecimal. The value 10 means the name is deregistered. If SAP queries are not supported, the value is 0000. |
getname * *
ntspxctl> getname YYY *
YYY servertype x0103 address 00eee045:000000000001:
4465 hops 0000
ntspxctl> getname * 103
LSNR servertype x0103 address 00eee053:000000000001:
502c hops 0000
IBM6 servertype x0103 address 00eee058:000000000001:
507f hops 0000
DESK servertype x0004 address 00eee055:000000000001:
5451 hops 0000
DESK servertype x0107 address 00eee055:000000000001:
5104 hops 0000
CXY4 servertype x009e address 00eee055:000000000001:
5063 hops 0000
IBM2 servertype x0004 address 00eee057:000000000001:
5451 hops 0000
To stop ntisbsdm, enter:
ntspxctl> shutdown
The daemon will not be stopped if names are still registered. A message similar to the following is displayed:
1 names are registered
ntisbsdm not stopped
To remove a name, enter remove and the name. Following is an example for the name YYY:
ntspxctl> remove YYY
A message similar to the following is displayed:
Name xxx removed.
ntspxctl>shutdown
ntisbsdm stopped
To force a stop, enter:
ntspxctl> shutdown force
A message similar to the following is displayed:
ntisbsdm stopped
register name | Register entry. |
remove name | Remove entry. |
shutdown [force] | Shut down ntisbsdm. |
startup | Get status summary. |
traceon | Activate trace. |
traceoff | Deactivate trace. |
status | Get full status. |
getname name|* hex_number|* | Query name services. |
exit | Exit program. |
help [command] | Print command information. |
! | Shell escape. |
mts_dispatchers = "spx,1" # run one SPX dispatcher
mts_max_dispatchers = 10 # max no of dispatchers
mts_service = ORA7 # dispatcher service name
# (=ORACLE_SID)
mts_servers = 1 # min no of shared servers
mts_max_servers = 10 # max no of shared servers
mts_listener_address = "(ADDRESS=(PROTOCOL=spx)
(SERVICE=SPXSVC))"