Oracle Stand-alone Inventory Agent for FlexNet Manager Suite

Oracle Stand-alone Inventory Agent for FlexNet Manager Suite

Summary

For secure environments (for example, Oracle servers secured by firewalls), Flexera offers a stand-alone Oracle inventory collection agent that can be deployed on a compatible Windows server.

This article explains what you need to know and do to use it.

Discussion

Discovery and inventory information is a prerequisite to performing license consumption calculations in FlexNet Manager Suite. We recommend that you deploy one or more inventory beacons on your network, and use any of the supported inventory collection methods to collect Oracle inventory. Each inventory beacon collects discovery and inventory information from the devices within its assigned subnet and sends this information to FlexNet Manager Suite. To collect inventory, each inventory beacon requires a network connection to the target Oracle servers within its assigned subnet.

In secure environments (for example, Oracle databases secured by firewalls), you may not be able to establish a network connection between each installed inventory beacon and the Oracle servers within its assigned subnet, or you may not be able to install any inventory beacon at all. For such environments, Flexera offers a stand-alone Oracle inventory collection agent that can be deployed on a compatible Windows server. The stand-alone agent collects and saves the Oracle Database inventory information (.ndi files) to a specified location. You can collect hardware inventory (required for Oracle processor-based licenses) through the locally-installed ndtrack or any third-party inventory database. If you do not deploy the agent on an inventory beacon, you will have to transfer the collected data to FlexNet Manager Suite, for performing license consumption calculations.

Note: Flexera recommends that you use the stand-alone inventory agent, and not ORATrack, for collecting inventory data on Oracle installations. The stand-alone inventory agent collects hardware information as well as Oracle installation data (whereas ORATrack only collects Oracle data), so it will provide a more comprehensive result.

This document describes the installation and operation of the stand-alone Oracle inventory agent.

The Oracle Discovery and Inventory chapter of the Systems Reference Guide PDF explains the supported inventory collection methods.

Overview

The stand-alone Oracle inventory agent has been designed to remotely collect Oracle Database inventory from Oracle servers when you cannot use any of the inventory collection methods recommended by Flexera. You can deploy this agent on any computer with Windows desktop (Windows 7 or higher) or Server (2008 or 2012) edition. After you configure the agent with details of the target Oracle servers, the agent can connect to each Oracle server using the Oracle Data Access Component (ODAC) driver (installed as a part of Oracle client on the computer where the agent is deployed). The agent then uses a pre-configured audit database user to extract Oracle inventory. The collected information is saved to a configured location from where it can be uploaded to FlexNet Manager Suite for license consumption calculations. The following diagram illustrates the process of Oracle inventory collection through the stand-alone Oracle inventory agent.

Important: We recommend that you use the stand-alone Oracle inventory agent only for Oracle hosts that have a single Oracle database service running on them.

Oratrack.png

To collect Oracle inventory through the stand-alone Oracle inventory agent, complete the following steps:

  1. Verify the prerequisites. See the Prerequisites section below.
  2. Deploy the inventory agent. See the Deploying the Agent section below.
  3. Configure the inventory agent. See the Configuring the Agent section below.
  4. Collect Oracle inventory. See the Collecting Inventory section below.
  5. Export the collected inventory to FlexNet Manager Suite. See the Exporting Inventory section below.
  6. (Optional) Uninstall the inventory agent. See the Uninstalling the Agent section below.

Prerequisites

The following are the prerequisites for inventory collection using the stand-alone Oracle inventory agent:

On the computer where the agent is to be deployed

  • Windows desktop (Windows 7 or higher) or Server (2008 or 2012) edition
  • Microsoft .NET Framework version 4.0 or later
  • Oracle Client version 11.2xxx (32-bit). It contains the ODAC driver required to connect to Oracle servers.

On each target Oracle Database server

An audit account with read-only permissions on the Oracle Database for all the tables and views needed for collecting Oracle inventory. One helpful practice is to use the same set of credentials on all servers. You can use a specially designed script to create and configure an audit user (for example, fnmoaudit) on each Oracle server with a password of your choice. To get this script, go to this Knowledge Base article on the Flexera Community. The script is available as an attachment at the bottom of the page.

For details about Oracle tables and views required for inventory collection, see the Appendix below.

Deploying the Agent

The stand-alone Oracle inventory agent is shipped as a zip archive. You can deploy this agent on a computer with a compatible version of Microsoft Windows. Follow these steps to deploy the agent:

  1. Create a temporary folder (for example, OracleInventory) on the Windows desktop or any other location.
  2. Extract the contents of the Flexera-supplied stand-alone inventory agent file Oracle-Agent.zip into this folder.
  3. Using Windows Explorer, create a folder to save the collected inventory information (for example, C:\Inventories\). You should add this path to the OutputDir parameter in the oratrack.ini file.

Configuring the Agent

