One listener with multiple Oracle homes
DBAsupport.com Forums - Powered by vBulletin
Results 1 to 2 of 2

Thread: One listener with multiple Oracle homes

  1. #1
    Join Date
    May 2000
    Posts
    50
    Hi,

    Is it possible to have one listener and multiple db's with multiple oracle homes but all of them listening on Port 1521. Here's the case - I have a sun box with multiple SAP oracle dbs and multiple non-SAP oracle dbs. All non-SAP dbs share a single oracle home but EACH of the SAP db has their own oracle home. Currently only one listener.ora file from nonSAP oracle home runs with multiple listeners on different ports. So again, my question is - Can I consolidate all these multiple listeners to one listener and have all of them listening on Port 1521.

    Here is the current listener.ora file for better understanding.
    # LISTENER.ORA Network Configuration File: /db00/Ora817/network/admin/listener.ora
    # Generated by Oracle configuration tools.

    SID_LIST_LISTENER_R3P =
    (SID_LIST =
    (SID_DESC =
    (SDU = 32768)
    (SID_NAME = R3P)
    (ORACLE_HOME = /oracle/R3P/816_32)
    )
    )

    SID_LIST_LISTENER_EBZ =
    (SID_LIST =
    (SID_DESC =
    (SDU = 32768)
    (SID_NAME = EBZ)
    (ORACLE_HOME = /oracle/EBZ/817_64)
    )
    )

    SID_LIST_LISTENER_2 =
    (SID_LIST =
    (SID_DESC =
    (SDU = 32768)
    (SID_NAME = OMT)
    (ORACLE_HOME = /oracle/OMT/817_64)
    )
    (SID_DESC =
    (SDU = 32768)
    (SID_NAME = EBT)
    (ORACLE_HOME = /oracle/EBT/816_64)
    )
    (SID_DESC =
    (SDU = 32768)
    (SID_NAME = BWT)
    (ORACLE_HOME = /oracle/BWT/817_64)
    )
    )

    SID_LIST_LISTENER_1 =
    (SID_LIST =
    (SID_DESC =
    (SDU = 32768)
    (SID_NAME = R3T)
    (ORACLE_HOME = /db00/Ora8i)
    )
    )

    SID_LIST_LISTENER_CORIO =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = BWSTP-CORIO)
    (SID_NAME = BWSTP)
    (ORACLE_HOME = /db00/Ora817)
    )
    )


    TRACE_LEVEL_LISTENER_R3P = OFF

    TRACE_LEVEL_LISTENER_EBZ = OFF

    TRACE_LEVEL_LISTENER_2 = OFF

    TRACE_LEVEL_LISTENER_1 = OFF

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = olympic)(PORT = 1521))
    )
    )
    (DESCRIPTION =
    (PROTOCOL_STACK =
    (PRESENTATION = GIOP)
    (SESSION = RAW)
    )
    (ADDRESS = (PROTOCOL = TCP)(HOST = olympic)(PORT = 2481))
    )
    )

    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /db00/Ora817)
    (PROGRAM = extproc)
    )
    (SID_DESC =
    (GLOBAL_HOME = archive)
    (ORACLE_HOME = /db00/Ora817)
    (SID_NAME = archive)
    )
    (SID_DESC =
    (GLOBAL_NAME = b2bentrt)
    (ORACLE_HOME = /db00/Ora817)
    (SID_NAME = b2bentrt)
    )
    (SID_DESC =
    (GLOBAL_NAME = b2btnt)
    (ORACLE_HOME = /db00/Ora817)
    (SID_NAME = b2btnt)
    )
    (SID_DESC =
    (GLOBAL_NAME = orcl)
    (ORACLE_HOME = /db00/Ora817)
    (SID_NAME = orcl)
    )
    (SID_DESC =
    (GLOBAL_NAME = ple4bm)
    (ORACLE_HOME = /db00/Ora817)
    (SID_NAME = ple4bm)
    )
    (SID_DESC =
    (GLOBAL_NAME = ple4ppr)
    (ORACLE_HOME = /db00/Ora817)
    (SID_NAME = ple4ppr)
    )
    (SID_DESC =
    (GLOBAL_NAME = rtpp)
    (ORACLE_HOME = /db00/Ora817)
    (SID_NAME = rtpp)
    )
    (SID_DESC =
    (GLOBAL_NAME = tidv)
    (ORACLE_HOME = /db00/Ora817)
    (SID_NAME = tidv)
    )
    (SID_DESC =
    (GLOBAL_DBNAME = bwstp)
    (ORACLE_HOME = /db00/Ora817)
    (SID_NAME = bwstp)
    )
    )

    ############################################

    ##############################################################################
    # BWSTP Listener for Corio
    #############################################################################

    LISTENER_CORIO =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = olympic)(PORT = 5521))
    )
    )
    )




    ###############################################################################
    # SAP
    #
    ################################################################################

    LISTENER_R3P =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL=IPC)(KEY= R3P.WORLD))
    (ADDRESS = (PROTOCOL=IPC)(KEY= R3P))
    (ADDRESS = (COMMUNITY = SAP.WORLD)(PROTOCOL = TCP)(HOST = olympic)(PORT = 1530))
    )

    LISTENER_EBZ =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL=IPC)(KEY= EBZ.WORLD))
    (ADDRESS = (PROTOCOL=IPC)(KEY= EBZ))
    (ADDRESS = (COMMUNITY = SAP.WORLD)(PROTOCOL = TCP)(HOST = olympic)(PORT = 1529))
    )

    LISTENER_2 =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = OMT.WORLD))
    (ADDRESS = (PROTOCOL = IPC)(KEY = OMT))
    (ADDRESS = (PROTOCOL = IPC)(KEY = EBT.WORLD))
    (ADDRESS = (PROTOCOL = IPC)(KEY = EBT))
    (ADDRESS = (PROTOCOL = IPC)(KEY = BWT.WORLD))
    (ADDRESS = (PROTOCOL = IPC)(KEY = BWT))
    (ADDRESS = (COMMUNITY = SAP.WORLD)(PROTOCOL = TCP)(HOST = olympic)(PORT = 1528))
    )

    LISTENER_1 =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = R3T.WORLD))
    (ADDRESS = (PROTOCOL = IPC)(KEY = R3T))
    (ADDRESS = (COMMUNITY = SAP.WORLD)(PROTOCOL = TCP)(HOST = olympic)(PORT = 1527))
    )

    STARTUP_WAIT_TIME_LISTENER_R3P = 0

    STARTUP_WAIT_TIME_LISTENER_EBZ = 0

    STARTUP_WAIT_TIME_LISTENER_2 = 0

    STARTUP_WAIT_TIME_LISTENER_1 = 0

    CONNECT_TIMEOUT_LISTENER_R3P = 10

    CONNECT_TIMEOUT_LISTENER_EBZ = 10

    CONNECT_TIMEOUT_LISTENER_2 = 10

    CONNECT_TIMEOUT_LISTENER_1 = 10

    CONNECT_TIMEOUT_LISTENER_CORIO = 10

    STARTUP_WAIT_TIME_LISTENER_CORIO = 0

  2. #2
    Join Date
    Sep 2001
    Location
    NJ, USA
    Posts
    1,287
    Yes it's possible if u use dynamic instance registration:

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = olympic)(PORT = 1521))
    )
    )
    (DESCRIPTION =
    (PROTOCOL_STACK =
    (PRESENTATION = GIOP)
    (SESSION = RAW)
    )
    (ADDRESS = (PROTOCOL = TCP)(HOST = olympic)(PORT = 2481))
    )
    )

    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /db00/Ora817)
    (PROGRAM = extproc)
    )
    )

    see more information in otn:
    http://otn.oracle.com/docs/products/...ner.htm#475293

    Clients that are to use dynamically registered service handlers should use connect descriptors that contain a SERVICE_NAME parameter value that is different from the GLOBAL_DBNAME parameter value specified in the listener.ora. This service name has to be configured in the initialization parameter file with the SERVICE_NAMES parameter. Once the database is started, the service name is dynamically registered with the listener and the clients can connect to the database.

    For an environment with pre-release 8.1 clients, an analogous modification needs to be done for INSTANCE_NAME parameter in the initialization parameter file. It has to be set to a value different from SID_NAME specified in the listener.ora file. The INSTANCE_NAME parameter value dynamically registers with the listener along with the SERVICE_NAMES parameter value and service handler information. The fact that this INSTANCE_NAME parameter value is different from the SID_NAME parameter value in the listener.ora file ensures that the clients that use connect descriptors containing SID (and matching the SID_NAME value) are redirected to a prespawned dedicated server.



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