Skip to Main Content
  • Questions
  • Advantages of Instant Client over normal oracle client software

Breadcrumb

Question and Answer

Tom Kyte

Thanks for the question, Sarayu.

Asked: November 08, 2010 - 9:50 am UTC

Last updated: December 15, 2010 - 11:52 am UTC

Version: 10.2.0.4

Viewed 10K+ times! This question is

You Asked

Hi Tom,
I would like to know advantages and disadvantages of oracle instant client over standard oracle client.Thin client has small footprint and it is easy to install.And also under what situations we should use each of them.


Thanks,
Sarayu




and Tom said...


instant client is just that - installs pretty darn quick with a tiny footprint. If you have the need for the OCI client - you would need it.

By thin client - I presume you mean "jdbc thin connections". If so, you would not have a need for an OCI client.


So, the advantage of instant client is ..... when you need the oci client (php, ruby, python, odbc, odp, jdbc thick, whatever) - it installs fast.

If you don't need it (because you are using thin jdbc) then there obviously isn't any advantage to it.

Rating

  (9 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

Oleksandr Alesinskyy, November 09, 2010 - 3:03 am UTC

Not exactly, there are some feature differences between OCI and Thin drivers, see http://download.oracle.com/docs/cd/E11882_01/java.112/e16548/overvw.htm#CJAJFBAI . In 10.2 the list of differences is even bigger, see http://download.oracle.com/docs/cd/B19306_01/java.102/b14355/overvw.htm#CJAJFBAI .
Moreover, prior to 11g a thin driver did not support out of band breaks which may be a problem is some circumstances.
Tom Kyte
November 10, 2010 - 11:31 am UTC

I don't know what you mean by "not exactly"


The advantage of instance client is: WHEN YOU NEED THE OCI CLIENT (.... jdbc thick ... ) - installs fast.

if you don't need it (because you are using jdbc thin) then there is no obvious advantage.


it wasn't a comparison of thick to thin (at least I don't read it that way), it was

would like to know advantages and disadvantages of oracle instant client over standard oracle client

Oleksandr Alesinskyy, November 12, 2010 - 3:54 am UTC

You, not I, brought the jdbc into the picture (and I am wondering why, it was nowhere in the original question, unless in its published part). I commented solely on this piece of your answer.
Tom Kyte
November 12, 2010 - 8:51 am UTC

the word THIN CLIENT implies jdbc - does it not.

I stated as much:

By thin client - I presume you mean "jdbc thin connections". If so, you would not have a need for an OCI client.



they were not asking about thin versus thick as far as I could tell - but rather the difference between the "standard" client software versus "instant" client. Since they mentioned 'thin' - I presume they were talking thin jdbc (as I do not know of any other context where 'thin' applies), and if they were taking thin jdbc - then the discussion of client software becomes pointless. That was all I said - you don't need client software if you use thin connections (jdbc)

Oleksandr Alesinskyy, November 14, 2010 - 2:20 pm UTC

My presumption is that the word thin was simply misused in the question - it was (improperly) substituted for instant.


Instant client vs full client

Luigi Sandon, November 15, 2010 - 2:31 am UTC

I believe the first paragraph is clear "I would like to know advantages and disadvantages of oracle instant client over standard oracle client". There may be little informations about the differences, and what the instant client can't do (if anything) and when the full client is required. One of the "objections" I often hear about Oracle is about client deployment, it is often perceived "huge" compared to many other databases.
I also wonder if under Windows is possibile to use the instant client to perform a "private" install, I mean installing the instant client in the same directory of the application to ensure it uses a given version (i.e. using a 32 bit instant client for a 32 bit application running on 64 bit Windows).
Tom Kyte
November 15, 2010 - 9:28 am UTC

the instant client is the same as the "regular" client functionality wise - it just doesn't have all of the tools that come with the normal client - like sqlplus and such.

If you have an application that needs OCI libraries and that is all you want, instant client is it.

Oleksandr Alesinskyy, November 22, 2010 - 11:50 am UTC

And there is an SQL*Plus "addition" to the instant client:
http://www.oracle.com/technetwork/topics/winsoft-085727.html

Instant client functionality

Paul Diehl, December 13, 2010 - 9:02 am UTC

Tom,

I have been looking at moving from the standard client to instant client and have been unable to find the information I need to propose this as a permanent solution. I manage an application that is used by the Air Force and encryption of the data stream between the client and database is required. In your previous post you indicated that

'the instant client is the same as the "regular" client functionality wise - it just doesn't have all of the tools that come with the normal client - like sqlplus and such'

I have been looking for verification that the instant client will encrypt the connection to a server that is configured with ASO, but I have been unable to find anything definitive. Can you provide an information on this?
Tom Kyte
December 14, 2010 - 3:33 am UTC

the 'tools' are not installed - like for creating wallets and such - but the encryption support is there.

see http://www.easysoft.com/products/data_access/odbc_oracle_driver/security.html for an example of configuring it and testing it.

Redirected to a non-oracle site... :)

Luigi D. SAndon, December 15, 2010 - 10:24 am UTC

It's funny you had to redirect us to a non-Oracle site. IMHO the Instant Client should be far better documented.
Tom Kyte
December 15, 2010 - 11:52 am UTC

well, the configuration and testing of this feature isn't actually any different for instant client than for "non-instant client". I just thought it would be nice to have an example using the instant client. I cannot imagine they would exhaustly "prove" everything under the sun works in the documentation (they never have...)

Other Reasons for using Instant Client

Jimmy, December 15, 2010 - 4:09 pm UTC

Where I work I don't have access to the Oracle Home. So I install the Oracle instant client and the additional sqlplus files into my home directory. By modifying a few environment variables I can access the Oracle database and create and test scripts that I need to deploy.

Instant Client Rocks

Tim M, December 16, 2010 - 4:28 pm UTC

I love the instant client. When Oracle came out with this for Oracle 10, my first response was: Excellent - why not sooner. Course I say that with all new features I like. (Why didn't we have external tables in Oracle 7. ha ha ha) In the application we were developing, we were still using Oracle server 9 but moved right onto the Oracle 10 instant client still connecting to the Oracle server 9. This worked great.

This really made our deployments sooooo much easier, quicker and more stable. The stability came from another application that was messing with the regular Oracle client. That other application (changing the TNSNames file or changing the Oracle client version or whatever) was causing our application to sporadically have problems with some users. With the instant client - we put everything in the one directory with our application and don't care anymore about what the other application does or does not do. We also have complete control over what version of Oracle client we use. I think we only deploy three Oracle files - only one of them of any significant size. These can be redeployed very easily when needed (when time to upgrade to a new version of the Oracle instant client).
This is a Windows rich (thick) client server application (internally distributed to about 3000 users) which was using the regular OCI client. We were not going to have any significant redevelopment time so being able to mostly just drop this in place and use it was great. One minor item we had to set an environmental variable or add something to the connection string - I forget exactly what - nothing major.
Of course we tested it extensively but were really really happy with it. The support team that handled calls coming in from installation problems was really happy with this also as any Oracle related issues dropped to pretty much nothing.