Property System
There are several types of properties in dbWatch.
- Predefined properties are always present. For example, instances have properties called name and host.
- Metadata properties are are manually assigned to particular objects in dbWatch (like instances or tasks).
- Dynamic properties are properties that are dynamically defined for objects of a particular type.
Dynamic properties
Dynamic properties are defined in xml files located in the [dbWatch Server]/server/resources/properties/ catalog.
You cannot add files to this catalogue manually, but import them by placing them in the [dbWatch Server]/server/resources/import_area catalog.
This file contains properties in the following format:
<property>
<key>version</key>
<compatability>instance[databasetype='oracle']</compatability>
<value engine="sql">select VERSION from v$instance</value>
<valid-for>24h</valid-for>
</property>
<property>
<key>active_session_count</key>
<compatability>instance[databasetype='oracle']</compatability>
<value engine="sql">select count(*) from v$session where status = 'ACTIVE' and username is not null</value>
<valid-for>5m</valid-for>
</property>
The fields are
- key : The name that identifies this property (used in dbwql queries).
- compatability : DBWQL query that defines the database instances that this property is compatible with.
- value : An SQL query that defines the property value.
- valid-for : How long this property can be cached. Format xh/xm/xs, examples “24h”, “15m”, “60s”. (hours/minutes/seconds cannot be combined, so “1m 30s” is not allowed and must be written as “90s”).
Accessing properties
All properties can be queried using DBWQL, for example: