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 -> Parallel Server and Microsoft Transaction Server

Parallel Server and Microsoft Transaction Server

From: Billy Shields <random_at_opera.iinet.net.au>
Date: 23 Feb 2000 07:17:35 GMT
Message-ID: <38b3898f$0$28862@motown.iinet.net.au>


I have read all the documentation that pertains to accessing Oracle databases via Microsoft Transaction Server (specifically enlisting transaction in distributed transactions coordinated by the MS DTC).

The documentation is quite clear on what needs to be done: you need an instance of Oracle Services for MTS per database instance.

Now there are two things the documentation doesn't answer:

  1. That service is shared amongst all transaction servers (and the Net8 clients on them). How do individual transactions servers identify what Oracle service for MTS to use?

For example, consider the following tnsnames.ora configurations:

MTS server 1:

DB1 =
  (DESCRIPTION =
(ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = 192.168.1.1))     )
(CONNECT_DATA =

      (SERVICE_NAME = mydb)
    )
  )

Lets assume that Oracle Services for MTS is set up on this transaction server for the Net8 service DB1.

Now if MTS Server 2 has the same Net8 configuration then I would expect it to pick up the Oracle Service for MTS running on MTS Server 1 (my testing has confirmed that this is exactly what happens).

But I would like to know how the transaction servers identify the database (and consequently which Oracle Service for MTS to use)?

Lets say MTS Server 2 had the following tnsnames.ora file:

WEIRDNAME =
  (DESCRIPTION =
(ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = 192.168.1.1))     )
(CONNECT_DATA =

      (SERVICE_NAME = mydb)
    )
  )

Would it still pick it up? What if the database had another IP address (eg 208.50.21.1) and that was used in the Net8 connect string. Would it still use the Oracle Service for MTS installed on MTS Server 1 for Net8 service DB1?

I basically need to know how exactly the identification process works.

2. How do you set up Oracle Services for MTS in a Parallel Server environment? This is the major question I need answered and the one that doesn't seem to be covered by any of the available 8.1.5 documentation.

Consider a cluster with two nodes. Each node runs an instance for the same database.

According to the documentation for Oracle Services for MTS you need one service per database instance. In this case is this treated as one instance or two?

Technically speaking there are two instances so I would assume you need two. In fact it would be preferable if you needed two because otherwise you'd have a single point of failure (if the machine running Oracle Services for MTS goes down you'd less DTC transactional capability). Ideally I'd like to put a service on two different machines and thus if either is running the application code (OCI) can be made clever enough to use the other whatever node currently has transactional capability available to it.

This was in fact how I tried to setup this environment but you cannot start the second Oracle Service for MTS. I'm assuming it looks at the contents of the mts_proxy_info table and determines this instance already has a service running for it but thats not the case.

I want to hear a definitive answer of how to use this product (Oracle Service for MTS) in an OPS environment.

Regards
Billy Shields Received on Wed Feb 23 2000 - 01:17:35 CST

Original text of this message

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