oracle / docker-images

Official source of container configurations, images, and examples for Oracle products and projects
https://developer.oracle.com/use-cases/#containers
Universal Permissive License v1.0
6.52k stars 5.42k forks source link

Fatal NI connect error 12170 #1821

Open fstackgeek opened 3 years ago

fstackgeek commented 3 years ago

I have an oracle database 19.3 docker container (created from original image) on an ubuntu machine, and it was working just fine up until a few weeks before. But one day out of nowhere (literally without even touching the server) something happened: The applications on the server itself (which is running ubuntu) cannot connect to the database with the following error, but the windows machines can connect to the database like always. I checked the container logs and the startup is completely successful (with the "DATABASE IS READY TO USE! message") but after that, it gives the following error every few seconds.

The error:

Fatal NI connect error 12170, connecting to:
 (ADDRESS=(PROTOCOL=tcp)(HOST=172.19.0.1)(PORT=47372))

  VERSION INFORMATION:
    TNS for Linux: Version 19.0.0.0.0 - Production
    Oracle Bequeath NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
    TCP/IP NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
  Version 19.3.0.0.0
  Time: 28-DEC-2020 17:40:31
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12535

TNS-12535: TNS:operation timed out
    ns secondary err code: 12606
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
2020-12-28T17:40:31.183746+00:00
opiodr aborting process unknown ospid (9220) as a result of ORA-609
2020-12-28T17:40:36.537932+00:00

I searched the web and I found a suggestion, to add the following line to the sqlnet.ora:

SQLNET.INBOUND_CONNECT_TIMEOUT=300

I did but it didn't help.

onmp commented 3 years ago

After changing the SQLNET.INBOUND_CONNECT_TIMEOUT to 300, did the clients connection failed 300 seconds after initiating the connection? If not, the server needs to be recycled after the changing the parameter.

no-response[bot] commented 3 years ago

This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.

sandorzelei commented 3 years ago

Hi @amiiir

Same happened on my servers. Out of the blue everything is broken. Did you find out the root cause?

pgoldtho commented 3 years ago

+1

Had the same problem. Database was running fine for 4 weeks then stopped accepting external TNS connections without warning.

sandorzelei commented 3 years ago

Hi @pgoldtho

I am still not sure why it happened on my servers, but this blog saved me from endless debugging. https://franckpachot.medium.com/19c-instant-client-and-docker-1566630ab20e

I set the DISABLE_OOB=ON and everything worked again. I hope that solves your issue as well

pgoldtho commented 3 years ago

Thanks @sandorzelei

Adding DISABLE_OOB=ON to the client's sqlnet.ora did resolve the connection issue. That said, we decided to abandon our Docker deployment project based on this and other issues we encountered.

dimovelev commented 2 years ago

I am also getting this issue now with the 21c image. What is the workaround - I am really confused?

virus13188 commented 2 years ago

Thanks @sandorzelei

Adding DISABLE_OOB=ON to the client's sqlnet.ora did resolve the connection issue. That said, we decided to abandon our Docker deployment project based on this and other issues we encountered.

Thanx for the tip, adding DISABLE_OOB=ON at worked for me, short INFO for those who needed badly i used the following repo "https://hub.docker.com/r/oracledb19c/oracle.19.3.0-ee"