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: MTS not workin ??

Re: MTS not workin ??

From: quarkman <quarkman_at_myrealbox.com>
Date: Tue, 19 Aug 2003 07:20:10 +1000
Message-ID: <oprt4djwoozkogxn@haydn>


On 18 Aug 2003 14:10:45 -0700, Ibrahim DOGAN <ibrahim.dogan_at_lowes.com> wrote:

> I configured the MTS by changing the following init.ora params:
>
> NAME NEW VALUE VALUE
> ======== ================== mts_dispatchers
> (PROTOCOL=TCP)(DISPATCHERS=3)(CONNECTIONS=100) (LISTENER=
> (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (PORT=1521) (HOST=testhost))))
> mts_servers 5
> mts_max_servers 10
> mts_max_dispatchers 10
> mts_sessions 33
> mts_circuits 38
> mts_service PRACTICE
>
> Server starts up fine and i see ora_s00x_PRACTICE processes but i
> can't get a shared connection in v$sessions no matter what i do..
> when i connect to server, the connections show up as 'dedicated' in
> v$session.server column...
>
> when i add 'SERVER=SHARED' to tnsnames.ora of client box and try to
> connect, it gives error like 'server type not found'...
>
> so it seems oracle is still cofigured as dedicated server..
>
> where do i go wrong?
>
> thanks in advance
> i.d.

A version would be nice (I'm guessing 8i) and an O/S.

First, get rid of the spurious extras. You only need to set mts_dispatchers and mts_servers. The other stuff is optional. In particular, "mts_service" I suspect is stuffing you up. That's the name the dispatchers register themselves with the listener, er, with. It's not needed, because without it, they'll simply register themselves with the service name of the entire instance. The others are not needed to get the thing working, either. They merely put limits on how much work the dispatchers and the servers and the instance can perform. So get rid of them.

All you should have is:

 mts_dispatchers=(PROTOCOL=TCP)(DISPATCHERS=3)  mts_servers=5

You don't need a 'listener' parameter in the setting for dispatchers, because quite evidently, your listener runs tcp/ip on port 1521, and those are the defaults, and therefore the dispatchers will register themselves with that in any case. You only need all that other guff if your listener is not running tcp/ip, not on port 1521, or isn't called "listener".

With that tidied up (and don't forget to bounce your instance), you need to make sure that the listener has recived registration details from the dispatchers:

lsnrctl services

... you should see an entry for each dispatcher (D000...D001 and so on). If you can't see the dispatchers listed in the listener's services output, the thing is never going to work.

Next, make sure that in your tnsnames.ora you are requesting a connection to SERVICE=xxx, and not SID=xxx. Get rid of that stuff about server=shared. If you get MTS working, then you'll get shared server connections without specifying. Setting it, however, means (as you've discovered) that if a shared server connection cannot be established, then no connection at all will be established. Without it, you'll get a shared server connection if one's available, or a dedicated connection if one isn't. Not setting it is thus more flexible than setting it.

Once you've got it all working, then is the time to start tuning the thing by fiddling with the mts_session, mts_circuits and other parameters.

Regards
HJR Received on Mon Aug 18 2003 - 16:20:10 CDT

Original text of this message

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