Configuring Oracle DB 19c for Heartbeat and RPC

Heartbeat and remote password changing (RPC) for secrets on the deprecated Oracle Account template need the Oracle Data Access Components (ODAC). To set them up for Oracle Database 19c, install ODAC, and then configure Secret Server and each distributed engine that runs heartbeat or RPC for those secrets.

Prerequisites

Only secrets that use the Oracle Account, Oracle Account (AS SYS), or Oracle Account (DataSource) password changer need ODAC. The deprecated Oracle Account secret template uses the Oracle Account password changer.

The following templates use the Oracle Managed Data Access library included with Secret Server. They need no ODAC installation, DLL copy, or machine.config change:

  • Oracle Account (Template Ver 2)

  • Oracle Account (TCPS)

  • Oracle Account (Walletless)

If all your Oracle secrets use these templates, skip this procedure. Use Oracle Account (Template Ver 2) for new Oracle secrets. See Configuring Oracle Secret Templates.

Procedure

Task One: Installing the Oracle Database Access Components

  1. Navigate to ODAC Runtime Downloads in your browser.

  2. Download the latest version of the ODAC OUI file with the same major number as your database version.

  3. Unzip the file.

  4. Right click and run setup.exe as a Windows administrator. The setup wizard appears.

  5. Click to select Use Windows Built-in Account.

  6. Click the Next button.

  7. Type the desired installation path, such as c:\oracle.

  8. Click the Next button.

  9. Confirm the default product components are selected. If not, click to select Reset Defaults.

  10. Click the Next button.

  11. Leave the DB Connection Configuration fields as they are (empty).

  12. Click the Next button. The setup runs some pre-installation configuration tests.

  13. When the tests are completed, click the Install button.

  14. Reboot your machine.

Task Two: Configuring Secret Server

  1. Navigate to the ODAC directory, such as c:\oracle.
  2. Copy the C:\oracle\product\19.x.x\client_1\odp.net\bin\4\Oracle.DataAccess.dll file to the bin directory of your Secret Server directory, for instance, c:\inetpub\wwwroot\SecretServer\bin.
  3. Navigate to the C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config directory.
  4. Open the machine.config file.
  5. Copy and paste the line below into the DbProviderFactories section:

<add name="Oracle.DataAccess" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />

The section should look like this:

<system.data>	<DbProviderFactories>      <add name="Oracle.DataAccess" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342"/>    </DbProviderFactories></system.data>
There may be additional <Add> sections, such as for Microsoft SQL Server. Leave them as is.

Task Three: Configuring a Secret Server Distributed Engine

  1. Install ODAC on the machine hosting the distributed engine using the same procedure as Task One.
  2. Navigate to the ODAC directory on the distributed engine machine, such as c:\oracle.
  3. Copy the C:\<ODAC_Directory>\odp.net\bin\4\Oracle.DataAccess.dll file to the Distributed Engine directory, for instance, C:\Program Files\Thycotic Software Ltd\Distributed Engine.
  4. Navigate to the C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config directory.
  5. Open the machine.config file.
  6. If necessary, create a <DbProviderFactories> section within the <system.data> section.
  7. Copy and paste the line below into the <DbProviderFactories> section:

<add name="Oracle.DataAccess" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342"/>

The section should look like this:

<system.data>	<DbProviderFactories>      <add name="Oracle.DataAccess" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342"/>    </DbProviderFactories></system.data>

How to Create an Ignore File for Distributed Engine Upgrades

Create and configure an ignore file for Distributed Engine upgrades to allow Distributed Engine ignoring specific DLLs and not replacing them during upgrades.

1. Open a text editor like Notepad or Notepad++.

2. In the content of the file, add the filename of any DLLs that you'd like to ignore during upgrades. If there is more than one file, add each additional filename on a new line.

3. Save this file to the data folder on the Distributed Engine machine. By default, it is: C:\Program Files\Thycotic Software Ltd\Distributed Engine\data.

  • Filename must be "ignore" without quotes.

  • Uncheck "Append Extension" as this file must not contain an extension.

4. Once complete, any further upgrades will ignore any file listed in the ignore file.

Additionally see video demo for details.

Troubleshooting

Log Files

The errors below may appear in these files:

  • SS-BWSR.log (Secret Server)
  • SSDE.log (distributed engine)

These files are located within the log subdirectory of the application's directory. Typically, these are:

  • Secret Server: c:\inetpub\wwwroot\secretserver\log\SS-BWSR.log
  • Distributed engines: c:\program files\thycotic software ltd\distributed engine\log\SSDE.log

Errors

Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client

This error occurs when the Oracle ODAC driver does not match the Oracle database version.

Uninstall the ODAC, and then re-install the correct version. You can uninstall ODAC using the universal installer that is included with the ODAC installation that resides in the ODAC directory.

Oracle.DataAccess.Client.OracleException (0x80004005): ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

This error occurs when the secret's database field does not match the Oracle SERVICE_NAME database.

The default "Oracle Account" secret template's database field is looking for the Oracle SERVICE_NAME database. You can find that database's location by reading the tnsnames.ora configuration file on your Oracle database server.

System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed.

This error occurs when Oracle parameters are missing from the section in the machine.config file.

System.Configuration.ConfigurationErrorsException: Unrecognized element

This error occurs when the section, located in the machine.config file, is not properly formatted.