ODAC 18c Release 1 (18.3.0.0.0) Installation Instructions, Setup, and Notes

November 2018

Download includes the following products:

  1. a) Oracle Developer Tools for Visual Studio (18.3.0.1.0) -- 32-bit only
  2. b) Oracle Data Provider for .NET 4 (18.3.0.1.0)
  3. c) Oracle Data Provider for .NET 2 (18.3.0.1.0)
  4. d) Oracle Providers for ASP.NET 4 (18.3.0.1.0)
  5. e) Oracle Providers for ASP.NET 2 (18.3.0.1.0)
  6. f) Oracle Data Provider for .NET Oracle TimesTen In-Memory Database (18.3.0.1.0)
  7. g) Oracle Services for MTS (18.3.0.1.0)
  8. h) Oracle Provider for OLE DB (18.3.0.1.0)
  9. i) Oracle OLAP Provider for OLE DB (18.3.0.1.0)
  10. j) Oracle ODBC Driver (18.3.0.1.0)
  11. k) Oracle SQL*Plus (18.3.0.1.0)
  12. l) Oracle Call Interface (18.3.0.1.0)
  13. m) Oracle C++ Call Interface (18.3.0.1.0)
  14. n) Oracle Instant Client (18.3.0.1.0)
  15. o) Oracle Universal Installer (18.3.0.1.0)

System Requirements

The following items are required for ODAC:

  • Windows x64 operating system
    • Windows 10 (Pro, Enterprise, and Education editions), Windows 8.1 (Pro and Enterprise editions), Windows 7 (Professional, Enterprise, Ultimate editions), Windows Server 2016 (Standard, Datacenter, and Essentials Editions), Windows Server 2012 R2 and Windows Server 2012 (Standard, Datacenter, Essentials, and Foundation editions)
  • Access to an Oracle Database Server (Oracle 11g Release 2 or later)

Additional Notes on Requirements:

  • ODP.NET requires Microsoft .NET Framework or .NET Core.
    • ODP.NET Core requires .NET Core 2.1 or later. .NET Core 3 is not currently supported.
    • ODP.NET, Managed Driver requires .NET Framework 4 or later up to .NET Framework 4.7.x
    • ODP.NET, Unmanaged Driver requires .NET Framework 3.5 SP 1 or later up to .NET Framework 4.7.x
  • Oracle Developer Tools for Visual Studio requires Microsoft Visual Studio 2017 or Visual Studio 2015

    Note: Visual Studio Express Editions are not supported with the Oracle Developer Tools. However, ODP.NET is supported with Visual Studio Express Edition.

  • If you use distributed transactions with ODP.NET, read the ODP.NET Developer's Guide for more information on how to configure an application to use distributed transactions.

Installation Instructions

The instructions below apply to installing ODAC using Oracle Universal Installer. Xcopy installation instructions are included with the download itself.

  1. Download the ODAC zip file into a temporary directory. Note: Do not download this file into the "Tmp" directory.
  2. Unzip its contents to the directory.
  3. Run Oracle Universal Installer (OUI) by launching the setup.exe that was unzipped in the same directory. You will need administrator privileges.
  4. OUI will lead you through ODAC installation on your machine. After the installation, you may delete the zip file and the unzipped folders and files.

Note: If an ODAC beta is installed, uninstall it before installing this ODAC release.

Deinstallation Instructions

When deinstalling, use the installation type (i.e. Oracle Universal Installer, xcopy, NuGet, and MSI) that you originally installed the Oracle Home with. You should not deinstall from an Oracle Home created by another installation type. Oracle highly recommends deinstallations be executed with the same version that installed ODAC and for ODAC to be deinstalled first ahead of other Oracle components installed on the Oracle Home.

The instructions below apply to deinstalling ODAC using the Oracle Universal Installer. Xcopy deinstallation instructions are included with the download itself.

  1. Navigate to the Windows Start Menu and select Universal Installer": (All Programs --> Oracle - <Oracle Home Name> --> Oracle Installation Products --> Universal Installer). If User Account Control is requested, grant the privilege.
  2. Click the "Deinstall Products" button.
  3. Choose the Oracle Home(s) to deinstall (i.e. Oracle Data Access Components for Oracle Client) from the tree control. Click the "Remove" button. If you are deinstalling other DB components and ODAC components from the same home, you will run a deinstaller twice. During the first run, deinstall only ODAC components using ODAC OUI. Select all the ODAC components individually to remove. Do not select the top level component, "Oracle Data Access Components for Oracle Client". This removes ODAC from the machine. During the second run, deinstall the rest of the Oracle Home using the deinstall instructions specific to how that home was installed.
  4. Confirm deinstallation of the Oracle Home(s) by clicking the "Yes" button.

