KBI 311416 Issue Addressed Unhandled Exception In Argent for Oracle Monitoring Engine Process
Version
Argent Advanced Technology 3.1A-1601-T10 and earlier
Date
Friday, 17 June 2016
Summary
Customer reported that an unhandled exception found in Argent for Oracle Monitoring Engine process with the following entries in Monitor Engine log file:
>>>> Unhandled Exception happened in Thread 0X0 (ORACLE_SQL_QUERY_RULE.CPP, 2424)
Internal trace is dumped to ‘ORACLE_MONITOR_ENGINE_LOG_1_EXCEPTION_TRC.TXT’
DISCARDED exception logging (ORACLE_SQL_QUERY_RULE.CPP, 2424)
This is due to an incorrectly configured Argent for Oracle custom Query Rule
Added bulletproof to avoid such situation
Technical Background
Argent for Oracle provides a way to execute custom queries under ‘Oracle Query Rules’
As this is fully customizable, Rule breaking condition should also be configured correctly
Rule breaking conditions are to be configured against the result returned by the specified query
Argent for Oracle employs a logic with the index of the columns returned by the query used in the Rule
So there should be a one to one relationship with the number of columns returned by the query and the column index used in the Rule breaking condition
The following is the configuration screen of Rule condition in Argent for Oracle:
The highlighted option is the column index configuration option
The highlighted option is the column index configuration option
An unhandled exception in the Monitor Engine will happen if the specified column index is greater than total number of columns in the SQL query and logs following lines in the Monitor Engine log file:
<>>>> Unhandled Exception happened in Thread 0X0 (ORACLE_SQL_QUERY_RULE.CPP, 2424)
Internal trace is dumped to ‘ORACLE_MONITOR_ENGINE_LOG_1_EXCEPTION_TRC.TXT’
DISCARDED exception logging (ORACLE_SQL_QUERY_RULE.CPP, 2424)
Added bulletproof to avoid this exception
Resolution
Upgrade to Argent Advanced Technology 1601-T11 or later