Results 1 to 4 of 4
  1. #1
    Join Date
    Oct 2003
    Location
    DUBLIN
    Posts
    2

    Unanswered: ORACLE 9i RAC and COM+

    I have an application that uses COM+ to access a 9i RAC database.
    When I try to run the application I get a distributed lock error message which can only be cleared using force commit.

    Oracle say this is because COM+ is splitting the transaction into a "prepare" and "commit" and that the prepare is going to one node of the RAC database and the commit going to the other.

    Does anybodyelse have experience of this behaviour?

  2. #2
    Join Date
    Mar 2002
    Location
    Reading, UK
    Posts
    1,137
    If you are not doing load balancing then what you can do is only use one node, but if that node fails then switchover to the other node.
    Use TAF to do automated failover of connections using the tnansames.ora

    see for more info
    http://www.dba-oracle.com/art_oramag_rac_taf.htm

    or the oracle RAC manuals on TAF.

    Alan

  3. #3
    Join Date
    Oct 2003
    Location
    DUBLIN
    Posts
    2
    Yes - we are running on one node to get round the problem however this means

    a. I've got one node doing nothing
    b. I will have to manually failover if node1 fails.

    I've switched off load_balancing etc - the tnsnames entry is

    FMNP.VODAFONE.IE =
    (DESCRIPTION =
    (ADDRESS_LIST =
    # (ADDRESS = (PROTOCOL = TCP)(HOST = selhurstpk)(PORT = 1521))
    # (ADDRESS = (PROTOCOL = TCP)(HOST = bescotst)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = withdean)(PORT = 1522)))
    (CONNECT_DATA =
    (SERVICE_NAME = fnmp.vodafone.ie)
    )
    )

    where withdean is the cluster alias - the other commented out entries are the other node names.

  4. #4
    Join Date
    Mar 2002
    Location
    Reading, UK
    Posts
    1,137
    Look at the link I provided as it shows how to setup the tnsnames.ora so that it always goes to one node but failsover only if the first node fails.

    To do load balancing there are a few ways of doing it

    1) Do it by application i.e. if you have multiple apps then do it so that say OLTP users always go to one node, but the reporting app goes to the other node.

    2) If you have multiple app servers arrange it so that half the servers go to one node and the other half go to the other node (if you have 2 database nodes)

    Alan

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •