Wednesday, June 2, 2010

Toad 9.0 with Oracle 11g

Here are my two cents on connectivity issues between Toad and Oracle 11g...

Everyone knows about Toad and is the most widely used tool for connecting to Oracle databases. We use Toad all the time to connect to Oracle 10g databases. But recently we upgraded one of our environments to Oracle 11g and Toad stopped working. (Dont we have such issues all the time?)

Basically this is the issue:
I tried connecting to Oracle 11g using Toad 9.1 and it popped an error saying invalid username/password. So i used SQL Plus, Native connection of Oracle and tried connecting it to 11g environment and expected i will get the same error, but guess what SQL Plus got connected.

So Toad was unable to connect and SQL Plus got connected. Then i installed SQL Developer and again surprisingly SQL Developer also got connected using the same tnsnames.ora file. So there was something going on with Toad; which i needed to find out.

So basically this was the issue

In Oracle 11g, we have a variable called SEC_CASE_SENSITIVE_LOGON which says whether case sensitivity should be enabled for password or not during the logon

And keep in mind this was introduced only in Oracle 11g and none of the previous versions of Oracle had this parameter for the "password case sensitivity".

Now if sec_case_sensitive_logon = true, Password case sensitivity matters
and if sec_case_sensitive_logon = false, Password case sensitivity does not matters.

Now issue on the Toad side, it converts all the passwords to Uppercase(which is a bug in Toad 9.0). So the workaround is while connecting using Toad, enter username and keep the password field blank and Toad will prompt a dialog box asking for password, and then enter the password...and there you go..You successfully connected to Oracle 11g.

Or the other solution is change the sec_case_sensitive_logon and set it to False, using the following query
alter system set sec_case_sensitive_logon=false


Just sharing my knowledge....as i learn

Nilesh Makhija

2 comments: