Sunday, November 18, 2007

ORA-12537 TNS: Connection Closed

Dear readers,

When I was trying to establish client connection to one of our databases running on Oracle 10g, I received “ORA-12537 TNS: Connection Closed” error.

Upon investigation, I came across “TCP.VALIDNODE_CHECKING” parameter in “sqlnet.ora” file. This was set to “YES”. I simply commented this parameter and every thing went fine. Clients were able to establish connection to the database.

By setting TCP.VALIDNODE_CHECKING to “YES”, you inform Oracle database to allow/deny connections to the listed nodes. You may list the invited nodes using TCP.INVITED_NODES parameter in sqlnet.ora file or, alternatively, you may use the TCP.EXCLUDED_NODES parameter to disallow database connections from the listed nodes.

Hope you find this information helpful!!!

5 comments:

CresceNet said...

Oi, achei seu blog pelo google está bem interessante gostei desse post. Gostaria de falar sobre o CresceNet. O CresceNet é um provedor de internet discada que remunera seus usuários pelo tempo conectado. Exatamente isso que você leu, estão pagando para você conectar. O provedor paga 20 centavos por hora de conexão discada com ligação local para mais de 2100 cidades do Brasil. O CresceNet tem um acelerador de conexão, que deixa sua conexão até 10 vezes mais rápida. Quem utiliza banda larga pode lucrar também, basta se cadastrar no CresceNet e quando for dormir conectar por discada, é possível pagar a ADSL só com o dinheiro da discada. Nos horários de minuto único o gasto com telefone é mínimo e a remuneração do CresceNet generosa. Se você quiser linkar o Cresce.Net(www.provedorcrescenet.com) no seu blog eu ficaria agradecido, até mais e sucesso. If is possible add the CresceNet(www.provedorcrescenet.com) in your blogroll, I thank. Good bye friend.

shru said...

Hi,
ORA-12537... I read ur post regd d same!! Can u b more specifc 2 tis?
I'm currently facing d same error...
Yes, I've included validnode_checking and invited_nodes in sqlnet.ora.
But that should be working fine after reloading listener, but it isn't.
Following Metalink SR, but yet havent touched d solution...

--shruti

Asif Momen said...

Hi Shru,

> Can u b more specifc 2 tis?
Which area you think needs more clarification?

Shru, can you please elaborate more on your issue?

What nodes are listed with INVITED_NODES parameter and from which node are you trying to connect ?

Following is a small test I performed by enabling the TCP.VALIDNODE_CHECKING parameter.

-- with TCP.INVITED_NODES=TESTPC
SQL> conn test/test@DB10G_TESTPC
Connected.

-- with TCP.EXCLUDED_NODES=TESTPCSQL> conn test/test@DB10G_TESTPC
ERROR:
ORA-12537: TNS:connection closed


Warning: You are no longer connected to ORACLE.
SQL>


Regards

shru said...

Hi,

I need to restrict access on all IPs except 2. So I modified sqlnet.ora, as given below:

tcp.validnode_checking=yes
tcp.invited_nodes=(192.168.0.212,192.168
.15.18)

N then reloaded the listener.
This should work fine. But yet I'm able to login to database through any other IP.

--------------------------------
The other way I tried out was, a logon trigger on database. But that's not the secure way to do it.

So if you know, kindly reply me on the same!!! You can directly send an email on janishruti22@gmail.com

N thanks for ur reply!!!

--shruti

Anonymous said...

Thanks a lot this has helped me, as stated, I have commented the restriction in sqlnet.ora and restarted the listener and this worked.