Menu
Documentationbreadcrumb arrow Pluginsbreadcrumb arrow Oracle data sourcebreadcrumb arrow Oracle templates and variables
Enterprise

Oracle templates and variables

Instead of hard-coding details such as server, application, and sensor names in metric queries, you can use variables. Grafana lists these variables in dropdown select boxes at the top of the dashboard to help you change the data displayed in your dashboard. Grafana refers to such variables as template variables.

For an introduction to templates and variables, see the following topics:

To add a new Oracle query variable, see Add and manage variables. Use your Oracle data source as the data source.

An Oracle query can return things like measurement names, key names or key values that are shown as a dropdown select box.

Examples:

You can have a variable that contains all values for the hostname column in the host table.

sql
SELECT hostname FROM host

A query can return multiple columns and Grafana will automatically create a list from them. For example, the query below will return a list with values from hostname and hostname2.

sql
SELECT host.hostname, other_host.hostname2 
FROM host 
JOIN other_host ON host.city = other_host.city

To use time range dependent macros like $__timeFilter(column) in your query, set the refresh mode of the template variable to On Time Range Change.

sql
SELECT event_name 
FROM event_log 
sWHERE $__timeFilter(time_column)

You can write a query that creates a key/value variable. The query returns two columns, one called __text and the other __value. The __text column value should be unique. If it’s not unique, the first value is used. The options in the dropdown have a text and value that allows you to have the name as text and an id as the value. The following query has the hostname as text and id as the value:

sql
SELECT hostname AS __text, id AS __value 
FROM host

You can also create nested variables. You can create a variable called region, and have the hosts variable only show hosts from the current selected region with the following query:

sql
SELECT hostname 
FROM host 
WHERE region = '$region'

If region is a multi-value variable then use the IN comparison operator rather than = to match against multiple values.

Once you have created a variable, you can use it in Oracle queries by following variable syntax.