Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Need help on MTS configuration

Re: Need help on MTS configuration

From: Syltrem <syltremzulu_at_videotron.ca>
Date: Tue, 26 Oct 2004 09:21:06 -0400
Message-ID: <V9sfd.198$dq4.10774@tor-nn1.netcom.ca>

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.
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).

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.

You say:
> > mts_dispatchers =
> > "(PROTOCOL=TCP)(HOST=MYVMS)(PORT=1526)(SERVICE=MTS_ZZZRCS)"
> Why is your listener running on a non-default port? I seem to recall 1526
> was the old version 7 listener default address! Anyway, get rid of the
port
> here. Simply set local_listener=XXXX, where XXXX is a tnsnames alias that
> resolves to port 1526, stored on the server's own O_H/network/admin
> directory.
>

I use a non standard port because I have to test on the same box as production, so I use a completely different listener to play with just to be on the safe side.
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.

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) ?

Thanks again. Your help is much appreciated.

-- 
Syltrem

OpenVMS 7.3-1 + Oracle 8.1.7.4
http://pages.infinit.net/syltrem (OpenVMS related web site, en français)
---zulu is not in my email address---
"Howard J. Rogers" <hjr_at_dizwell.com> a écrit dans le message de
news:41796abf$0$20128$afc38c87_at_news.optusnet.com.au...

