summarize-sql-statistics

Description

Query SQL Warehouse to get the performance statistics for SQLs taking greater than X% database time for a given time period across the given databases or database types in a compartment and in all sub-compartments if specified.

Usage

oci opsi database-insights summarize-sql-statistics [OPTIONS]

Required Parameters

--compartment-id, -c [text]

The OCID of the compartment.

Optional Parameters

--analysis-time-interval [text]

Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).

--category [text]

Filter sqls by one or more performance categories.

Accepted values are:

CHANGING_PLANS, DEGRADING, DEGRADING_CHANGING_PLANS, DEGRADING_CHANGING_PLANS_AND_INCREASING_CPU, DEGRADING_CHANGING_PLANS_AND_INCREASING_INEFFICIENT_WAIT, DEGRADING_CHANGING_PLANS_AND_INCREASING_IO, DEGRADING_INCREASING_CPU, DEGRADING_INCREASING_INEFFICIENT_WAIT, DEGRADING_INCREASING_IO, DEGRADING_INEFFICIENT, DEGRADING_VARIANT, IMPROVING, INEFFICIENT, INEFFICIENT_CHANGING_PLANS, INEFFICIENT_CHANGING_PLANS_AND_INCREASING_INEFFICIENT_WAIT, INEFFICIENT_INCREASING_INEFFICIENT_WAIT, VARIANT, VARIANT_CHANGING_PLANS, VARIANT_CHANGING_PLANS_AND_INCREASING_CPU, VARIANT_CHANGING_PLANS_AND_INCREASING_INEFFICIENT_WAIT, VARIANT_CHANGING_PLANS_AND_INCREASING_IO, VARIANT_INCREASING_CPU, VARIANT_INCREASING_INEFFICIENT_WAIT, VARIANT_INCREASING_IO, VARIANT_INEFFICIENT
--cdb-name [text]

Filter by one or more cdb name.

--compartment-id-in-subtree [boolean]

A flag to search all resources within a given compartment and all sub-compartments.

--database-id [text]

Optional list of database OCIDs of the associated DBaaS entity.

--database-time-pct-greater-than [text]

Filter sqls by percentage of db time.

--database-type [text]

Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.

Accepted values are:

ADW-D, ADW-S, ATP-D, ATP-S, COMANAGED-BM-CDB, COMANAGED-BM-NONCDB, COMANAGED-BM-PDB, COMANAGED-EXACS-CDB, COMANAGED-EXACS-NONCDB, COMANAGED-EXACS-PDB, COMANAGED-VM-CDB, COMANAGED-VM-NONCDB, COMANAGED-VM-PDB, EXTERNAL-NONCDB, EXTERNAL-PDB
--defined-tag-equals [text]

A list of tag filters to apply. Only resources with a defined tag matching the value will be returned. Each item in the list has the format “{namespace}.{tagName}.{value}”. All inputs are case-insensitive. Multiple values for the same key (i.e. same namespace and tag name) are interpreted as “OR”. Values for different keys (i.e. different namespaces, different tag names, or both) are interpreted as “AND”.

--defined-tag-exists [text]

A list of tag existence filters to apply. Only resources for which the specified defined tags exist will be returned. Each item in the list has the format “{namespace}.{tagName}.true” (for checking existence of a defined tag) or “{namespace}.true”. All inputs are case-insensitive. Currently, only existence (“true” at the end) is supported. Absence (“false” at the end) is not supported. Multiple values for the same key (i.e. same namespace and tag name) are interpreted as “OR”. Values for different keys (i.e. different namespaces, different tag names, or both) are interpreted as “AND”.

--exadata-insight-id [text]

Optional list of exadata insight resource OCIDs.

--freeform-tag-equals [text]

A list of tag filters to apply. Only resources with a freeform tag matching the value will be returned. The key for each tag is “{tagName}.{value}”. All inputs are case-insensitive. Multiple values for the same tag name are interpreted as “OR”. Values for different tag names are interpreted as “AND”.

--freeform-tag-exists [text]

A list of tag existence filters to apply. Only resources for which the specified freeform tags exist the value will be returned. The key for each tag is “{tagName}.true”. All inputs are case-insensitive. Currently, only existence (“true” at the end) is supported. Absence (“false” at the end) is not supported. Multiple values for different tag names are interpreted as “AND”.

--from-json [text]

Provide input to this command as a JSON document from a file using the file://path-to/file syntax.

The --generate-full-command-json-input option can be used to generate a sample json file to be used with this command option. The key names are pre-populated and match the command option names (converted to camelCase format, e.g. compartment-id –> compartmentId), while the values of the keys need to be populated by the user before using the sample file as an input to this command. For any command option that accepts multiple values, the value of the key can be a JSON array.

Options can still be provided on the command line. If an option exists in both the JSON document and the command line then the command line specified value will be used.

For examples on usage of this option, please see our “using CLI with advanced JSON options” link: https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/cliusing.htm#AdvancedJSONOptions