To deinstall ODAC silently, execute the following on the command line:

  1. <Oracle Home Path>\oui\bin\setup.exe -silent -deinstall DEINSTALL_LIST={"oracle.odac.client","18.3.0.0.0"} ORACLE_HOME=<Oracle Home Path>

    The above command deinstalls and unconfigures the ODAC components. However, this approach of uninstalling ODAC will leave some Oracle Client binaries and any user generated files in the Oracle Home. To completely remove all the files and folders within the Oracle Home, one can run the following Windows command in addition to the first command:

  2. rmdir <Oracle Home Path>\ /s

    Note: The Oracle Home files will not be recoverable once they are deleted. Please back up anything important from the Oracle Home before executing the above command. If you wish to run this same command silently, you can execute the following instead:

  3. rmdir <Oracle Home Path>\ /s /q

Connection Setup Quick Start

Automatic Setup

When installing ODAC in a new Oracle Home, OUI automatically copies the Oracle local naming (tnsnames.ora), profile (sqlnet.ora), and directory (ldap.ora) parameter files and settings from an existing Oracle Home into the newly installed ODAC home, as long as they share the same bitness (i.e. They are both 32-bit installations or they are both 64-bit installations.)

Alternatively, existing *.ora files can be copied over from another existing Oracle Home, besides the last active one, to the new ODAC Oracle Home. OUI provides location information for these files from up to three other existing Oracle Homes if they exist. The *.ora files can be customized if the new Oracle Home uses a different configuration from the previous Oracle Home from which the files were copied over.

If installing into an existing ODAC or RDBMS Oracle Home, no new *.ora files will be copied or created.

If installing onto a machine without any previous Oracle Homes present, OUI will ask the user for the database connection alias information. OUI will then automatically create the tnsnames.ora file. If no alias information is provided, no tnsnames.ora file will be created. Even if the user doesn't have all the database connection information readily available, Oracle recommends inserting placeholder values during the install process, then modifying the tnsnames.ora file later with actual values to replace the placeholders later.

Manual Setup

Two of the most common methods for connecting an Oracle client to a database are EZCONNECT and TNSNAMES. EZCONNECT is the easiest to setup. TNSNAMES is much more maintainable in the long term. If you are new to Oracle, we recommend you use EZCONNECT. You only have to choose one or the other to connect.

These quick start instructions assume you have a valid username and password for the database server.

Note: In the setup instructions below, ORACLE_HOME represents the directory where the Oracle client Home was installed on your machine. A typical directory for an OUI Oracle client Home is: C:\app\client\<user>\product\18.0.0\client_1

You will need to know where this directory is before proceeding.

