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 -> Re: 8.1.5: setup Net8 for IPC and TCP, puzzling

Re: 8.1.5: setup Net8 for IPC and TCP, puzzling

From: <chrisoc_at_ans.net>
Date: Tue, 26 Oct 1999 14:28:19 GMT
Message-ID: <7v4dpv$2lf$1@nnrp1.deja.com>


Your reply gave me a way to force all connections from the same box as the Oracle server is on, to use IPC. That is not what I was asking for. That is why I came back to the newsgroup with a differently-worded question.

I am seeking a way to have a choice of TCP or IPC when I use SQL*Plus on the same box. Once automatic_ipc is turned on, I lose that choice, and the only way to get TCP is from a remote connection. If I could discriminate
the protocol by use of an alias when I invoke SQL*Plus from the command line, then I would have a stable environment with two ways of connecting locally to the same database.

So again I ask whether it is possible without swapping out config files and restarting the listener. If I can get it to work, I want to show

  1. use of Java thin vs. thick drivers
  2. how much overhead TCP adds to communication vs. IPC

without any other intervening variables like network connections, transit time etc. which could color the results.

Some of the docs tell you that at 8.1.5 you should start the listener before the database. I want to faithfully follow that policy, although I would like a deeper understanding of the reason for it. That means a lot of bouncing the Oracle server that I'd prefer not to do.

I apologize for seeming dense, I sent email to you explaining more details about trying to get the choice without having to leave the physical machine or using listener/tnsnames files in alternation.

Chris O'Connor

In article <940662677.19305.0.pluto.d4ee154e_at_news.demon.nl>,   "Sybrand Bakker" <postmaster_at_sybrandb.nospam.demon.nl> wrote:
> Sorry to say so, but my directions in my previous reply where quite
> precise -works in 99 percent of the cases- but you seem to have
> misunderstood them or at least not followed them all. Anyway, now both
your
> tnsnames.ora and your listener.ora is in error.
> The correct listener.ora is
> LISTENER =
> (DESCRIPTION_LIST =
> (DESCRIPTION =
> (ADDRESS_LIST =
> (ADDRESS = (PROTOCOL = IPC) (KEY = DIALTEST))
> # changed to existing SID, it must be a SID, ie an instance identifier
> (ADDRESS = (PROTOCOL = TCP)(HOST = pebble.bd.ans.net)(PORT =
> 1521))
> )
> )
> )

>

> # put a SID_DESC here for IPC as well as one for TCP
> #NO! the protocol stuff and the sid stuff at the listener sid is
completely
> unrelated.
> #If you define a protocol, automatically any database on that server
should
> be automatically capable of #using it
> #the choice is yours, via tnsnames.ora, with the exception of IPC
> # The first DESC is the TCP one
>

> SID_LIST_LISTENER =
> (SID_LIST =
> (SID_DESC =
> (GLOBAL_DB_NAME = DIALTEST)
> (ORACLE_HOME = /ans2/oracle/u01/app/oracle/product/8.1.5)
> (SID_NAME = DIALTEST )
> )
>

> #This is NOT an existing SID it should be removed
> #> (SID_DESC =
> #> (SID_NAME = DIALIPC)
> #> (GLOBAL_DB_NAME = DIALTEST)
> #> (ORACLE_HOME = /ans2/oracle/u01/app/oracle/product/8.1.5)
> #> )
> )
> You don't need to have references to IPC in tnsnames.ora. Any
connection on
> the server, and on the server ONLY, should be converted to IPC
automatically
> with AUTOMATIC_IPC.
> The tnsping utility ONLY test existence.
> You're most likely getting ORA-1034 now because of the incorrect KEY
in the
> IPC section of your listener.ora.
> I'm sorry if this all sounds a bit annoyed, we were quite close to a
> solution.
>

> Regards,
>