--host-name [text]

Filter by one or more hostname.

--id [text]

Optional list of database insight resource OCIDs.

--limit [integer]

For list pagination. The maximum number of results per page, or items to return in a paginated “List” call. For important details about how pagination works, see List Pagination. Example: 50

--page [text]

For list pagination. The value of the opc-next-page response header from the previous “List” call. For important details about how pagination works, see List Pagination.

--sort-by [text]

The field to use when sorting SQL statistics. Example: databaseTimeInSec

Accepted values are:

averageActiveSessions, changeInAverageActiveSessionsInPct, changeInCpuTimeInPct, changeInExecutionsPerHourInPct, changeInInefficiencyInPct, changeInInefficientWaitTimeInPct, changeInIoTimeInPct, changeInResponseTimeInPct, cpuTimeInSec, databaseTimeInSec, databaseTimePct, executionsCount, executionsPerHour, inefficiencyInPct, inefficientWaitTimeInSec, ioTimeInSec, planCount, responseTimeInSec, variability
--sort-order [text]

The sort order to use, either ascending (ASC) or descending (DESC).

Accepted values are:

ASC, DESC
--sql-identifier [text]

One or more unique SQL_IDs for a SQL Statement. Example: 6rgjh9bjmy2s7

--time-interval-end [datetime]

Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.

The following datetime formats are supported:

UTC with microseconds

Format: YYYY-MM-DDTHH:mm:ss.ssssssTZD
Example: 2017-09-15T20:30:00.123456Z

UTC with milliseconds
***********************
.. code::

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD
    Example: 2017-09-15T20:30:00.123Z

UTC without milliseconds
**************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T20:30:00Z

UTC with minute precision
**************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T20:30Z

Timezone with microseconds

Format: YYYY-MM-DDTHH:mm:ssTZD
Example: 2017-09-15T12:30:00.456789-08:00, 2017-09-15T12:30:00.456789-0800

Timezone with milliseconds
***************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00.456-08:00, 2017-09-15T12:30:00.456-0800

Timezone without milliseconds
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00-08:00, 2017-09-15T12:30:00-0800

Timezone with minute precision
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T12:30-08:00, 2017-09-15T12:30-0800

Short date and time
********************
The timezone for this date and time will be taken as UTC (Needs to be surrounded by single or double quotes)

.. code::

    Format: 'YYYY-MM-DD HH:mm' or "YYYY-MM-DD HH:mm"
    Example: '2017-09-15 17:25'

Date Only
**********
This date will be taken as midnight UTC of that day

.. code::

    Format: YYYY-MM-DD
    Example: 2017-09-15

Epoch seconds
**************
.. code::

    Example: 1412195400
--time-interval-start [datetime]

Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.

The following datetime formats are supported:

UTC with microseconds

Format: YYYY-MM-DDTHH:mm:ss.ssssssTZD
Example: 2017-09-15T20:30:00.123456Z

UTC with milliseconds
***********************
.. code::

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD
    Example: 2017-09-15T20:30:00.123Z

UTC without milliseconds
**************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T20:30:00Z

UTC with minute precision
**************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T20:30Z

Timezone with microseconds

Format: YYYY-MM-DDTHH:mm:ssTZD
Example: 2017-09-15T12:30:00.456789-08:00, 2017-09-15T12:30:00.456789-0800

Timezone with milliseconds
***************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00.456-08:00, 2017-09-15T12:30:00.456-0800

Timezone without milliseconds
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mm:ssTZD
    Example: 2017-09-15T12:30:00-08:00, 2017-09-15T12:30:00-0800

Timezone with minute precision
*******************************
.. code::

    Format: YYYY-MM-DDTHH:mmTZD
    Example: 2017-09-15T12:30-08:00, 2017-09-15T12:30-0800

Short date and time
********************
The timezone for this date and time will be taken as UTC (Needs to be surrounded by single or double quotes)

.. code::

    Format: 'YYYY-MM-DD HH:mm' or "YYYY-MM-DD HH:mm"
    Example: '2017-09-15 17:25'

Date Only
**********
This date will be taken as midnight UTC of that day

.. code::

    Format: YYYY-MM-DD
    Example: 2017-09-15

Epoch seconds
**************
.. code::

    Example: 1412195400
--vmcluster-name [text]

Optional list of Exadata Insight VM cluster name.

Example using required parameter

Copy the following CLI commands into a file named example.sh. Run the command by typing “bash example.sh” and replacing the example parameters with your own.

Please note this sample will only work in the POSIX-compliant bash-like shell. You need to set up the OCI configuration and appropriate security policies before trying the examples.

    export compartment_id=<substitute-value-of-compartment_id> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/opsi/database-insights/summarize-sql-statistics.html#cmdoption-compartment-id

    oci opsi database-insights summarize-sql-statistics --compartment-id $compartment_id