Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Need help on MTS configuration
Syltrem wrote:
> ** Sending this again as it doesn't seem it made it through the ng **
>
> Hi Howard
>
> I read your answer carefully and found clarification one one point I had
> missed, or wasn't clear in my mind:
> the difference between an alias and a service. Too bad if I look dumb but
> that was never explained to me.
You didn't look dumb. Very few people do. Asking questions is fine. It's usually the answers which are dubious! Mentioning no names in particular, of course ;-)
> Now everything is clear and my configuration works (but I still have this
> problem with the dispatcher getting hung by users trying to connect
> throuigh CMAN -- I logged a TAR for this problem).
Yeah, that one I don't know about. Things hanging is bug-land as far as I can tell. CMAN is one of those products which sound fabulous, and when they work, they are... but quite often they don't work as well as they should do (think application server, for example!!).
> One thing to note:
> You say I can drop the INSTANCE=ZZZRCS in my init.ora, as the listener
> will pickup the oracle_sid upon registering.
> It does not (on this version and OS anyways) :
> Service "ZZZRCS.WORLD" has 1 instances.
> Instance "@"
> Status: READY Total handlers: 2 Relevant handlers: 2
> Class: ORACLE
> DEDICATED established:0 refused:0 current:0 max:225 state:ready
>
> (ADDRESS=(PROTOCOL=BEQ)(PROGRAM=IVA$EXE_ALPHA:[ORACLE8174.NETWORK.ADMIN]
> ORASRV_NETV2_@.COM)(ARGV0=oracle@)(ARGS='(DESCRIPTION=(LOCAL=no
(ADDRESS=(PR
> OTOC
> OL=BEQ)))'))
> Session: NS
> DISPATCHER established:0 refused:0 current:0 max:1022 state:ready
> (ADDRESS=(PROTOCOL=tcp)(HOST=helios.ivaco.com)(PORT=2787))
> Session: NS
> It takes "@" instead of the instance name. I need to set the paraneter.
Well, OpenVMS is a proper operating system, after all, so maybe you do on that platform. It's not one I have in my kit bag, unfortunately. Generally, you shouldn't do. The documentation over at tahiti.oracle.com clearly states, for example, that the default value for INSTANCE_NAME is "the instance's SID"... but maybe you don't set SIDs on OpenVMS in the same way as we do on Linux/Unix. Fair enough.
> But I don't know how to specify local_listener=XXXX correctly.
> Can you provide with the exact syntax for both the parameter and the
> tnsnames.ora entry? I like the idea of keeping this as simple as possible.
> I already tried a couple' things but it didn't parse ok.
OK, imagine (actually, don't bother imagining, this one's for real) I have a tnsnames.ora which reads:
LX10 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = opal.dizwell.local)(PORT=1521))
)
(CONNECT_DATA =
(SERVICE_NAME = lx10.dizwell.local)
)
)
So I can do 'connect scott/tiger_at_lx10' and get piped through to the listener on server OPAL, and then ask for a connection to the lx10.dizwell.local service.
Well, your dispatcher needs to do exactly the same thing, though it can stop once it's reached the Listener.
So local_listener would be set as:
local_listener=lx10
The instance at startup then resolves that to get to the sudden realisation 'Oh you mean the Listener on machine OPAL', and bingo! it knows how to register itself. The dispatcher by default uses exactly the same setting to do the same thing. So the parameter just takes a tnsnames alias. If you can connect via the alias using a client-side version of the file, the instance and dispatchers should be able to do so using a server-side copy of it.
> And I have now MTS_DISPATCHERS down to
> mts_dispatchers = "(PROTOCOL=TCP)(HOST=HELIOS)(SERVICE=ZZZRCS.WORLD)"
> I took off the port as you suggested. Is this the shortest it can be now
> (in regards to the modification you suggest for the local_listener
> parameter) ?
No. It should just be:
MTS_DISPATCHERS="(PROTOCOL=TCP)(DISPATCHERS=4)" (Or whatever number you need of them).
The host name is usually not needed, because a dispatcher will seek to register itself with whatever listener is running on its own host. Only if you are seeking to register dispatchers with a remote listener (think RAC or, for you with 8i, OPS) do you start having to muck around with that.
The service parameter is only needed if you are requesting that the dispatchers register with a service name that is different from the service name that the instance as a whole is registering itself as, given that the SERVICE_NAMES parameter sets the registration service name for the instance *and* all its components unless otherwise specified. (And SERVICE_NAMES itself doesn't actually need to be set explicitly, since it defaults to whatever DB_NAME.DB_DOMAIN is equal to).
Again, it comes down to simplicity. What you want is to be able to connect to one service in two different ways, I think -dedicated and shared connections. That is handled entirely in the client-side tnsnames.ora, and requires no special configuration for the listener, the instance or the dispatchers. Your init.ora should therefore (ideally) be totally silent on the question of SERVICE_NAMES, and the dispatchers should likewise be silent on the business of which service they want to appear to be a part of. If you let the back end just to default to these sorts of values, it will just work. Usually :-)
>
> Thanks again. Your help is much appreciated.
>
No problems. Come back for more if problems persist.
Regards
HJR
Received on Tue Oct 26 2004 - 09:11:54 CDT
![]() |
![]() |