> --
> Sybrand Bakker, Oracle DBA
> <chrisoc_at_ans.net> wrote in message news:7uqd69$bvj$1_at_nnrp1.deja.com...
> >
> >
> > Sorry this is long. I have ideas from Tom Kyte's posts and
> > Sybrand Bakker's, and wonder if maybe I am trying something
> > that is not possible.
> >
> > I'm close to a solution but it still eludes me. I am trying
> > to make two aliases for one database instance (the real
> > SID is DIALTEST). The first alias I want is DIALIPC, for use on
> > the same machine as DIALTEST, to be deployed like this:
> >
> >
> > sqlplus system/manager_at_DIALIPC
> >
> > and another alias, DIALTEST, that will connect over TCP either
> > from the same box or a different one, as follows:
> > sqlplus system/manager_at_DIALTEST
> >
> > I only have one running Oracle database, DIALTEST. If I configure
> > for TCP only, it is connectable from everyplace. I'm
> > trying to control the access protocol by using
> > DIALIPC to make the listener look for IPC, and DIALTEST
> > to make it look for TCP. I'm not running ONAMES and not
> > looking for external procs to work (yet). I want to
> > to control my access protocol by means of which alias I use,
> > from the same machine.
> >
> >
> > I have both aliases TNS-pingable now. But I cannot use them
> > in the sqlplus command to get this control.
> > Furthermore, the lsnrctl status output is not showing the
> > TCP listener so I think I have a problem, there.
> >
> > I should be seeing both TCP and ICP when I start my listener.
> >
> > Here are the files and log snips. What am I doing wrong?
> >
> > I have not set the global_names to True in my initdialtest.ora.
> > It's commented out.
> >
> >
> > --- tnsnames.ora:
> > DIALTEST =
> > (DESCRIPTION =
> > (ADDRESS_LIST =
> > (ADDRESS =
> > (PROTOCOL = TCP ) (HOST = pebble.bd.ans.net ) (Port = 1521 )
> > )
> > )
> > (CONNECT_DATA =
> > (SID = DIALTEST)
> > (GLOBAL_NAME = DIALTEST)
> > )
> > )
> >
> > DIALIPC_CONNECTION_DATA=
> > (DESCRIPTION =
> > (ADDRESS= (PROTOCOL=IPC)(KEY = DIALIPC)
> > )
> > (CONNECT_DATA = (SID=DIALIPC)
> > )
> > )
> >
> > #TRY THIS
> > DIALIPC=
> > (DESCRIPTION =
> > (ADDRESS= (PROTOCOL=IPC)(KEY = DIALIPC)
> > )
> > (CONNECT_DATA = (SID=DIALIPC)
> > (GLOBAL_NAME = DIALIPC)
> > )
> > )
> >
> >
> > --- listener.ora
> >
> > LISTENER =
> > (DESCRIPTION_LIST =
> > (DESCRIPTION =
> > (ADDRESS_LIST =
> > (ADDRESS = (PROTOCOL = IPC) (KEY = DIALIPC))
> > (ADDRESS = (PROTOCOL = TCP)(HOST = pebble.bd.ans.net)(PORT =
> > 1521))
> > )
> > )
> > )
> >
> > # put a SID_DESC here for IPC as well as one for TCP
> > # The first DESC is the TCP one
> >
> > SID_LIST_LISTENER =
> > (SID_LIST =
> > (SID_DESC =
> > (GLOBAL_DB_NAME = DIALTEST)
> > (ORACLE_HOME = /ans2/oracle/u01/app/oracle/product/8.1.5)
> > (SID_NAME = DIALTEST )
> > )
> > (SID_DESC =
> > (SID_NAME = DIALIPC)
> > (GLOBAL_DB_NAME = DIALTEST)
> > (ORACLE_HOME = /ans2/oracle/u01/app/oracle/product/8.1.5)
> > )
> > )
> >
> >
> >
> >
> > -- from the sqlnet.ora file (thanks to Sybrand Bakker)
> > automatic_ipc= ON
> >
> > -- lsnrctl status shows this:
> >
> > LSNRCTL for Solaris: Version 8.1.5.0.0 - Production on 22-OCT-99
> > 18:03:52
> >
> > (c) Copyright 1998 Oracle Corporation. All rights reserved.
> >
> > Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=DIALIPC)))
> > STATUS of the LISTENER
> > ------------------------
> > Alias listener
> > Version TNSLSNR for Solaris: Version 8.1.5.0.0 -
> > Production
> > Start Date 22-OCT-99 16:08:34
> > Uptime 0 days 1 hr. 55 min. 17 sec
> > Trace Level off
> > Security OFF
> > SNMP OFF
> > Listener Parameter File
> > /ans2/oracle/u01/app/oracle/product/8.1.5/network/admin/listener.ora
> > Listener Log File
> > /ans2/oracle/u01/app/oracle/product/8.1.5/network/log/listener.log
> > Services Summary...
> > DIALIPC has 1 service handler(s)
> > DIALTEST has 3 service handler(s)
> >
> >
> >
> > my "env" has these two settings:
> > ORACLE_SID=dialtest
> > ORACLE_HOME=/ans2/oracle/u01/app/oracle/product/8.1.5
> >
> >
> > tnsping shows this:
> > $ tnsping dialtest
> >
> > TNS Ping Utility for Solaris: Version 8.1.5.0.0 - Production on
> > 22-OCT-99 18:06:01
> >
> > (c) Copyright 1997 Oracle Corporation. All rights reserved.
> >
> > Attempting to contact
> > (ADDRESS=(PROTOCOL=TCP)(HOST=pebble.bd.ans.net)(Port=1521))
> > OK (20 msec)
> >
> > $ tnsping dialipc
> >
> > TNS Ping Utility for Solaris: Version 8.1.5.0.0 - Production on
> > 22-OCT-99 18:06:23
> >
> > (c) Copyright 1997 Oracle Corporation. All rights reserved.
> >
> > Attempting to contact (ADDRESS=(PROTOCOL=IPC)(KEY=DIALIPC))
> > OK (10 msec)
> >
> >
> > Now I can issue sqlplus without the "@DIAL"+something and get in,
> > as follows:
> > $ sqlplus
> >
> > SQL*Plus: Release 8.1.5.0.0 - Production on Fri Oct 22 18:07:29 1999
> >
> > (c) Copyright 1999 Oracle Corporation. All rights reserved.
> >
> > Enter user-name: system
> > Enter password:
> >
> > Connected to:
> > Oracle8i Enterprise Edition Release 8.1.5.0.0 - Production
> > With the Partitioning and Java options
> > PL/SQL Release 8.1.5.0.0 - Production
> >
> > and the listener.log shows nothing new entered.
> >
> > Using connect string "system/manager_at_DIALTEST"
> > gives ORA-01034: ORACLE not available
> > and the listener.log shows:
> >
> > 22-OCT-99 18:11:19 *
> >