> Syltrem wrote:
>
> > Hi
> >
> > Oracle 8174 on Alpha OpenVMS 7.2-1
> >
> > I'm working on the configuration of MTS (multithreaded / shared server).
> > I was able to get it to work rather quickly yesterday, but I had a
problem
> > with clients connecting through CMAN. The dispatcher would just froze
> > (don`t ask me why but that`s the way it was) and the db had to be
bounced.
> > Any client already connmected to a shared server would freeze as soon as
a
> > client connecting through CMAN, tried to connect to the shared server.
> >
> > Anyway...
> >
> > I looked in the documentation some more and found that some of the
> > parameters (namely mts_service and mts_listener_address) I was using
were
> > deprecated in 817, so I tried changing the config to use the new
> > parameters
>
> You only need two parameters to make MTS work: MTS_SERVERS and
> MTS_DISPATCHERS. Everything else should just work, provided the database
> was created properly in the first place.
>
> >
> > I ended up with this (in INIT.ORA):
> > db_name = "ZZZRCS"
> > instance_name = ZZZRCS
>
> Don't need to set that. It should pick up ORACLE_SID, and that will
> determine the instance name under which it registers with the Listener.
>
> > mts_dispatchers =
> > "(PROTOCOL=TCP)(HOST=MYVMS)(PORT=1526)(SERVICE=MTS_ZZZRCS)"
>
> Why is your listener running on a non-default port? I seem to recall 1526
> was the old version 7 listener default address! Anyway, get rid of the
port
> here. Simply set local_listener=XXXX, where XXXX is a tnsnames alias that
> resolves to port 1526, stored on the server's own O_H/network/admin
> directory.
>
> > mts_max_dispatchers = 3
> > mts_servers = 4
> > db_domain = world
>
> Oh dear. Right, the database *wasn't* created properly in the first place.
A
> database should always be given a proper domain extension at creation
time,
> because it makes these sorts of exercises so much easier. Live with it for
> now. But get into the habit of inventing domain names at database creation
> time in the future if no real domain name is to hand, (for example
> ".local").
>
> > service_names = ZZZRCS, MTS_ZZZRCS
>
> No. One service name. Otherwise this gets very messy. I know what you
write
> below about desiring two service names, but don't go there via this route.
>
> > local_listener = "(ADDRESS=(PROTOCOL=TCP)(HOST=MYVMS)(PORT=1526))"
>
> Yuk. You'll find it easier to manage in the long run if you put a tnsnames
> alias in here that maps to this sort of information as contained in a
> server-side tnsnames.ora. But given this line, you definitely don't need
> the port number in your dispatchers setting.
>
> > Upon starting the db, it registers with the listener (or so it
appears,see
> > below) but I can't connect to any of the services defined in parameters
> > service_names or mts_dispatcher.
>
> Not surprisingly. Read the lsnrctl output again:
>
> Service "MTS_ZZZRCS.world" has 1 instances.
> Instance "ZZZRCS"
> Status: READY Total handlers: 2 Relevant handlers: 2
>
> Note the name of that *service*. MTS_ZZZRCS.WORLD. Now look at your
> tnsnames:
>
> MTS_ZZZRCS.WORLD =
> [snip]
> (CONNECT_DATA =
> (SERVICE_NAME = MTS_ZZZRCS)
> (SERVER = SHARED)
>
> You are attempting to connect to a world-less service name. Never mind
that
> you've tacked .world onto the end of the *alias*. That is irrelevant. What
> does that alias get thunked down to? A connection to a
> service_name=MTS_ZZRCS. No .world. No connection, because a service of
that
> name doesn't exist.
>
> > The listener sure sees something (see below) but it won`t let me
connect.
> >
> > I tried defining the ZZZRCS service in LISTENER.ORA and reload the
> > listener, and that allowed me to connect. So I don`t understand the part
> > about "database will autoregister to the listener" if I need to manually
> > enter everything in LISTENER.ORA.
>
> You don't need to manually enter anything in the listener.ora. You just
need
> to request a connection to something the listener is actually aware of.
> Reading the output from lsnrctl services carefully is important.
>
> You *will* need to manually enter a SID_LIST in the listener.ora if you
want
> to administer this thing via Enterprise Manager (and hence use an
> intelligent agent). But it is not required for simple client-server
> connections, provided you connect accurately.
>
> > That`s for one.
> >
> > Now I want the MTS_ZZZRCS service to connect me through a SHARED server.
> > It won`t let me do that because:
> > 1) the registration with the listener does not really seem to work right
> > (same problem as with service ZZZRCS)
>
> It has nothing to do with the registration process. It has everything to
do
> with your connection information...
>
> > Message when attempting to connect to service ZZZRCS: "ORA-12514:
> > TNS:listener could not resolve SERVICE_NAME given in connect descriptor"
>
> .... as, in fact, the error message makes abundantly clear!
>
> > 2) even If I add the info in the listener it will think it`s for
dedicated
> > server connections
> > Message when attempting to connect to service MTS_ZZZRCS: "ORA-12520:
> > TNS:listener could not find available handler for requested type of
> > server"
> >
> > So this new config with the "new" parameters is even worse as it does
not
> > work at all.
>
> Stop blaming the registration process, the parameters, the listener or
> whatever else. It's you. It's your tnsnames.ora. It isn't correct, and it
> needs fixing.
>
> > I'd like to have 2 services for this db, one that connects to a
dedicated
> > server, one that connects to a shared server.
>
> No, you don't. You have one service (ie, one instance). What you want is
to
> be able to connect to it in two different ways. Fine then: create a
> tnsnames.ora that has within it two aliases, both requesting connection to
> the same ZZZRCS.WORLD service (and that, therefore, should be the sole
> value for the service_names parameter in your init.ora).
>
> For one of those aliases, you add one line: SERVER=DEDICATED. For the
other,
> you can leave that line out: if you are silent on the nature of the
> connection you want, and there are dispatchers available, you will get a
> shared connection. It is usually considered a bit restrictive to
explicitly
> state SERVER=SHARED, because in that case, if no dispatchers are
available,
> you simply won't be able to connect at all -which might be want you want,
> but quite often people would like their clients at least to be able to
> connect, even if it is with the "wrong" server type.
>
> In other words, don't confuse what it is that you are connecting to with
the
> way you want to connect to it.
>
> For the rest, tidy it up. Simplify it. And read output from commands
> carefully.
>
> Regards
> HJR
>
>
>
> > And be able to connect
> > clients to the shared server (service MTS_ZZZRCS) even if they connect
> > through CMAN (because those are the ones I mainly want to use the shared
> > servers == web site users).
> >
> > I hope someone can help me sort this all out !
> >
> > Thanks
> > Syltrem
> > -------------
> >
> > LSNRCTL command output:
> > -------------------------------
> > Connecting to (ADDRESS=(PROTOCOL=TCP)(HOST=MYVMS)(PORT=1526))
> > Services Summary...
> > Service "MTS_ZZZRCS.world" has 1 instances.
> > Instance "ZZZRCS"
> > Status: READY Total handlers: 2 Relevant handlers: 2
> > Class: ORACLE
> > DEDICATED established:0 refused:0 current:0 max:0 state:ready
> >
> > (ADDRESS=(PROTOCOL=BEQ)(PROGRAM=IVA$EXE_ALPHA:[ORACLE8174.NETWORK.ADMIN]
> >
ORASRV_NETV2_ZZZRCS.COM)(ARGV0=oracleZZZRCS)(ARGS='(DESCRIPTION=(LOCAL=no
> (A
> > DDRE
> > SS=(PROTOCOL=BEQ)))'))
> > Session: NS
> > D000 established:0 refused:0 current:0 max:1022 state:ready
> > (ADDRESS=(PROTOCOL=tcp)(HOST=MYVMS)(PORT=4060))
> > Session: NS
> > Service "ZZZRCS.world" has 1 instances.
> > Instance "ZZZRCS"
> > Status: READY Total handlers: 2 Relevant handlers: 1
> > Class: ORACLE
> > DEDICATED established:0 refused:0 current:0 max:0 state:ready
> >
> > (ADDRESS=(PROTOCOL=BEQ)(PROGRAM=IVA$EXE_ALPHA:[ORACLE8174.NETWORK.ADMIN]
> >
ORASRV_NETV2_ZZZRCS.COM)(ARGV0=oracleZZZRCS)(ARGS='(DESCRIPTION=(LOCAL=no
> (A
> > DDRE
> > SS=(PROTOCOL=BEQ)))'))
> > Session: NS
> >
> > TNSNAMES.ORA
> > --------------------
> > ZZZRCS.WORLD =
> > (DESCRIPTION =
> > (ADDRESS_LIST =
> > (ADDRESS = (PROTOCOL = TCP)(HOST = MYVMS)(PORT = 1526))
> > )
> > (CONNECT_DATA =
> > (SERVICE_NAME = ZZZRCS)
> > (SERVER = DEDICATED)
> > )
> > )
> >
> > MTS_ZZZRCS.WORLD =
> > (DESCRIPTION =
> > (ADDRESS_LIST =
> > (ADDRESS = (PROTOCOL = TCP)(HOST = MYVMS)(PORT = 1526))
> > )
> > (CONNECT_DATA =
> > (SERVICE_NAME = MTS_ZZZRCS)
> > (SERVER = SHARED)
> > )
> > )
> >
>
Received on Tue Oct 26 2004 - 08:21:06 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US