Unix Technical Forum

intermittent ora-12545

This is a discussion on intermittent ora-12545 within the Oracle Database forums, part of the Database Server Software category; --> intermittent 12545 error which I cannot track down. Pro*c routine. oracle 9.2.0 solaris SunOS 5.8 since upgrading to oracle ...


Go Back   Unix Technical Forum > Database Server Software > Oracle Database

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-23-2008, 06:30 AM
andrea
 
Posts: n/a
Default intermittent ora-12545

intermittent 12545 error which I cannot track down.
Pro*c routine.


oracle 9.2.0
solaris SunOS 5.8

since upgrading to oracle 9i from 8i I have had 2 ora-12545 errors
'Connect failed because target host or object does not exist'
There is no pattern thus far. It ran for 4 months on oracle 8i without
this
error.
The sysadmin said there was little network traffic. The dba said there
were
no error log problems.


The Pro*C program connects to prod, inserts one row, then disconnects.
It is
part of an asynchronous socket routine and therefore sends one item at
a time.
The Pro*C connect is
EXEC SQL CONNECT :username IDENTIFIED BY assword;
where username is a string like "user@prod" and password is a string

tnsnames.ora - no sqlnet - the program is on the same machine as the
sid
prod =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = ourmachine.ourinternaldomain)
(PORT = 1521)
)
)
(CONNECT_DATA =
(SERVICE_NAME = prod)
)
)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-23-2008, 06:30 AM
Sybrand Bakker
 
Posts: n/a
Default Re: intermittent ora-12545

On 2 Feb 2004 14:57:39 -0800, sparling@speakeasy.net (andrea) wrote:

>tnsnames.ora - no sqlnet - the program is on the same machine as the
>sid


If the program is on the server, why do you use the TCP/IP protocol to
connect? You should set ORACLE_SID prior to connecting and leave out
the @prod or use the IPC protocol.


--
Sybrand Bakker, Senior Oracle DBA
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 02-23-2008, 06:32 AM
Gerry Sinkiewicz
 
Posts: n/a
Default Re: intermittent ora-12545


"Sybrand Bakker" <gooiditweg@sybrandb.demon.nl> wrote in message
news:u9bu109bpqnd10naqsn1jsst6n1df30njc@4ax.com...
> On 2 Feb 2004 14:57:39 -0800, sparling@speakeasy.net (andrea) wrote:
>
> >tnsnames.ora - no sqlnet - the program is on the same machine as the
> >sid

>
> If the program is on the server, why do you use the TCP/IP protocol to
> connect? You should set ORACLE_SID prior to connecting and leave out
> the @prod or use the IPC protocol.
>
>
> --
> Sybrand Bakker, Senior Oracle DBA


And perhaps TWO_TASK (for a unix machine).


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 02-23-2008, 06:36 AM
andrea
 
Posts: n/a
Default Re: intermittent ora-12545

"Gerry Sinkiewicz" <sinkiege@snet.net> wrote in message news:<K%WTb.31852$yT3.4028@newssvr33.news.prodigy. com>...
> "Sybrand Bakker" <gooiditweg@sybrandb.demon.nl> wrote in message
> news:u9bu109bpqnd10naqsn1jsst6n1df30njc@4ax.com...
> > On 2 Feb 2004 14:57:39 -0800, sparling@speakeasy.net (andrea) wrote:
> >
> > >tnsnames.ora - no sqlnet - the program is on the same machine as the
> > >sid

> >
> > If the program is on the server, why do you use the TCP/IP protocol to
> > connect? You should set ORACLE_SID prior to connecting and leave out
> > the @prod or use the IPC protocol.
> >
> >
> > --
> > Sybrand Bakker, Senior Oracle DBA

>
> And perhaps TWO_TASK (for a unix machine).


My "dba" answers me this -
no connections are local, all are tcp, no bequeath
dont need two_task

So within his constraints, why would I get the intermittent error 12545?

Perhaps I could rewrite the Pro*C with a different method?
( I am connecting as "user@prod" )
We have ORACLE_SID set to prod
we do not have two_task
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 02-23-2008, 06:38 AM
Frank van Bortel
 
Posts: n/a
Default Re: intermittent ora-12545

andrea wrote:

> "Gerry Sinkiewicz" <sinkiege@snet.net> wrote in message news:<K%WTb.31852$yT3.4028@newssvr33.news.prodigy. com>...
>
>>"Sybrand Bakker" <gooiditweg@sybrandb.demon.nl> wrote in message
>>news:u9bu109bpqnd10naqsn1jsst6n1df30njc@4ax.com. ..
>>
>>>On 2 Feb 2004 14:57:39 -0800, sparling@speakeasy.net (andrea) wrote:
>>>
>>>
>>>>tnsnames.ora - no sqlnet - the program is on the same machine as the
>>>>sid
>>>
>>>If the program is on the server, why do you use the TCP/IP protocol to
>>>connect? You should set ORACLE_SID prior to connecting and leave out
>>>the @prod or use the IPC protocol.
>>>
>>>
>>>--
>>>Sybrand Bakker, Senior Oracle DBA

>>
>>And perhaps TWO_TASK (for a unix machine).

>
>
> My "dba" answers me this -
> no connections are local, all are tcp, no bequeath
> dont need two_task
>
> So within his constraints, why would I get the intermittent error 12545?
>
> Perhaps I could rewrite the Pro*C with a different method?
> ( I am connecting as "user@prod" )
> We have ORACLE_SID set to prod
> we do not have two_task


Your DBA should talk to a sysadmin with some knowledge of networking.
Why would you have all overhead of TCP/IP, where you can use bequeath?!?
Have seen IPC and Bequeath outperform TCP/IP by a factor of 100.

Apart from that - your approach is twofold - you either set ORACLE_SID
and connect user/password (which would end up in a bequeath connection),
or do no such thing, and connect user/password@connect (which would be
a "remote" connect, using IPX, TCP, Named Pipes - TCP in your case).

And your DBA should have lookup up the error (or you should):
[oracle@csdb01 oracle]$ oerr tns 12545
12545, 00000, "Connect failed because target host or object does not exist"
// *Cause: The address specified is not valid, or the program being
// connected to does not exist.
// *Action: Ensure the ADDRESS parameters have been entered correctly; the
// most likely incorrect parameter is the node name. Ensure that the
// executable for the server exists (perhaps "oracle" is missing.)
// If the protocol is TCP/IP, edit the TNSNAMES.ORA file to change the
// host name to a numeric IP address and try again.

I'd go for the bequeath solution, if possible, or else IPC.
Never configure tnsnames for TCP on the server.
--

Regards,
Frank van Bortel

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 09:45 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com