To enable the stand-alone Oracle inventory agent to collect inventory from target Oracle databases, register every target Oracle server with the agent, and record the Oracle service name for each Oracle server in the oratrack.ini file. Follow these steps to configure the agent:

  1. Ensure that you have both:
    • Installed the compatible ODAC driver on the Windows server where the agent is deployed.
    • Created the audit user on each of the target Oracle servers.
  2. Launch the Windows command prompt with the "Run as administrator" option enabled and browse to the OracleInventory folder.
  3. Invoke the agent by using the following command. The agent should display a list of available options:
    ..\OracleInventory> oratrack
    server Query specified server
    -a Query all configured servers
    -l List configured servers and credentials
    -s Set logon credentials for server
    -d Delete logon credentials for server
  4. When the agent is not being run for the first time, use the following command to list any previously-targeted Oracle servers that are still registered with the agent.
    oratrack.exe -l
  5. If any undesired Oracle servers are registered with the agent, use the following command with the name of the Oracle server whose registration is to be deleted.
    oratrack.exe -d <server name>
    where <server name> is the name of the target Oracle server.
  6. Use the following command to register a target Oracle server with the stand-alone Oracle inventory agent. The agent will collect inventory only from the Oracle servers registered with it.
    oratrack.exe -s <server name>
    where <server name> is the name of the target Oracle server that is to be registered with the agent. The agent prompts you to enter the credentials of the audit user created on this server with the user creation script.
    For details about how to get the user creation script, see the Prerequisites section above.
  7. Enter the credentials for the audit user created on this Oracle server.
  8. Repeat step 6 for each of the target Oracle servers. The agent records each server name with its user name and encrypted password in the oratrack.ini file in the OracleInventory folder.
  9. To record Oracle service names, open the oratrack.ini from the OracleInventory folder. The file should contain details of every Oracle server registered with the agent.
  10. Add the service and port information for each of the registered Oracle servers. The sixth line of the following code shows an example service name for the oracle.example.com Oracle server.
    [Global] OutputDir=C:\Inventories
    [oracle.example.com]
    Username=<user name>
    Password= ($%^&(^TIJHHDJH
    Service=<service name>
    Port=<port num>

    Note: The oratrack.exe tool encrypts the password automatically, before saving it to the oratrack.ini file.

  11. Set the OutputDir parameter to the path where you want the agent to store the collected inventory files. The above code example sets the output directory to C:\Inventories.
  12. Use the following command to review the list of Oracle servers registered with the stand-alone agent:
    oratrack.exe -l

Your agent is now ready to collect inventory from target Oracle servers.

Warning: We do not recommend using the stand-alone Oracle inventory collection agent with Oracle hosts running multiple Oracle Database services. If you are using the stand-alone Oracle inventory agent to collect inventory from such an Oracle host, you need to:

  • Make sure that the multiple database versions on the host are compatible with the Oracle client version installed on the computer where you are using the Oratrack agent. If the database versions are incompatible with the installed Oracle client version, the agent may not work as expected.
  • Run the tool for every Oracle service on the host, after changing the service name in the oratrack.ini file.
  • Copy the generated inventory (.ndi) file out of the output folder, before you run the tool with the changed service name to save it from being overwritten with the new inventory file.
  • Upload the multiple inventory files to FlexNet Manager Suite.

Collecting Inventory

When you have registered all target Oracle servers with the stand-alone Oracle inventory agent, you can run the agent to collect Oracle Database inventory from the registered Oracle servers. Follow these steps:

  1. Use the following command to run the stand-alone Oracle inventory agent. The agent executes, collects inventory from each of the Oracle servers listed in the oratrack.ini file, and saves the inventory files (.ndi) in the output folder specified in the oratrack.ini file.
    oratrack.exe -a

    The agent runs and displays some log messages. Wait until the command execution is over.

  2. Navigate to the output folder (C:\Inventories) and verify that an .ndi file exists for each of the target Oracle servers.
  3. If the inventory file for a particular Oracle server is missing, you can test its connectivity using the following command:
    sqlplus fnmoaudit/<password>@<oracle instance>
    where fnmoaudit is the name of the audit user, <password> is the password for the audit user, and <oracle instance> is the name of the Oracle server. Contact your network administrator to resolve any connection errors.

Exporting Inventory

The license consumption calculation process of FlexNet Manager Suite requires the collected .ndi files for calculating your Oracle license position.

If you have installed FlexNet Beacon software, you can manually transfer the collected inventory (.ndi) files to the Warehouse directory\Incoming\Inventories folder. The inventory beacon uploads the inventory to FlexNet Manager Suite.

If you have not installed any inventory beacon, you can use any third-party methods to export the imported inventory to the C:\ProgramData\Flexera Software\Incoming\Inventories folder on the FlexNet Manager Suite server.

Some Oracle license calculations (for example, processor-based) are dependent on the hardware information of the host. To get accurate license consumption calculations, FlexNet Manager Suite advises you to gather and upload the hardware inventory of the target Oracle hosts, in addition to the Oracle Database inventory. You can use any third-party inventory system, or any Flexera recommended inventory collection method, to collect hardware inventory from the target Oracle servers. For more information about the inventory collection methods supported by Flexera, see the Oracle Discovery and Inventory chapter in the System Reference Guide PDF.

Uninstalling the Agent

You can easily uninstall the stand-alone Oracle inventory agent by following these steps:

  1. Using Windows Explorer, delete the following folders:
    • OracleInventory — the deployment folder
    • C:\Inventories\ — the output folder.
  2. (Optional) Request your Oracle Database administrator to remove the audit user from each of the target Oracle servers.

Appendix: Oracle Tables and Views for Oracle Inventory Collection

You need to create a database audit account on each of the target Oracle servers to collect Oracle inventory using the stand-alone Oracle inventory agent. The database account must have read-only access to the following tables and views. These tables contain only internal database information, and no user or application data. The database administrator can use a script from Flexera to create a user fnmoaudit on all target Oracle servers.

  • applsys.fnd_app_servers
  • applsys.fnd_application_tl
  • applsys.fnd_nodes
  • applsys.fnd_product_installations
  • applsys.fnd_responsibility
  • applsys.fnd_user
  • apps.fnd_user_resp_groups
  • CONTENT.ODM_DOCUMENT
  • DMSYS.DM$MODEL
  • DMSYS.DM$OBJECT
  • DMSYS.DM$P_MODEL
  • DVSYS.DBA_DV_REALM
  • LBACSYS.LBAC$POLT
  • MDSYS.ALL_SDO_GEOM_METADATA
  • MDSYS.SDO_GEOM_METADATA_TABLE
  • ODM.ODM_MINING_MODEL
  • ODM.ODM_RECORD
  • OLAPSYS.DBA$OLAP_CUBES
  • SYS.DBA_ADVISOR_TASKS
  • SYS.DBA_AWS
  • SYS.DBA_CUBES
  • SYS.DBA_ENCRYPTED_COLUMNS
  • SYS.DBA_FEATURE_USAGE_STATISTICS
  • SYS.DBA_FLASHBACK_ARCHIVE
  • SYS.DBA_FLASHBACK_ARCHIVE_TABLES
  • SYS.DBA_FLASHBACK_ARCHIVE_TS
  • SYS.DBA_INDEXES
  • SYS.DBA_LOB_PARTITIONS
  • SYS.DBA_LOB_SUBPARTITIONS
  • SYS.DBA_LOBS
  • SYS.DBA_MINING_MODELS
  • SYS.DBA_OBJECTS
  • SYS.DBA_RECYCLEBIN
  • SYS.DBA_REGISTRY
  • SYS.DBA_SEGMENTS
  • SYS.DBA_SQL_PROFILES
  • SYS.DBA_SQLSET
  • SYS.DBA_SQLSET_REFERENCES
  • SYS.DBA_TAB_PARTITIONS
  • SYS.DBA_TAB_SUBPARTITIONS
  • SYS.DBA_TABLES
  • SYS.DBA_TABLESPACES
  • SYS.DBA_USERS
  • SYS.DUAL
  • SYS.GV_$INSTANCE
  • SYS.GV_$PARAMETER
  • SYS.REGISTRY$HISTORY
  • SYS.ROLE_SYS_PRIVS
  • SYS.USER_ROLE_PRIVS
  • SYS.USER_SYS_PRIVS
  • SYS.V_$ARCHIVE_DEST_STATUS
  • SYS.V_$BLOCK_CHANGE_TRACKING
  • SYS.V_$CONTAINERS
  • SYS.V_$DATABASE
  • SYS.V_$INSTANCE
  • SYS.V_$LICENSE
  • SYS.V_$OPTION
  • SYS.V_$PARAMETER
  • SYS.V_$SESSION
  • SYS.V_$VERSION
  • SYSMAN.MGMT_$TARGET
  • SYSMAN.MGMT_ADMIN_LICENSES
  • SYSMAN.MGMT_FU_LICENSE_MAP
  • SYSMAN.MGMT_FU_REGISTRATIONS
  • SYSMAN.MGMT_FU_STATISTICS
  • SYSMAN.MGMT_INV_COMPONENT
  • SYSMAN.MGMT_LICENSE_CONFIRMATION
  • SYSMAN.MGMT_LICENSE_DEFINITIONS
  • SYSMAN.MGMT_LICENSES
  • SYSMAN.MGMT_TARGETS
  • SYSMAN.MGMT_VERSIONS
Labels (2)
Was this article helpful? Yes No
80% helpful (4/5)
Comments

Good to have this enhancement and thanks for sharing it

This solution doesn't seem to work.  Getting the following error like the license has changed...

 

Failed to open inventory for oradbserver.company.com: 0xe1a50015.

License term PurlBladeOracle was not found in file D:\ORAtrack\oratrack.xml

Oracle inventory failed for server oradbserver.company.com.

 

Version history
Revision #:
5 of 5
Last update:
‎Oct 30, 2020 08:50 AM
Updated by: