9.4 Configuring a Client

Team-Fly    

 
Oracle Net8 Configuration and Troubleshooting
By Jonathan  Gennick , Hugo Toledo
Table of Contents
Chapter 9.  Connection Manager


Configuring a client to use Connection Manager involves making some changes to the definitions of the net service names used by that client. If you're using Oracle Names (or some other central repository for service names ) then you can make the changes centrally . Otherwise, you'll need to make changes to your client's tnsnames.ora file.

9.4.1 Connection Concentration

Connection concentration is attained by routing Net8 connections from the client, through Connection Manager, and then on to the server. To accomplish that, you need to configure your net service names with two addresses instead of just one. The first address points to the Connection Manager instance, and the second address points to the Net8 listener on the database server. The addresses should be embedded within an address list. For example:

 PROD.GENNICK.ORG =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = cman01.gennick.org)(PORT = 1630))       (ADDRESS = (PROTOCOL = TCP)(HOST = donna.gennick.org)(PORT = 1523))     )     (SOURCE_ROUTE = YES)     (CONNECT_DATA =       (SERVICE_NAME = donna.gennick.org)     )   ) 

If you read Chapter 8, you're probably thinking that this looks a lot like the setup you would use to implement either of those features. It is. The key difference is the use of the SOURCE_ROUTE parameter. Setting (SOURCE_ROUTE = YES) tells Net8 that Connection Manager is being used and that the connection should be routed through each address in sequence. Here is what happens when you connect using this service name :

  1. Net8 uses the first address to contact Connection Manager. Connection Manager must be running on the node cman01.gennick.org , and it must be listening on port 1630.

  2. Net8 passes the remaining address in the list to Connection Manager.

  3. Connection Manager uses the remaining address to contact the Net8 listener, which must be running on donna.gennick.org, and which must be listening on port 1523.

  4. The listener connects the Connection Manager instance to a dispatcher process.

  5. The client is now connected to the database service via Connection Manager.

Much of what goes on here is transparent to the client. The interface between a client and a Connection Manager instance is the same as that between a client and an MTS dispatcher.

9.4.1.1 Using multiple connection manager instances

Because the Connection Manager interface is identical to the MTS dispatcher interface, it's possible to string a connection through several Connection Manager instances. During the testing we did while writing this chapter, we set up the following rather long connection path :

 HERMAN_LONG.GENNICK.ORG =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS=(PROTOCOL=TCP)(HOST=cman01.gennick.org)(PORT=1630))       (ADDRESS=(PROTOCOL=TCP)(HOST=cman02.gennick.org)(PORT=1630))       (ADDRESS=(PROTOCOL=TCP)(HOST=cman03.gennick.org)(PORT=1630))       (ADDRESS=(PROTOCOL=TCP)(HOST=jonathan.gennick.org)(PORT=1521))     )     (SOURCE_ROUTE = YES)     (CONNECT_DATA =       (SERVICE_NAME = herman.gennick.org)     )   ) 

The first three addresses in this list represent different Connection Manager instances. Our connection was successfully routed through each Connection Manager instance, and finally to the listener running on jonathan.gennick.org .

All the data sent back and forth during a session needs to pass through all the Connection Manager instances between the client and the server.

9.4.1.2 Connection concentration and the Net8 Assistant

You can use Net8 Assistant to configure connection concentration for a net service name. The process is almost identical to that described in Chapter 8 for configuring failover and load balancing. First, you need to create a net service name using the Net Service Name Wizard. Be sure to specify the Connection Manager address when doing that. After creating the name, add another address that points to the listener. Figure 9.9 shows the address list in Net8 Assistant for the prod.gennick.org service name shown earlier.

Figure 9.9. Using Net8 Assistant to configure an address path
figs/n8c_0909.gif

If you get mixed up and define your addresses in the wrong order, you can select an address and click on the < and > icons in order to move it up and down in the list. When you get everything the way you want it, click the Advanced button to open the Address List Options dialog, and choose the radio button for "Use each address in order until destination reached," as shown in Figure 9.10.

Figure 9.10. Specifying that a connection should go through one or more Connection Manager instances
figs/n8c_0910.gif

Choosing the option shown in Figure 9.10 causes Net8 Assistant to include the (SOURCE_ROUTE = YES) setting in the description for the address list. Be sure to save your changes using File figs/u2192.gif Save Network Configuration.

9.4.2 Multi-Protocol Support

Multi-protocol support is configured in the same manner as connection concentration. Suppose you had a client that had TCP/IP as the only protocol available, but you needed to connect that client to a database running on a server that only had SPX available. While you can't make that connection directly, you can make it via Connection Manager using a net service name defined like this:

 HERMAN_SPX.GENNICK.ORG =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS=(PROTOCOL=TCP)(HOST=cman01.gennick.org)(PORT=1630))       (ADDRESS=(PROTOCOL=SPX)(SERVICE=jonathan_listener))     )     (SOURCE_ROUTE = YES)     (CONNECT_DATA =       (SERVICE_NAME = herman.gennick.org)     )   ) 

The client makes a TCP/IP connection to Connection Manager, and Connection Manager then makes an SPX connection to the database server. Of course, for this to work, the server running Connection Manager must support both protocols.

9.4.2.1 Combining multi-protocol support and connection concentration

It's possible that connection concentration might also occur when using Connection Manager as a bridge between two protocols. As you can see, the configuration for the two features is one and the same. If the destination database instance is configured for MTS, and if multiplexing has been enabled, then connection concentration might occur as a side effect of using Connection Manager's multi-protocol support.

9.4.2.2 Multi-protocol support and the Net8 Assistant

If it's multi-protocol support that you're after, Net8 Assistant may not be much help when it comes to setting up a net service name. That's because when it comes to selecting a protocol, Net8 Assistant only lists the protocols that are available on your machine. If your ultimate destination is a database server running a protocol that you don't have installed locally, you'll be stuck. You'll need to configure an address using that protocol, but in a cruel twist of fate, Net8 Assistant won't allow you to do that.

Clearly this is a case of Oracle tripping over its own feature set. The programmers working on Net8 Assistant either weren't aware of Connection Manager's multi-protocol support, or they failed to consider it when designing their validation routines. The only solution, if you really want to use Net8 Assistant at all, is to create the net service name with one address using Net8 Assistant, and then edit tnsnames.ora by hand to add in the other address(es) that you need.


Team-Fly    
Top


Oracle Net8 Configuration and Troubleshooting
Oracle Net8 Configuration and Troubleshooting
ISBN: 1565927532
EAN: 2147483647
Year: 2000
Pages: 120

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net