EZCONNECT Setup

  1. Copy the sqlnet.ora file located in the following directory:

    ORACLE_HOME\Network\Admin\Sample\

    to this directory:

    ORACLE_HOME\Network\Admin\

    This file tells the Oracle client by what methods (e.g. EZCONNECT) Oracle client can connect to the Oracle database server.

  2. The Oracle client must then specify a valid user name, password, and data source to connect to the database server. To specify a data source, you can use the EZCONNECT format. In the ODP.NET data source attribute, use the following format to define how the client connects to the database server: [//]host[:port][/service_name]
  • host = the database server machine's host name
  • port = the database server machine's port on which it listens for incoming connection requests
  • service_name = the database's global name

For example, some syntactically valid connection strings follow:



"user id=hr;password=hr;data source=//sales-server:1521/sales.us.acme.com"
"user id=hr;password=hr;data source=//sales-server/sales.us.acme.com"
"user id=hr;password=hr;data source=sales-server/sales.us.acme.com" 

If the port number is not specified, 1521 is used by default.

TNSNAMES Setup

An Oracle Net service name allows the Oracle client to use a simple alias to connect to the database server. The alias definition contains all the information needed to create a connection to the database server. Alias information is stored in the tnsnames.ora file typically located in the ORACLE_HOME\Network\Admin directory. This alias is used as the data source value in your connection string. ODAC installations do not create a tnsnames.ora file so you need to create one. The following instructions assume you will have to create a new tnsnames.ora file.

  1. Copy the tnsnames.ora file located in the following directory:
  2. ORACLE_HOME\Network\Admin\Sample\

    to this directory:

    ORACLE_HOME\Network\Admin\

    
    
    <data source alias> =
              (DESCRIPTION =
              (ADDRESS = (PROTOCOL = TCP)(HOST = <hostname or IP>)(PORT = <port>))
              (CONNECT_DATA =
              (SERVER = DEDICATED)
              (SERVICE_NAME = <database service name>))) 
          
      
  • data source alias = the shortcut name given to identify the connect descriptor. In the ODP.NET connection string, developers set the "Data Source" attribute to the data source alias.
  • hostname or IP = the database server machine's host name or IP address
  • port = the database server machine's port on which it listens for incoming connection requests. In general, this value is set to port "1521".
  • database service name = the database's global name

The data source alias, hostname/IP, port, and database service name in the tnsnames.ora should be modified appropriately. If the TNS entries in the Hnetwork\admin\tnsnames.ora file are not recognized by the Oracle client, create a ORACLE_HOME\oracle.key file using any text editor and type in the following line: SOFTWARE\ORACLE\<home key>

where <home key> is the registry key for the ODAC Oracle Home. For example, if the default Oracle Home location was used during the install, the proper entry for the oracle.key file would be the following: SOFTWARE\ORACLE\KEY_OraClient12c_home1

Machine-Wide Configuration

Machine-wide configuration is no longer supported beginning with ODAC 18c. Administrators can still place ODP.NET in the GAC and add the configuration section handler and DbProviderFactory information to machine.config manually if they wish to override ODP.NET settings for individual applications.

Common Install and Setup Issues

  1. Consult the release notes first for any known issues or limitations.
  2. Check if the Oracle data access components were properly downloaded by comparing the download size to the one listed on the download page.
  3. If you have more than one Oracle Home installed on the same machine (e.g. Oracle 12c Release 2 client and Oracle 18c client), by installing the Oracle 18.3 client, OUI will establish this client as the Oracle Home all your existing applications will use. For more information on using Multiple Oracle Homes with ODP.NET, Unamanged Driver, consult the ODP.NET documentation.
  4. It is highly recommended ODAC be installed into a new Oracle Home. Installing ODAC on top of an existing Oracle home may break existing Oracle applications. If you do install on top of an existing Oracle Home, make sure to stop all the Windows services using that Oracle Home (e.g. OracleMTSRecoveryService) and it is an Oracle Client Home.

    ODAC does not support installing into an existing Oracle Server Home. ODAC can be installed into an existing Oracle Client Home if they share the first two major versions for 12.2 releases and earlier (i.e. ODAC 12.2 cannot be installed into an ODAC 12.1 home) or if they share the major version for Oracle 18 and later (i.e. Oracle 18 cannot be installed into an Oracle 19 home). When installing into an existing Oracle Client Home, the same installer technology must be used. OUI ODAC can only be installed into an OUI ODAC home; MSI ODAC into an MSI ODAC home; and xcopy ODAC into and xcopy ODAC home.

    Check whether oci.dll in the existing ORACLE_HOME directory has been removed during the uninstall process. If oci.dll was not removed, follow these steps to remove the DLL.
    a) Rename oci.dll to oci.dll.delete.
    b) Reboot your machine.
    c) Delete oci.dll.delete, which should no longer be in use after rebooting.
    d) Install the new ODAC.

  5. If installing ODAC over an existing Oracle 18c Home, already installed ODAC components will not be installed by default. You must manually select the ODAC components to be installed during the install process (i.e. check the checkbox next to the ODAC components to be installed). This is recommended for all ODAC components you wish to use, especially ODP.NET.
  6. This installation provides policy configuration files that can redirect existing 10.2 and 11.1 ODP.NET applications to the current ODP.NET version. The policy files are located in the ORACLE_HOME\odp.net\PublisherPolicy\2.x and ORACLE_HOME\odp.net\PublisherPolicy\4 directories. The installation of ODP.NET will NOT place ODP.NET policy DLLs into the GAC, which means existing applications will continue to use the same ODP.NET version they were using before.
  7. Installing ODP.NET into a new Oracle Home means that you may not have access to any of the Oracle Data Source aliases from a previous installation. To ensure you are using these existing data source attributes, copy the tnsnames.ora file in the ORACLE_HOME\network\admin directory from your previous Oracle Home installation to the same directory in your new installation. Or you may create the connection aliases manually by following the Connection Setup Quick Start earlier.
  8. Oracle Database supports the use of Oracle Home User, specified at the time of Oracle Database installation. Oracle Home User is used to run the Windows services for the Oracle Home. Oracle Home User can be a virtual account, a standard Windows User Account (not an Administrator account), or a Windows built-in account. To learn more about the Oracle Home User, consult the Administrator's Reference for Microsoft Windows.
  9. If Oracle Developer Tools (ODT) for Visual Studio 12.1.0.2.0 (part of ODAC 12c Release 3) or later is installed on a machine and the machine is to be downgraded to ODT 12.1.0.1.2 (part of ODAC 12c Release 2) or earlier, the newer ODT version must be deinstalled before installing the older ODT version. Not doing so prevents certain ODT features, such as PL/SQL Debugging, from working.
  10. ODP.NET deinstallation prior to ODAC 12c Release 3 can cause entries with .NET 2.x assembly references to be entered in the .NET 4.0 machine.config. This can cause side-by-side execution errors unless config section entry for "oracle.unmanageddataaccess.client" that references 2.x version of Oracle.DataAccess.Client is manually removed from the .NET 4.0 machine.config. It is also advised that a DbProviderFactories entry that references 2.x version of Oracle.DataAccess.Client be removed manually as well.

Viewing the ODP.NET Documentation

The PDF and HTML documentation can be viewed from the ORACLE_HOME\ODACDoc\DocumentationLibrary\welcome.html page. To view this page, go to Start Menu --> Oracle - <Oracle Home> --> Application Development --> Oracle Data Access Components Documentation.

Additionally, the Oracle documentation is installed as part of Visual Studio Dynamic Help.

Support and Bug Reports

For any bugs and issues, you may participate in one of the OTN discussion forums for ODAC.