jjmekkattil
asked on
Failed to connect to database instance: ORA-12637: Packet receive failed (DBD ERROR: OCIServerAttach)
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
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
ASKER
Since Monday...Oracle 11g OEM 11g
>>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.
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.
ASKER
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('alte r user '||USER_ROW.USERNAME||'
identified by values '''||USER_ROW.PASSWORD||'' ';');
ELSE
DBMS_OUTPUT.PUT_LINE('alte r 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
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('alte
identified by values '''||USER_ROW.PASSWORD||''
ELSE
DBMS_OUTPUT.PUT_LINE('alte
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
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.
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.
ASKER
Well you asked when did it start and it seemed to start when that happened...not sure if there was a correlation or not
>> 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
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
ASKER
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.
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.
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.
ASKER
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.
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?
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?
ASKER
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. . I also attached the .sql statement that the batch file is referencing.
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.
Seems like a network problem somewhere.
Just for grins, turn off the local firewall for a quick test.
ASKER
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.
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.
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.
ASKER
sqlnet.ora:
# sqlnet.ora Network Configuration File: D:\app\product\11.2.0\dbho me_1\netwo rk\admin\s qlnet.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_SERV ICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
# sqlnet.ora Network Configuration File: D:\app\product\11.2.0\dbho
# 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_SERV
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
For grins change change the sqlnet.ora
from:
SQLNET.AUTHENTICATION_SERV ICES= (NTS)
to:
SQLNET.AUTHENTICATION_SERV ICES= (NONE)
Try sqlplus again.
from:
SQLNET.AUTHENTICATION_SERV
to:
SQLNET.AUTHENTICATION_SERV
Try sqlplus again.
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.
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.
ASKER
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?
>>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.
No. The sqlnet.ora file is a client only file. It is read when a client attempts to make a connection.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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.
ASKER
so I'll close this but I will be putting up another one about cloning
ASKER
Had a third party at the same time I had the individual on here help me. The offline guy figured it out.
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)?