Page tree
Skip to end of metadata
Go to start of metadata


TKU July 2008

When the Oracle RDBMS attempts to link the Database Server instances with instances of TNS Listener, it performs a regular expression match of the Database SID and the TNS Listener SID. This SID may contain characters which have special meaning in regular expressions (e.g. '+').
In TKU July 2008 the pattern now escapes the special characters before it performs regular expression match.


TKU February 2009

In TKU February 2009 we added a configuration section which allows sudo support to be disabled (default) or enabled and allows the path to the sudo process to be user-defined (defaults to PRIV_RUNCMD). This same configuration section also allows pmap support to be disabled (default) or enabled and allows the path to the pmap process to be user-defined.

TKU March 2009

In TKU March 2009 we added 2 new functionalities to the Oracle RDBMS pattern.

The pattern is now able to retrieve Listening Port and Global Name for a give Oracle Sid, by using 2 possible methods. The relevant section contains exhaustive details on both methods.

Furthermore, the pattern is able to retrieve a list of Options which can be installed in the Database, and report on whether these options are actually Installed or not. This is particularly relevant for Licensing purposes. Please refer to the relevant page for further details.

TKU April 2009

In TKU April 2009 we added extra Simple Identifiers, and additional "related processes" links from the Database Server Software Instance.

TKU May 2009

In TKU May 2009 we enhanced the code able to retrieve the list of installed options by adding the ability to get the list from a file on both the Windows and UNIX platforms should the SQL Query fail or be unable to be executed for whatever reason.

TKU June 2009

In TKU June 2009 we added a new method to retrieve ora_home, which uses the Path of the TNS Listener associated with a specific SID. This method also allows the Pattern to recognize if it is acting in an E-Business Suite environment, in which case the pattern knows where to look for the listener.ora file, which will be located in a different directory.

TKU July 2009

In TKU July 2009 we added the ebs_suite attribute to the Oracle Database Server SI. This attribute is only added when we are dealing with on Oracle E-Business Suite Database, and will allow the E-Business Suite pattern to trigger, and subsequently model the appropriate SIs and BAIs.

We also added a Path Versioning method to the TNS Listener, and the ability for the Listener to retrieve the ora_sid in an E-Business Suite environment.


TKU March 2010

In TKU March 2010 we augmented the pattern's possibilities to extract ora_home. This was accomplished by interrogating the TNS Listener SoftwareInstance for that particular attribute.

We also added a Communication Relationship, modeled from the TNS Listener back to the Oracle Database Server

TKU April 2010

In TKU April 2010 four additional processes (Oracle shadow process, Oracle RAC Diagnosibility Daemon, Oracle Memory Manager and Oracle Database Automatic Workload Repository Statistics Gatherer Process) were added to the list of processes linked to the Software Instance via inference.associate() relationship.

TKU May 2010

