Solved

Failed to connect to database instance: ORA-12637: Packet receive failed (DBD ERROR: OCIServerAttach)

Posted on 2015-01-28
25
1,437 Views
Last Modified: 2015-02-14
When ever I connect to the OEM I get the following error:

Failed to connect to database instance: ORA-12637: Packet receive failed (DBD ERROR: OCIServerAttach).

However the other tabs in the OEM work fine in fact I can still administer the DB just fine.  But I truly believe this isn't really a false positive there is something else going on and was wondering if anyone can help
0
Comment
Question by:jjmekkattil
  • 12
  • 12
25 Comments
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40576128
Never seen that error.

I assume you have looked it up for possible actions?

http://ora-12637.ora-code.com/

My guess would be a communications issue.

When do you get that error?
What versions are you dealing with (OEM and database)?
0
 

Author Comment

by:jjmekkattil
ID: 40576244
Since Monday...Oracle 11g OEM 11g
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40576333
>>Since Monday..

I mean:  What exactly are you doing when that error message is generated?

You also need to investigate:  What changed?  Don't say "nothing".  Stuff just doesn't stop working for no reason.
0
 

Author Comment

by:jjmekkattil
ID: 40587089
Ok well let me try to go with this,  I do some administrative tasks in oracle and when I tried to log into SYS apparently the password expired as well as a few other users.  So I ran the following SQL statement:

set pagesize 99
set head off
set linesize 132
set echo off
set feedback off
set newpage none
set serveroutput on size 1000000
SPOOL D:\Repair_Users.sql
DECLARE
    cursor USER_CRSR IS select d.USERNAME, u.PASSWORD, u.SPARE4,
d.DEFAULT_TABLESPACE, d.TEMPORARY_TABLESPACE, d.PROFILE
                               from sys.dba_users d, sys.user$ u
                               where d.USERNAME=u.name
                               and USERNAME not like '%SYS%';
    USER_ROW  USER_CRSR%ROWTYPE;
    OUT_LINE  varchar2(2000);

BEGIN

   OPEN USER_CRSR;
     LOOP
       FETCH USER_CRSR INTO USER_ROW;
       EXIT WHEN USER_CRSR%NOTFOUND;
       DBMS_OUTPUT.PUT_LINE('--');
       IF USER_ROW.SPARE4 IS NULL THEN
       DBMS_OUTPUT.PUT_LINE('alter user '||USER_ROW.USERNAME||'
identified by values '''||USER_ROW.PASSWORD||''';');
       ELSE
       DBMS_OUTPUT.PUT_LINE('alter user '||USER_ROW.USERNAME||'
identified by values '''||USER_ROW.SPARE4||''';');
       END IF;
--
     END LOOP;
     OUT_LINE:= ' ';
   CLOSE USER_CRSR;

END;
/

SPOOL OFF

Then While in still in SQL I run @Repair_Users.sql

I'm not sure if this has something to do with it I also have attached a log from my Metric Collection log
metric-errors.PNG
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40587104
I'm a little confused by your last post.

What does running that script to change passwords have to do with the original error:
Failed to connect to database instance: ORA-12637

That error doesn't appear to have anything to do with expired passwords.
0
 

Author Comment

by:jjmekkattil
ID: 40587114
Well you asked when did it start and it seemed to start when that happened...not sure if there was a correlation or not
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40587125
>> it seemed to start when that happened...

OH.  Sorry.  I thought that was something after.

Never having seen that error before, I suppose anything could be the cause.

My guess is you changed a password that probably shouldn't have been changed.

Another guess would be: MGMT_VIEW or DBSNMP?

http://docs.oracle.com/cd/B28359_01/server.111/b28337/tdpsg_user_accounts.htm#TDPSG20000
0
 

Author Comment

by:jjmekkattil
ID: 40587164
The only one I think that would be an issue is the MGMT_VIEW since its randomly generated...other than that the password for the other non expired accounts I know.
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40587172
It was a guess.

From a quick scan of the script it looks like it should have set the password to what it was so I'm not sure anything would have changed.  Still not thinking just running that script would cause a communications error message.

I'm still not sure I know exactly what you are doing when you get that error.

For example:
I run X, I click Y and the error appears every time.
0
 

Author Comment

by:jjmekkattil
ID: 40587183
The error in the OEM is only in the OEM when I open it, its there at the home screen however everything is still functional.
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40587192
I rarely use OEM so I'm going from memory here.

Check the nodes/objects OEM is told to monitor.
See if you have one that is no longer valid.
Check saved credentials and see if maybe there is an old server/database/???

It might be going out to say 'hi' to everything it knows about and cannot find something?
0
 

Author Comment

by:jjmekkattil
ID: 40588569
Well I eliminated the OEM out of the equation and I am still getting the error maybe I'm doing this wrong but I have a batch file that references a .sql file to refresh materialized views.  However when I click on the .bat file to execute it seems to run fine until I get the attached error. batch file.  I also attached the .sql statement that the batch file is referencing.sql statement
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40588616
Was that BAT script executed on the database server?

Seems like a network problem somewhere.
Just for grins, turn off the local firewall for a quick test.
0
 

Author Comment

by:jjmekkattil
ID: 40588789
Yes it is executed on the database server, and there is no local firewall....I did find out that there was a bad account that was hammering the server every 30-60 seconds but we just got the guy to stop that but didn't fix it.
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40588815
Can you post your sqlnet.ora?

Check the alert log for the database.  Everything I'm finding on the ORA-12637 seems to also have an entry in the alert log that can provide more information.
0
 

Author Comment

by:jjmekkattil
ID: 40588895
sqlnet.ora:

# sqlnet.ora Network Configuration File: D:\app\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40588963
For grins change change the sqlnet.ora
from:
 SQLNET.AUTHENTICATION_SERVICES= (NTS)

to:
 SQLNET.AUTHENTICATION_SERVICES= (NONE)

Try sqlplus again.
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40588970
Take a look at the following note in Oracle Support:
Troubleshooting Guide ORA-609 : Opiodr aborting process unknown ospid (Doc ID 1121357.1)

Make sure the Database Service and Listener Service are running as the same account.
0
 

Author Comment

by:jjmekkattil
ID: 40589079
Thanks for the scrub I was trying to scrub I was trying to head out for lunch....when I change the sqlnet.ora file do I need to shutdown the db and then restart it?
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40589153
>>when I change the sqlnet.ora file do I need to shutdown the db and then restart it?

No.  The sqlnet.ora file is a client only file.  It is read when a client attempts to make a connection.
0
 

Accepted Solution

by:
jjmekkattil earned 0 total points
ID: 40599154
OK so we got it to work....the problem was I had to up the Process number I had it at 150 and apparently it was too low upped it to 300 and its working like a champ.
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 40599235
ummm.... OK.  I've not seen anything about that error that references the processes spfile parameter.  Might just be a coincidence that it is now working.
0
 

Author Comment

by:jjmekkattil
ID: 40599678
so I'll close this but I will be putting up another one about cloning
0
 

Author Closing Comment

by:jjmekkattil
ID: 40609534
Had a third party at the same time I had the individual on here help me.  The offline guy figured it out.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
Via a live example, show how to take different types of Oracle backups using RMAN.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now