Can I remove the IPC entries in the listener.ora?
DBAsupport.com Forums - Powered by vBulletin
Results 1 to 4 of 4

Thread: Can I remove the IPC entries in the listener.ora?

  1. #1
    Join Date
    Apr 2001
    Location
    Congleton
    Posts
    258

    Can I remove the IPC entries in the listener.ora?

    The clients connect via sqlnet to a remote database server, but we have 2 entries for IPC connections in the listener.ora:
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = oracle.world))
    )
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = ORCL))

    We also have automatic_ipc=off in the sqlnet.ora on the server and on all the client's. Can I remove the IPC entries in the listener.ora? Or should I set up IPC for any local connections (if any)?

  2. #2
    Join Date
    Nov 2002
    Location
    Geneva Switzerland
    Posts
    3,142
    According to the doc, automatic_ipc does nothing from 8.0 onwards.

    IPC is only relevent if you have a client process on the server - e.g. an application server running on the same box as the rdbms server and making requests to it. In this case IPC should be more efficient than TCP (fewer layers in the OSI stack).

    You should check the tnsnames.ora on the server to see if any services use the IPC protocol - e.g.
    Code:
    HOST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(Key = V2IPC))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = HST2.WORLD)
        )
      )
    If not, you should be able to delete the listener entries (keep a copy of the file before the change ! ! ! !)

  3. #3
    Join Date
    Mar 2004
    Location
    IA USA
    Posts
    257
    from:
    http://searchoracle.techtarget.com/o...940662,00.html
    There is a good explaination.

    When a process is on the same machine as the server, use the IPC protocol for connectivity instead of TCP. Inner Process Communication on the same machine does not have the overhead of packet building and deciphering that TCP has. I've seen a SQL job that runs in 10 minutes using TCP on a local machine run as fast as one minute using an IPC connection. The difference in time is most dramatic when the Oracle process has to send and/or receive large amounts of data to and from the database. For example, a SQL*Plus connection that counts the number of rows of some tables will run about the same amount of time, whether the database connection is made via IPC or TCP. But if the SQL*Plus connection spools much data to a file, the IPC connection will often be much faster -- depending on the data transmitted and the machine workload on the TCP stack.

    You can set up your tnsnames file like this on a local machine so that local connection with use IPC connections first and then TCP connection second.

    PROD =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(Key = IPCKEY))
    (ADDRESS = (PROTOCOL = TCP)(HOST = MYHOST)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SID = PROD)
    )
    )

    To see if the connections are being made via IPC or TCP, turn on listener logging and review the listener log file.

  4. #4
    Join Date
    Nov 2002
    Location
    Geneva Switzerland
    Posts
    3,142
    Well, I suppose that defining two protocols protects you from some "idiot" deleting IPC from the listener ( JOKING!).

    In real life I would expect that TCP would not work if IPC was failing somehow (more layers) - though I could imagine IPC being OK while TCP was failing (messed up hosts file, dead DNS, corrupt routing table). Anyone with any better idea?

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