Multiple IP in TNS Listener
DBAsupport.com Forums - Powered by vBulletin
Results 1 to 8 of 8

Thread: Multiple IP in TNS Listener

  1. #1
    Join Date
    Dec 2002
    Location
    Chennai, India
    Posts
    104

    Multiple IP in TNS Listener

    Hello Guys,

    I have a problem with Oracle 9i on W2k. I have three database instances running but when active LAN ( same ip specified in TNSNAMES.ORA) is down Listener won't start up again and won't be able to run one of my application. This is not the case in NT. In NT the same application which requires this TNS Listener service is running even though the network is down(Or Listener is still running).
    Could any one suggest me a solution fo this.
    Also I would like to know whether possible to add 3 or 4 listeners with different IP( bcoz I know one of the IP should be active ) so that my three instances have to use the Listener which has the active IP. How can I implement this.

  2. #2
    Join Date
    Nov 2002
    Location
    New Delhi, INDIA
    Posts
    1,796
    Explain a little bit more...
    Amar
    "There is a difference between knowing the path and walking the path."

    Amar's Blog  Get Firefox!

  3. #3
    Join Date
    Dec 2002
    Location
    Chennai, India
    Posts
    104
    1) There are 3 SID used for my database.

    2) In NT we can run our application that require TNS Listener even when the IP specified in the TNSNAMES.ORA is not active. But in W2k listener failed to start when the specified IP is not available and there by my application is exiting.

    3) Because of the above problem I am planning for the following solution.
    (a)I have 4 NIC'S in my server and I have 1 different IP address on each NIC and any one of them is active.

    How can I implemet multiple listeners so that this won't fail in case any of the network ip is down and my three instances should be running irrespective of the Listener.

  4. #4
    Join Date
    Nov 2002
    Location
    New Delhi, INDIA
    Posts
    1,796
    You can use three different listeners with three different port for each of them.

    something like...

    listener.ora
    Code:
    LISTENER1 =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = first_ip_address)(PORT = 1540))
          )
        )
      )
    
    SID_LIST_LISTENER1 =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = DB1.WORLD)
          (ORACLE_HOME = D:\Oracle\Ora92)
          (SID_NAME = DB1)
        )
      )
    
    LISTENER2 =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = second_ip_address)(PORT = 1541))
          )
        )
      )
    
    SID_LIST_LISTENER2 =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = DB2.WORLD)
          (ORACLE_HOME = D:\Oracle\Ora92)
          (SID_NAME = DB2)
        )
      )
    
    LISTENER3 =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = third_ip_address)(PORT = 1542))
          )
        )
      )
    
    SID_LIST_LISTENER3 =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = DB3.WORLD)
          (ORACLE_HOME = D:\Oracle\Ora92)
          (SID_NAME = DB3)
        )
      )
    But remember you need to take care with your tnsnames.ora


    For more on how to setup listener and tnsnames refer to the Oracle network administrators Guide at tahiti.oracle.com

    HTH
    Last edited by adewri; 07-14-2003 at 10:00 AM.
    Amar
    "There is a difference between knowing the path and walking the path."

    Amar's Blog  Get Firefox!

  5. #5
    Join Date
    Dec 2002
    Location
    Chennai, India
    Posts
    104
    Hi,
    Out ot 3 instances i have included the TNSNAMES.ORA for one of the service(ACC). Could u pls tell me how to modify this entry so as to work this instance in any one of the 4 Ips(192.168.26.10/11/12 and 13).Can I use more ADDRESS parameters here?

    ACC.World =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.26.10)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = ACC)
    )
    )

  6. #6
    Join Date
    Dec 2002
    Location
    Bangalore ( India )
    Posts
    2,434
    Use diff alias names ( TNS Name ).

    Code:
    1)
    ACC1.World =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IP1)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = ACC)
    )
    )
    
    2)
    ACC2.World =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IP2)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = ACC)
    )
    )
    Abhay.
    funky...

    "I Dont Want To Follow A Path, I would Rather Go Where There Is No Path And Leave A Trail."

    "Ego is the worst thing many have, try to overcome it & you will be the best, if not good, person on this earth"

  7. #7
    Join Date
    Dec 2002
    Location
    Chennai, India
    Posts
    104
    Thank you, I will try this and let you know.

  8. #8
    Join Date
    Dec 2002
    Location
    Chennai, India
    Posts
    104
    but the problem is my application is still crashing when removing the first listener IP and second listener is not taken care here even the same service has been configured for all listeners

Posting Permissions

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


Click Here to Expand Forum to Full Width