IT Asset Management (Cloud)

Command line | Registry

UserDefinedOracleHome is available only on UNIX-like platforms, and is only relevant when a symbolic link was included in the start-up path for an Oracle database instance targeted for inventory collection by the locally-installed tracker (ndtrack). The use of a symbolic link can 'mask' the database instance so it is not visible to the tracker, and inventory cannot be collected. There are two ways you can work around this:
  • You can ensure that the Oracle home specified in the /etc/oratab file represents the ORACLE_HOME path used to start the database instance. With this work-around, no other settings are needed, and UserDefinedOracleHome may be set to false if you so desire.
  • The account running the database instance (say OSUser4Oracle) may set an environment variable within its login profile specifying the ORACLE_HOME path (including the symbolic link) which was used to start the database instance. To test this setting, the following command should display the correct ORACLE_HOME path:
    su -OSUser4Oracle -c "echo \$ORACLE_HOME"
    Tip: If this environment variable is set for any account on the database server, it is applied to all database instances started by the same account on this server. Any mismatch between the (non-empty) environment variable, and the actual path used to start any of these database instances, prevents the collection of database inventory from the mismatched instance by the locally-installed inventory component (ndtrack). Conversely, you can prevent the environment variable option being used for all accounts on the target Oracle server by setting the UserDefinedOracleHome preference (details of this preference are included in Gathering FlexNet Inventory.
When UserDefinedOracleHome=true (or when the setting is omitted, with default true), the tracker (in addition to attempting its other normal detection methods) attempts to recover the value of the $ORACLE_HOME environment variable for the account running the database instance. If this attempt succeeds, the value recovered replaces any value for ORACLE_HOME for this instance collected by any other means (for details of the methods used to detect the ORACLE_HOME value, see Oracle Discovery and Inventory in IT Asset Management System Reference).
If for some reason you wish to prevent the tracker checking for this environment variable, set UserDefinedOracleHome=false on the target device. However, be aware that if the value of ORACLE_HOME cannot be determined for a database instance, Oracle inventory cannot be collected for the database instance by the locally-installed tracker.
Important: This preference controls behavior of the tracker across all Oracle database instances running on the current server (inventory device). If it happens that you have used multiple accounts for starting separate database instances on this server, and UserDefinedOracleHome=true, the tracker searches for the $ORACLE_HOME environment variable for each of these accounts, and for all of the database instances started by each of them. Since the priority order of data sources for the Oracle home path for each database instances is:
  1. $ORACLE_HOME environment variable in the account starting and running a database instance on this server
  2. The /etc/oratab file value for the ORACLE_HOME path
  3. The absolute path in use by the process currently running the database instance,
this means that any mismatch between the $ORACLE_HOME environment variable and the path actually used to start and run the database instance causes database inventory collection to fail. This includes (for example) having an environment variable that identifies a symbolic link used for one database instance, even after a possibly-different database instance has been re-started by the same account but using an absolute path. A complete match (with either a symbolic link in both places, or an absolute path in both places) is required for every database instance.


Values / range

Boolean (true or false, case insensitive)

Default value

This is the default behavior when the preference is omitted.

Example values


Command line


Tracker component (ndtrack)


-o UserDefinedOracleHome=false


Installed by

Code internals, or manual configuration

Computer preference


IT Asset Management (Cloud)