>
(CONNECT_DATA=(SID=DIALTEST)(GLOBAL_NAME=DIALTEST)(CID=(PROGRAM=)(HOST=pebbl
> e
> > .bd.ans.net)(USER=oracle))) *
> > (ADDRESS=(PROTOCOL=tcp)(HOST=147.225.48.50)(PORT=38052)) * establish
*
> > DIALTEST *0
> >
> >
> > Using the one for DIALIPC is similar:
> >
> >
> > ERROR:
> > ORA-01034: ORACLE not available
> >
> > and the listener log shows: 22-OCT-99 18:14:08 *
> >

>
(CONNECT_DATA=(SID=DIALIPC)(GLOBAL_NAME=DIALIPC)(CID=(PROGRAM=)(HOST=pebble.
> b
> > d.ans.net)(USER=oracle))) * (ADDRESS=(PROTOCOL=ipc)(KEY=DIALIPC)) *
> establish
> > * DIALIPC * 0
> >
> >
> >
> > Maybe I am tangled up in the SID v GLOBAL_NAMEs v ALIAS
distinctions.
> >
> > I've lost the ability to use TCP, somehow.
> > The setting of automatic_ipc to OFF or ON makes no difference.
> >
> > Chris O'Connor
> >
> >
> >
> >
> >
> >
> > Sent via Deja.com http://www.deja.com/
> > Before you buy.

>
>

Sent via Deja.com http://www.deja.com/
Before you buy. Received on Tue Oct 26 1999 - 09:28:19 CDT

Original text of this message

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