Alert log shows failed incoming connection:
Fatal NI connect error 12537, connecting to:
(LOCAL=NO)
TNS-12537: TNS:connection closed
ns secondary err code: 12560
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
opiodr aborting process unknown ospid (28725) as a result of ORA-609
Please help me resolve this error.
The message: opiodr aborting process unknown ospid (.....) as a result of ORA-609 - is just a notification that oracle database closed (aborted) a dedicated process because of ORA-609.
ORA-609 stands for "could not connect to the incoming connection" so the database process was 'abandoned' (closed) because it could not connect to the incoming connection that was transmitted to it by the listener.
The reason for this lies in the sqlnet error stack, in our case: TNS-12537: TNS: connection closed. Basically, the dedicated process had no more customer connections to work with.
The client initiates a connection to the database so it connects to the listener
The auditor launches (fork) a dedicated database process which will receive that connection (session).
After starting this dedicated process, the auditor passes on the customer's connection to this process.
The server process takes the connection from the listener to continue the handshake with the client. Server process and client exchange information required for establishing a session (ASO, Two Task Common, User logon)
Session is open.
In the case of the above error, the connection from the client was closed somewhere between 3. and 4. So when the dedicated process tries to communicate with the client it finds that connection closed.
It is often possible to eliminate this error by increasing the following sqlnet.ora file value for SQLNET.INBOUND_CONNECT_TIMEOUT. The default is 60 seconds.
This parameter is set in the database environment in RDBMS_HOME/network/admin.
Example:
SQLNET.INBOUND_CONNECT_TIMEOUT=300