The <versiontrigger> database configuration element

The <versiontriggers> element in file database-config.xml can contain any number of occurrences of subelement <versiontrigger>. The use of the <versiontrigger> element is optional. Use this element to provide specific override instructions for a named version trigger.

The <versiontriggers> element has the following syntax. The following code sample shows required attributes in bold font.

<database>
  <upgrade>
    <versiontriggers>
      <versiontrigger extendedquerytracingenabled="true|false" name="string" 
            parallel-dml="true|false" parallel-query="true|false"
            queryoptimizertracingenabled="true|false" recordcounters="true|false"
            updatejoinorderedhint="true|false" updatejoinusemergehint="true|false"
            updatejoinusenlhint="true|false"/>
    </versiontriggers>
  </upgrade>
</database>

The following list describes the attributes that you can configure on the <versiontrigger> element.

name

Required. Case-sensitive, fully qualified name of a version trigger.

The following attributes are all optional.

extendedquerytracingenabled

Boolean. (Oracle) Whether PolicyCenter uses extended SQL tracing (Oracle event 10046) for the SQL statements that the version trigger executes. The default is false.

This output can be very useful if debugging certain types of performance problems. The trace files that PolicyCenter generates exist only on the actual database computer. PolicyCenter does not integrate this information into the upgrade instrumentation.

parallel-dml

Boolean. (Oracle) Whether Oracle executes DML (Data Manipulation Language) statements in parallel for this particular version trigger during the database upgrade.

Valid values are:

  • true – Execute DML statement in parallel for inserts and updates for this version trigger, unless the ora-parallel-dml attribute on the <upgrade> element is set to disable.
  • false – Disable parallel execution of DML statements for this version trigger, even if set in code or if the ora-parallel-dml attribute on the <upgrade> element is set to enable_all.

If not set, Oracle executes DML statements in parallel, if set in the code or the ora-parallel-dml attribute on the <upgrade> element is set to enable_all (default). See The <upgrade> database configuration element for more information.

parallel-query

Boolean. (Oracle) Whether a version trigger provides a hint to the optimizer to use parallel queries while executing SQL queries. This can be useful in improving performance as some version triggers read large amounts of data while running their version check.

Valid values are:

  • true – Execute parallel SQL queries unless the ora-parallel-query attribute on the <upgrade> element is set to disable.
  • false – Do not execute parallel SQL queries.

The default is false.

See The <upgrade> database configuration element for more information.

queryoptimizertracingenabled

Boolean. (Oracle) Whether PolicyCenter uses query optimizer tracing (Oracle event 10053) for the SQL statements that the version trigger executes. The default is false.

This output can be very useful if debugging certain types of performance problems. The trace files that PolicyCenter generates exist only on the actual database computer. PolicyCenter does not integrate this information into the upgrade instrumentation.

recordcounters

Boolean. Whether to record the values of DBMS-specific counters at the beginning and end of each execution of the specified version trigger. Valid values are:

  • truePolicyCenter retrieves the current state of the counters from the underlying DBMS at the beginning of execution of the version trigger. This behavior is dependent on the value of dbmsperfinfothreshold on <versiontriggers>. if the execution time of the version trigger exceeds the value of dbmsperfinfothreshold, PolicyCenter retrieves the state of the counters at the end of the execution of the version trigger.
  • falsePolicyCenter does not retrieve data.

The default is false.

PolicyCenter writes differences to the DBMS-specific instrumentation screens of the upgrade instrumentation. PolicyCenter only persists these values with the upgrade instrumentation if the execution time of the version trigger exceeds the configured threshold.

See also The <versiontriggers> database configuration element.

updatejoinorderedhint

Boolean. (Oracle) Whether to use the ORDERED hint if using a SQL UPDATE statement with a join operation. The default is false.

updatejoinusemergehint

Boolean. (Oracle) Whether to use the USE_MERGE hint if using a SQL UPDATE statement with a join operation. The default is false.

updatejoinusenlhint

Boolean. (Oracle) Whether to use the USE_NL hint if using a SQL UPDATE statement with a join operation. The default is false.

The <version-trigger> element does not contain additional subelements.

See also