In TKU May 2010 'ora_lmon' was added to the list of related processes and if found would lead to creation of 'clustered' attribute in SoftwareInstance; simplified greedy regex in listener section (bug #13113); fixed minor bugs: #13120, #13152 and #13204. Also the pattern's behavior was updated - now it populates "service_name" attribute, and if it is not found in tnsnames.ora file when global_name is known - the pattern will assign the value of global_name to service_name (bug #13021).

TKU June 2010

In TKU June 2010 the Database Server pattern no longer includes ora_home as part of the SI key as this could lead to instability in the model produced and duplicate SIs being created. ora_home is obtained in a number of ways and may not always be obtained on a first scan. Re-arranged also the order the pattern attempts to obtain ora_home.
Additionally, an inconsistency where the port attribute could be set as either integer or string was removed. The port attribute is always set to string.

TKU July 2010

In TKU July 2010 the Oracle Database Server and Oracle Database Server Express (UNIX) patterns were updated with improved code to parse oratab files to retrieve the installation path (oracle_home) of the database instance. The new regular expression deals with oratab lines which have more columns than normally seen in an oratab file.

TKU August 2010

In TKU August 2010 two changes were made:

  • We amended the way eBusiness instances are handled by the TNS Listener pattern, instance names of APPS_X and X are now treated as separate instances
  • Some changes were made to the internal logic of the pattern where the Oracle Database Software Instance obtains the ora_home variable from a related TNS Listener Software Instance

TKU September 2010

In TKU September 2010 the Oracle RDBMS and Oracle Database Express patterns were updated to further improve parsing of the oratab file.
Furthermore, the TNS Listener pattern was updated to improve parsing of tnsnames.ora file in order to prevent the pattern exiting with an ECA Engine error when characters such as '+' were encountered as part of the service name.

TKU December 2010

In TKU December 2010 the Oracle RDBMS pattern was updated that parsing of the XML file containing edition information is now optionally performed with elevated privileges.


TKU April 2011

In TKU April 2011 the Oracle RDBMS Installed Options pattern module was modified. It now detects the Data Mining installed options via a database query. The key of any detailed node created was changed from row, DB SI key and host key to row and DB SI key. The detailed nodes also now age out correctly.

TKU May 2011

In TKU May 2011 the Oracle RDBMS Installed Options pattern module was modified. For ADDM 8.2 onwards, privileged cat commands are now always executed regardless of the state of the UNIX privilege execution flag (now removed as redundant) in the configuration section and instead of 'cat' command.

TKU September 2011

In TKU September 2011:

  • Extra functionality was added to obtain the address_names from the tnslistener.ora file
  • The TNS Listener pattern has been updated with an improved UNIX path regex to increase versioning coverage.

TKU October 2011

In TKU October 2011:

  • A minor change was made to the way the relevant file was parsed to obtain the address_names attribute.
  • Added case insensitivity to regex used for extracting information like port and matching hosts from the listener file.

TKU November 2011

In TKU November 2011, a minor update to the Oracle Database Server pattern was made to determine if the version obtained using active command approach is likely to be correct and also to map the version obtained on Oracle 7 installations to that version of the product


TKU February 2012

In TKU February 2012 the regular expression used to obtain the service name was slightly improved

TKU March 2012

In TKU March 2012 the DatabaseServer pattern now attempts to extract the latest edition when multiple context.xml files are to be found on the UNIX platform.

TKU April 2012

In TKU April 2012 the DatabaseServer pattern was updated in the following ways:

  • Improved methods for obtaining ora_home; improved active and registry versioning method;
  • Enhanced method for obtaining db_unique_name, service_name from spfile.ora or init.ora.
  • Populated listen_tcp_sockets, listen_ips and listen_ports attributes from related "TNS Listener" SIs.
  • Additional paths to context.xml file added.

The TNSListener pattern was updated in the following ways:

  • Enhanced method for obtaining listener_name.
  • Added active command for obtaining version and listening addresses.
  • Updated method for reading listening addresses and served Oracle instances from listener.ora file
  • Added config section for custom paths to listener.ora files

TKU May 2012

In TKU May 2012 the following updates were made:

  • DatabaseServer pattern: enhanced regex for obtaining ora_home from Windows service.
  • TNSListener pattern: added enhancement for parsing of listener.ora file.

TKU June 2012

In TKU June 2012 the following updates were made:

  • Added enhanced support for Oracle RAC.
  • Fixed bug with overwriting ora_home variable
  • The pattern compatible with Atrium Discovery 8.3 and later was updated through an addition of a 'product' SI attribute set to combination of 'type' and 'edition' to improve CMDB mapping that is used by the Atrium Product Catalog

TKU July 2012

In TKU July 2012 the following updates were made:

  • added support for IPv6
  • added support for Xenolith Network Model
  • added check if IP from obtained socket belongs to current Host
  • added 'net_service_names' attribute to Oracle pattern which shows 'net_service_name's (from LOCAL tnsnames.ora file), which are pointed to current Oracle SID;
  • added extraction of sid_to_service_map from SID_LIST_<LISTENER_NAME> section of listener.ora file
  • pattern tries to read listener.ora files from all possible locations until file with corresponding listener section is found

TKU August 2012

In TKU August 2012 the following changes were made:

  • new 'bytes', 'maxbytes', 'user_bytes' attributes where added to 'Oracle Datafile' detail in 'SchemasAndTables' pattern of 'OracleRDBMS_DBDetails' module.
  • fixed wrong product_version identification

TKU September 2012

In TKU September 2012 In order to represent architecture of homogenous distributed database system, which is a network of two or more Oracle Databases that reside on one or more machines, the pattern creates a client-server communication link between Oracle SIs which form such system.

TKU November 2012

In TKU November 2012 the following changes were made:
TNSListener pattern - Improved method for listener.ora file path identification when it is located in non-standard directory
DatabaseServer pattern - code for search of Oracle SI by net_service_name is replaced with common RDBMS function.

TKU December 2012

In TKU December 2012 the pattern has had a minor update to ensure mapping of certain attributes to Atrium CMDB BMC_Product CI matches Atrium Product Catalog Data (as published by BMC)


TKU February 2013

In TKU February 2013 the regular expression used to obtain hostname in resolve_named_address function was slightly improved

TKU March 2013

In TKU March 2013 the case for IPv6 wildcard address was added in resolve_named_address function.
Added additional path candidate to context.xml file for Oracle RDBMS 9.

TKU May 2013

In TKU May 2013:

  • The unix path version regular expression was curtailed to prevent it retrieving incorrect versioning information towards the end of ora_home
  • There was a small internal change to the way context.xml is parsed to obtain edition information

TKU July 2013

In TKU July 2013 'PRIV_RUNCMD ls' was replaced with 'PRIV_LS' in execute_priv_grep_cmds() function. We also added some extra comments were added to the pattern configuration section to make it clear pmap_enabled will only work in priv_execution is enabled.

TKU September 2013

In TKU September 2013 the following changes were made:

  • pattern DatabaseServer 2.20
    • Unix path versioning regex is updated
    • Updated versioning method for Oracle 7
    • Updated edition extraction method for Oracle 11.1 and below (Unix)
    • Added new edition extraction method for Oracle 11.2 and above (Unix/Windows)
    • Windows edition extraction method from registry is moved to function
    • Added command versioning method which is based on listing of "%ora_home%/inventory/Components21/oracle.rdbms" directory
    • Added '_data_guard_role' attribute management code
  • TNSListener
    • Unix path versioning regex is updated
    • ora_home is added to key
  • DatabaseServerExpressUnix
    • fixed bug in product_version identification

TKU October 2013

In TKU October 2013 the Oracle RDBMS extended discovery pattern module was modified to reduce transaction size by splitting two patterns into four.

TKU November 2013

In November TKU the following changes were made:

  • Updated trigger and versioning methods to support Oracle Express Edition on Unix platforms, instead of separated DatabaseServerExpressUnix pattern.
  • Some part of code moved to function section.
  • Fixed ora_home extraction method from oratab file for clustered systems
  • Added support for multiple service_names, db_unique_name attribute is replaced with new global_db_name attribute
  • Added new method for global_db_name and service_names extraction using srvctl command

TKU December 2013

In December TKU the following changes were made:

  • code for creation of linked Oracle SI is moved to function linked_oracle_instances()
  • enhanced support of additional formats of sql query output in linked_oracle_instances() function.


TKU March 2014

In TKU March 2014 path versioning method and versioning based on "Component21" subdirectory were combined.

TKU April 2014

In TKU April 2014 extraction of RAC host nodes was added to DatabaseServer pattern.

TKU May 2014

In TKU May 2014 fixed ECA error caused by absent cmdline attribute in DiscoveredService node and added new configuration option to exclude schema names based on substring.

TKU June 2014

In TKU May 2014 :

  • in "Oracle RDBMS" sql_versioning function: switched order of sql queries for better support of Oracle 12c - query with service name is tried first now

2014-06-03 - switched order of sql queries for better support of Oracle 12c - query with service name is tried first now (QM001822230)

TKU July 2014

In TKU July 2014:

  • The Oracle RDBMS Installed Options pattern now identifies and creates the following options:
    • Advanced Security (Transparent Data Encryption) 
    • Spacial 
    • Real Application Testing
  • Improved naming for Oracle RAC SI located on single host (QM001851127).
  • The J2EEInferredModel and RDBMS_Functions patterns were enhanced to support new·syntax of the JDBC connection. The SID and service name are now extracted correctly (QM001829931).


    Enhanced OracleRDBMS_DBDetails pattern to support Oracle 12c Pluggable Databases (PDBs). PDBs are modelled as DatabaseDetails (QM001822230).

TKU August 2014

Starting from TKU August 2014, the Oracle RDBMS Installed Options pattern now identifies and creates the following options:

  • Oracle Database Vault
  • Oracle Label Security
  • Advanced Analytics
  • Advanced Compression
  • Active Data Guard

TKU November 2014

In TKU November 2014, the following patterns were updated:

  • Oracle RDBMS: the process, which indicates clustered Oracle instance, is changed from ora_lmon_<sid> to ora_lms0_<sid>
  • Oracle Management Packs: added support for 'Oracle Cloud Management Pack for Oracle Database' and 'Oracle Database Lifecycle Management Pack'

TKU December 2014

In TKU Dec 2014 the pattern was updated to handle the following situation: "User doesn't have enough privilege to perform the operation". Privileged execution of crs_stat -v is now performed where user doesn't have enough privilege to perform such operation (QM001866327).


TKU April 2015

In TKU April 2015 the pattern was updated with the following changes:

  • The documentation was updated with the following important information: two scans are necessary to allow BMC Atrium Discovery model all interdependent elements of Oracle Database and Oracle Real Application Clusters. (QM001876497)

TKU May 2015

In TKU May 2015 the pattern was updated with the following changes:

  • The pattern now extracts information about the patches installed for Oracle database on Unix systems.(TKU-3915)

TKU October 2015

In TKU October 2015 the pattern was updated with the following changes:

  • Added a workaround for the "opatch lsinventory" command on Oracle Enterprise Linux.

TKU November 2015

In TKU November 2015 the pattern was updated  to not trigger windows process with +ASM in arguments (QM001889967)


TKU January 2016

In TKU January 2016 the pattern was updated with the following changes:

  •  SI key altered to include global_db_name in place of ora_sid if database clustered.

TKU February 2016

In TKU February 2016 the pattern was updated with the following changes:

  • Cluster awareness was incorporated to initially work in conjunction with Oracle Clusterware, Oracle DataGuard, HP Service Guard and Symantec Veritas Cluster Server.
  • ora_lmon_* has been excluded from being an associated process as it is the primary process for "Oracle RAC Global Enqueue Service Monitor" Software Instance.
  • For BMC ADDM 10.2 and earlier only, reverted change to SI key in TKU Jan to use global_db_name instead of ora_sid if database clustered (00071274)
  • Database role attribute, as extracted from v$database query, added to Oracle Parameters detail node with a value of "PRIMARY", "PHYSICAL STANDBY" or "LOGICAL STANDBY" to better support Oracle Data Guard.
  • regexes for ora_home extraction were updated.

TKU March 2016

In TKU March 2016 support was added for detecting Oracle Multitenant on version 12.

TKU April 2016

In TKU April 2016 queries to Oracle DB were updated (DRDC1-4759)

TKU July 2016

In TKU July 2016 pattern trigger was updated, list of custom locations to Oracle Installer location file added to configuration options, enhanced global_db_name extraction.

TKU August 2016

In TKU August 2016 getPatches () function was updated with privileged execution option(DRDC1-6577).

TKU September 2016

In TKU September 2016 pattern was updated with discovery.access()  approach  which will be used only for BMC Discovery v 11.0+ (DRDC1-6708).

Hosting cluster node is looked up by db_unique_name instead of full global_db_name (Esc: 093353)

Changed <instance> for DatabaseDetail for clustered Oracle SI (Esc: 093353).


TKU October 2016

In TKU October 2016 updated query was added to Option/Pack extraction for Oracle version 11.1 and below.


TKU July 2017

In TKU July 2017 Added code that prevents link SI to itself (DRDC1-9174)

TKU August 2017

In TKU August 2017 Added condition and modified command for HP-UX that prevents command freezing (DRDC1-9493)

TKU September 2017

In TKU Sep 2017 :

- added listen ip address to arguments of cluster_support_functions.getHostingNode fucntion,
- ips can be used as evidence for clustered Oracle SI identification(DRDC1-9423)
- added configuration option for oracle patch extraction because 'opatch lsinventory' can hang on and create core dumps if it is run by user with insufficient permissions.(DRDC1-9839)

- create link between Listener and Cluster based on listening IPs (DRDC1-9423)
- added secondary method for served_oracle_instances identification based on listener name

TKU December 2017

In TKU December 2017 :

  • Added an alternative way of ora_home extraction for Oracle DB Server (DRDC1-10283)
  • Added listener_ora_file_path attribute to Oracle Net Services (TNS) Listener SI (DRDC1-10283)


TKU July 2018

In TKU July 2018 service_names extraction was updated. (DRDC1-10989)


TKU January 2019

In  TKU January 2019 Path versioning was updated, pattern will now try to use additional service names for SQL discovery, success_login_cred value changed to success_login_credential.

TKU April 2019

In TKU April 2019 the following changes were made:

  • Pattern runCommands updated.
  • updated srvctl command to be executed successfully in ksh

TKU May 2019

In TKU May 2019 the following changes were made:

  • Clustered model updated to include locally running databases as Oracle Database Worker SIs.
  • Oracle Database Server instances, that are hosted on the cluster, are updated to display the main instance name.
  • Oracle Listeners linking was updated. Local listeners are no longer hosted on the cluster.
  • Additional methods to identify the versions of 18c+ databases.
  • listening_sockets processing was updated.

TKU October 2019

In TKU October 2019 the following changes were made:

  • Oracle unique name extraction via SQL updated
  • scan_name discovery added
  • PSU number discovery added

TKU November 2019

In TKU November 2019 the following changes were made:

  • Standard edition mapping updated
  • additional versioning method for clustered instances added

TKU December 2019

In TKU December 2019 the following changes were made:

  • imports updated
  • added RU(Release update) version extraction


TKU January 2020

In TKU January 2020 pattern was updated to always use local SID as instance for standalone databases.

TKU March 2020

TKU July 2020

In TKU July 2020 the following changes were made:

  • Unique name assignment updated
  • Listener removal updated
  • Regex for RU number, Active versioning regex, Domain extraction updated
  • related processes list updated

TKU October 2020


TKU January 2021

In TKU January 2021 pattern was updated to improve information extraction from Oracle RDBMS pattern for Oracle Data Guard Cluster.

TKU March 2021

In TKU March 2021 pattern was updated to use new SQL queries to get version and patch related information for Oracle databases 18.1+, edition extraction for silent installations on Unix platforms was added.

TKU April 2021

In TKU April 2021 the following patterns were updated:

Oracle.OracleRDBMS module Database pattern:

  • updated SQL versioning code with re-using success_login_credential from previous scan
  • updated extraction of listen_tcp_sockets, now it contains info from all serving Listeners (SCAN and Host (local))
  • sockets from SCAN Listeners (with VIP) are used in priority for SQL queries
  • update code for removing odd Oracle SIs created by previous pattern version or previous scans
  • updated linkage between Oracle and Listener SIs

Oracle.OracleRDBMS_Extended module Database pattern:

  • Database nodes are aged by pattern code instead of removal groupssome code is moved to functions (DRDC1-14608)
  • use global_db_name in name of CDB$ROOT Database nodes (DRDC1-16386)

TKU April 2021

In TKU May 2021 patch extraction for PSU version was updated (DRDC1-16673), pattern was updated to populate only the most recent patch version (DRDC1-16745).