This content has been marked as final. Show 13 replies
Do you have an Oracle client installation? To use the OCI driver, you need an oracle client installation with the OCI libraries. For SQL Developer 3 it needs to be an 11g client.
Alternatively, you can disable the use of the OCI driver by unticking "Use OCI/Thick driver" in Tools|
I do not have Oracle 11g client installed in my laptop (this is Oracle Product development IT base image). My other colleagues do not have client installed and they did not face this issue. Also "Use OCI/Thick driver" option (default) is not checked and I did not change the setting.
Please confirm if I want to use Connection Type "TNS" and use connect identifier to provide TNS details of a RAC DB (which is a central ST database to run Fusion Environment), I HAVE TO install a Oracle 11g Client ?
Perhaps I should have researched this more before pointing you to a full client install without specifying the exact version. Sorry!
Turns out your latest issue is covered here:
3.0 final+EA4: Doesn't work with 11.1 OCI/Thick driver
It notes (in referenced bug number) SQL Developer 3.x comes with 188.8.131.52 JDBC and has a mismatch with the OCI dll in 184.108.40.206, so you probably downloaded the 220.127.116.11 full client. Supposedly this issue does not occur with the 18.104.22.168.1 instant client.
You are probably correct regarding SAC, but please see this specific post from the forum thread I referenced above:
Re: 30EA4: Doesn't work with OCI/Thick driver
Look at the last component included within ODAC112021Xcopy_32bit.zip: Oracle Instant Client 22.214.171.124.0
I know I mentioned 126.96.36.199.1 in my other post, but I took that from the bug text -- that's what QA used to verify the solution, but I'm not sure if that refers to the Oracle Instant Client version or the ODAC version. I would think you need to de-install the full client before installing the instant client.
ODAC package may be a bit much, if you just need Client libs for SQL Developer.
Since it seems you are using 64-bit sqldev / jvm, Instant Client for 64-bit may be found via:
Instant Client package - Basic Lite alone should be enough. From instantclient_11_2 in the archive, just drop the files ocijdbc11.dll, oci.dll and oraociicus11.dll in sqldeveloper folder (same dir as the .exe).
If you have Oracle Home's (64-bit in this case) installed on the machine, you may need to find a way to stop Sql Developer from searching Home registry entries and thus avoid picking up Net config files (tnsnames.ora, sqlnet.ora) from such places.
Though, when testing, for TNS connection type with Network alias drop down it did not matter setting PATH, TNS_ADMIN or planting a oracle.key file (then bouncing sqldev), either way it found a Home and searched it for Net config files. I'm not sure why. A simple workaround however, is to use Connect Identifer field instead with easy connect syntax (no tnsnames.ora necessary).
Note, for Connection type TNS / network alias, the error may appear if 'use OCH/Thick driver' is ticked in preferences. Otherwise the included thin client will be used, hence no need for OCI/Instant Client.
Hope this helps.
Added some clarification about driver usage.
I wanted to add, related to testing the setup, that docs states about JDBC OCI Instant Client:
•Only one set of Oracle libraries should be specified in the library path environment variable. That is, if you have multiple directories containing Instant Client libraries, then only one such directory should be specified in the library path environment variable.
•If you have an Oracle home on your computer, then you should not have the ORACLE_HOME/lib and Instant Client directories in the library path environment variable simultaneously, regardless of the order in which they appear in the variable. That is, only one of ORACLE_HOME/lib directory (for non-Instant Client operation) or Instant Client directory (for Instant Client operation) should be specified in the library path environment variable.
However, I'm not sure how to achieve such setup properly in the context of SQL Developer on Windows. For example, Sqldeveloper seem to regardless of system env settings, look for ORACLE_HOME via Registry node/tree. But my test was by no means exhaustive.
Edited by: orafad on Dec 7, 2011 12:39 PM
Edited by: orafad on Dec 7, 2011 11:03 PM
Edited by: orafad on Dec 8, 2011 1:32 AM
Amitava has got away with using thin:
Try pure java thin:
1/create tnsnames.ora file
2/Set tnsnames directory
tools->Preferences->Database->advanced->use oci/thick driver unchecked
4/ new connection connection type TNS -> Network Alias (pick from list)
If that works - fine no additional software required.
Thick (OCI) has a few more features and is slightly more stable, requires additional software
instant client (or Oracle client or Oracle server) version 188.8.131.52:
try instant client downloads:
Windows 184.108.40.206 instant client from:
unzip Set PATH and ORACLE_HOME [you can just set them in the session for initial test] (LD_LIBRARY_PATH needs to be set for linux)
Note there is a preference:
- Tools preferences -> database -> advanced -> use oci/thick driver
Thick is required for
new connection connection type TNS -> Connection Identifier.
Edited by: Turloch O'Tierney on Dec 8, 2011 4:55 AM