Oracle Management Option changes
Oracle Management Option (OMO) is a Snow License Manager module that enables Oracle administrators and license owners to manage Oracle database products in SLM under the Enterprise > Oracle overview menu item:
The OMO ecosystem itself is made up of various components:
The NEW and UPDATED labels identify the changes in this version of OMO.
The following changes in version 9.0.0 as compared to version 8.3 are covered in detail in the rest of this document:
-
New: Snow Software Oracle Service
-
New: Oracle Middleware discovery and data collection
-
New tables in SnowLicenseManager database
New: Snow Software Oracle Service
Snow Software Oracle Service (also referred to as the Oracle service in this document) is a new Windows service that:
-
Executes Oracle data cleansing, such as correcting Oracle Database Standard Edition to Standard Edition 2 for Oracle Database version 12.1.0.2.0
-
Moves data for Oracle Databases to copy database tables (copied data is used to detect changes)
-
Detects and tracks changes made by the SLM 9 Data Update Job to Oracle Databases
-
Pulls data from the Inventory Server web API, transforms that data, and saves it in database tables
Snow Software Oracle Service is included in the Snow License Manager 9 installation process.
Integration with Snow Inventory API
The Oracle service pulls data from Snow Inventory Server through a REST web API that Snow Inventory Server exposes. All requests to the Snow Inventory Server API are authenticated with an API key, which is maintained by Data Update Job for Snow License Manager 9.
Configuration
The Snow Software Oracle Service configuration file is available in the following location: <SnowLicenseManager_path>\Services \Oracle\SnowSoftware.LicenseManager.Oracle.Service.exe.config
The configuration section consists of several sections, of which the most important are processSchedule and appSettings, covered below.
Scheduled tasks
Scheduled tasks are controlled by the processSchedule section, which contains a collection of tasks. Tasks run successively and only one at a time, meaning that they might get delayed if the previous task is still running. If necessary, each task can also be controlled to postpone starting until Data Update Job completes.
Test signaling
Test signaling is used to attach a testing tool to the Oracle service. For production environments, this setting should be kept as false in normal circumstances.
Log location
Oracle service log files are located in <SnowSoftware_path>\Logs\OracleService.
Troubleshooting
If you encounter issues with the Snow Software Oracle Service, please collect the following information for the development team:
-
All available logs for the Oracle service.
-
The content of all OMO tables from the SLM database.
New: Oracle Middleware discovery and data collection
Oracle Middleware is a set of Oracle software products used to connect Oracle Databases with application or reporting software.
Introduced in this version of OMO is the ability to discover Oracle Middleware and collect its usage data in the organization's IT environment.
The inventory data for Oracle Middleware is transferred through API calls and not through Data Update Job.
Data collection from Snow Inventory API
The Oracle service pulls data from the Snow Inventory API at regular intervals, pre-configured usually for early morning. The data is received in JSON format and saved in staging tables, which are used to avoid lengthy processing during this stage. Data processing happens in separate tasks that are scheduled after data loading finishes.
Data transfer and normalization
The information that is gathered from the Snow Inventory API is a list of installed applications and application components. A distinct list of all newly discovered applications is saved in separate database tables, to be picked up from the DIS client and sent to the Global DIS repository to be analyzed—and if relevant—reported as a software product. These recognized software products are then connected to the corresponding record in the dbo.tblApplication database table. This is the DIS process know as normalization.
After receiving DIS normalized data, the Oracle service uses another task to build Middleware normalized data. This data is created by translating the set of recognized applications into software editions, used options, and management packs.
New tables in SnowLicenseManager database
Table | Purpose |
---|---|
omo.EnvironmentChange | Keeps track of changes coming in from Snow Inventory server into SLM. EnvironmentChangeData is the deserialized JSON that contains the changes, while ItemId is the appropriate ID of the item changed (DatabaseID, InstanceID, AddOnID, and so on) |
omo.EnvironmentChangeGroup | Environment change group with appropriate source table name and key name |
omo.EnvironmentChangeType | Environment change type with name |
omo.DatabaseOptionsOverride | Overrides for Installed and Used fields in omo.DatabaseOptions. |
omo.DatabaseManagementPacksOverride | Overrides for Agreed and Granted field in omo.DatabaseManagementPacks. |
OracleDatabaseLifetimeSupport | Support dates for Oracle databases |
omo.SoftwareEnvironment | Keeps records for software environment Name (Production, Development, and so on) |
omo.Database | Copy of dbo.tblOracleDatabase |
omo. DatabaseOptions | Copy of dbo.tblOracleDatabaseOptions |
omo. DatabaseManagementPacks | Copy of dbo.tblOracleDatabaseManagementPacks |
omo. DatabaseInstances | Copy of dbo. tblOracleDatabaseInstances |
omo.DatabaseServers | Copy of dbo. tblOracleDatabaseServers |
omo.DatabaseUsers | Copy of dbo. tblOracleDatabaseUsers |
omo.DatabaseSessions | Copy of dbo. tblOracleDatabaseSessions |
omo.DatabaseFeatureUsageStats | Copy of dbo.tblOracleDatabaseFeatureUsageStats |
omo.DatabaseManagementPacksSummary | Copy of dbo.tblOracleDatabaseManagementPacksSummary |
omo.DatabaseProperties | Copy of dbo.tblOracleDatabaseProperties |
omo.MiddlewareProduct | Operational table for recognized Oracle middleware products |
omo.MiddlewareProductEditionType | Operational table for resolved Oracle middleware software product edition types (such as Oracle WebLogic Server Standard Edition) |
omo.MiddlewareProductEdition | Operational table for resolved Oracle middleware software product editions (such as Oracle WebLogic Server Standard Edition 12c) |
omo.MiddlewareInstallation | Operational table for inventoried and recognized Oracle middleware software |
omo.MiddlewareServer | Operational table for servers that have installed Oracle middleware software |
omo.MiddlewareDomain | Operational table for Oracle middleware domain configuration |
omo.MiddlewareDomainCluster | Operational table for Oracle middleware domain configuration about clusters |
omo.MiddlewareDomainManagedServer | Operational table for Oracle middleware domain configuration about managed servers |
omo.MiddlewareDomainClusterManagedServer | Operational table for Oracle middleware domain configuration about clusters the managed servers are associated with |
omo.ScanMiddlewareComponent | Staging table for inventoried data about Oracle middleware components |
omo.ScanMiddlewareDomain | Staging table for Oracle middleware domain configuration |
omo.ScanMiddlewareDomainCluster | Keeps records for Oracle middleware domain configuration about clusters |
omo.ScanMiddlewareDomainManagedServer | Keeps records for Oracle middleware domain configuration about managed servers |
omo.ScanMiddlewareServer | Staging table for servers that have installed Oracle middleware software |
omo.ScanMiddlewareFeatures | Staging table for inventoried data about Oracle middleware features |
omo.ScanMiddlewareDistribution | Staging table for inventoried data about Oracle middleware distributions |
omo.TaskExecutionAudit | Audit table for Oracle task scheduler |
dis.tblOmoMiddlewareHarvest | DIS table for records about Oracle middleware products that are still not recognized |
dis.tblOracleEditionBundle | DIS table for meta-configuration related to Oracle middleware edition resolving |
dis.tblOmoMiddlewareHarvestApplicationMap | DIS table for recognition of Oracle middleware software based on MiddlewareHash |
dis.tblApplication_Version | DIS table for additional information related to Oracle middleware editions and versions |