Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

ORA-12592: TNS:bad packet 1

Status
Not open for further replies.

prbnc

Technical User
Feb 15, 2006
4
US
I'm getting oracle error "ORA-12592: TNS:bad packet" on Oracle 11g. It happens when reading from the database on an app server separate from the db server. The read fails.

Anyone seen this before? What did you do to fix it?
 
Prbnc,

Conventional wisdom on this error says If you are getting TNS error (on an irregular basis, i.e., not easily or reliably reproduceable) and query not using DBLINK (no SQL*Net), then failure occurs at network level between client & DB server. This means it is likely not an Oracle problem, but basic OS/network issue.

Get local Network Administrator involved to find & fix root cause.

[santa]Mufasa
(aka Dave of Sandy, Utah, USA)
“People may forget what you say, but they will never forget how you made them feel.
 
Thanks! I've requested the network administrator take a look. How do we know we are not using DBLINK?
 
Prbnc said:
How do we know we are not using DBLINK?
First thing you can do is run this query as the user whose DB links are the subject of your investigation:
Code:
col db_link format a30
col host format a30
col x heading "DB Links"
select substr(db_link,1,decode(instr(db_link,'.')
                              ,0,length(db_link)
                              ,instr(db_link,'.')-1
                              )
             ) db_link, host
  from user_db_links
order by db_link
/
This query shows any database links that exist that the user owns.


Second option is investigate your application code. Search of occurrences of the "@" embedded in a SQL statement. (Database links use the "@" to designate the db link to use. Example:
Code:
SQL> select count(*) from user_tables;

  COUNT(*)
----------
       115

SQL> select count(*) from user_tables@dlha099;

  COUNT(*)
----------
        23
The first SELECT does not use a database link; the second SELECT uses a database link named "dlha099".

Let us know if you have follow-up questions.



[santa]Mufasa
(aka Dave of Sandy, Utah, USA)
“People may forget what you say, but they will never forget how you made them feel.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top