Here I list their differences including features, pros and cons for you to evaluate which one should be used for your clients:
Oracle Client
- Features
- Install-based software
- All-in-one functions
- General-purpose package
- Oracle database enterprise edition download page
- Pros
- One-stop shopping
- Ready Environment variables
- Cons
- Needs to be installed
- Software conflicts
- Install
Oracle clients stay with Oracle database software, so there's no dedicated download page for Oracle clients.
You may need only one package for your machine comparing to Oracle instant client. That is to say, one install can provide almost everything you need, such as SQL*Plus, tnsping, JDBC drivers, OCI, etc.
You don't have to worry about the settings of environment variables. They are all set as registry parameters during installation.
You have to spend time to install the software, it could be a lengthy work to do. If something is wrong, you may need to uninstall the software and start it over. As a result of uninstallation, there could be some footprints that you have not cleaned out yet.
You may see software conflicts in your machine because of newer Java, Windows update, other Oracle clients or 3rd-party tools. Moreover, successful installations do not always guarantee that you can use the software successfully. As I know, it's a force-closed phenomenon.
Oracle Instant Client
- Features
- Out-of-box and portable
- Partial functions in a package
- Specific-purpose packages
- Oracle instant client download page
- Pros
- Portable
- Light-weight
- Pluggable
- Cons
- Varying packages
- Environment variables setting
- No tnsping
- Install
You can just unzip the package and start to use it. Which means, you can put it in any media and then carry it to anywhere. So that boosts your productivity either on database administration or quick client deployment.
Since every package has its own binaries for specific purpose, so the whole package is pretty small in size and very suitable for software distribution.
Different versions of Oracle instant clients can coexist in you machine. If you found any conflicts, you can just unplug (delete) the unnecessary versions (folders) anytime you want.
Different packages are for different purposes in same version, that can make you confused about which is which. You need to know the purpose of every package including what it has, what it can do. For example, basic package does not contain SQL*Plus, you need another package.
Oracle instant clients are independently operated in your machine. You have to set environment variables by yourself. Sometimes, it's a tedious job for users to do. In practice, the most important environment variables in Windows would be ORACLE_HOME_NAME, ORACLE_HOME and TNS_ADMIN. At least, you have to know how to set TNS_ADMIN.
tnsping is a very important utility for DBA to troubleshoot the connectivity problem for users. It's not in any package of Oracle instant client. At least I don't see it anywhere. Does there anyone know about that?