機能説明
このインターフェースは、診断システムがパフォーマンス上の問題が疑われると判断したSQLリストを照会するために使用されます。
呼び出し説明
インターフェース制約
呼び出し元はマルチクラウドAPIにアクセスするためのキーを保有している必要があります。AccessKey IDおよびAccessKey Secretの取得方法の詳細については、アクセスキーの管理をご参照ください。
リクエストパス
GET /api/v2/instances/{instanceId}/tenants/{tenantId}/anomalySql
リクエストパラメータ
名前 |
型 |
必須 |
説明 |
サンプル値 |
|---|---|---|---|---|
| instanceId | string | はい | OceanBase CloudデータベースインスタンスID。 | ob317v4uif**** |
| tenantId | string | はい | テナントID。 | t4louaeei**** |
| requestId | string | はい | 追跡用のリクエストID。 | dc302d76-66b5-48d8-ab53-a035******** |
| startTime | string | はい | 疑わしいSQLパラメータの開始時間を照会する時間です。この時間はUTC時刻のみをサポートし、形式はYYYY-MM-DDThh:mm:ssZです。 | 2023-04-12T04:38:38Z
説明時間入力パラメータの特殊文字(例:コロン(:)など)は、適宜エスケープしてください。例えば、2023-04-12T05:38:38Z をURLリクエストパラメータに含める場合、2023-04-12T04%3A38%3A38Z にエスケープする必要があります。 |
| endTime | string | はい | 疑わしいSQLパラメータの終了時間を照会する時間です。この時間はUTC時刻のみをサポートし、形式はYYYY-MM-DDThh:mm:ssZです。 | 2023-04-12T05:38:38Z
説明時間入力パラメータの特殊文字(例:コロン(:)など)は、適宜エスケープしてください。例えば、2023-04-12T05:38:38Z をURLリクエストパラメータに含める場合、2023-04-12T04%3A38%3A38Z にエスケープする必要があります。 |
| dbName | string | いいえ | データベース名。 | test_db |
| nodeIp | string | いいえ | ノードIP。 | i-bp18l4****str4uk03 |
| searchKeyWord | string | いいえ | キーワード検索。 | update |
| sqlTextLength | integer | いいえ | 戻されるSQLテキストの最大長。 | 65535 |
| filterCondition | string | いいえ | すべてのフィールドは@で参照します。選択可能なフィールドについては、SQLのパフォーマンス統計の照会インターフェースで返されるすべての列をご参照ください。 | @avgCpuTime > 20 and @executions > 100 |
| pageNumber | integer | いいえ | ページ番号。 | 1 |
| pageSize | integer | いいえ | ページサイズ。 | 10 |
| sortOrder | string | いいえ | ソート順序。 | desc |
| mergeDynamicSql | boolean | いいえ | Merge dynamic sqlパラメータ。 | true |
| sqlId | string | いいえ | SQLステートメントの一意の識別子。 | sql_123456789 |
| dynamicSql | boolean | いいえ | Dynamic sqlパラメータ。 | false |
| httpServletRequest | unknown | はい | Http servlet requestパラメータ。 | - |
実行結果
名前 |
型 |
説明 |
サンプル値 |
|---|---|---|---|
| object | リクエストの戻り結果。 | ||
| Data | object [] | 疑わしいSQL情報リスト。 | |
| avgCpuTime | double | 疑わしいSQLの平均CPU時間。 | 100.24 |
| avgElapsedTime | double | 疑わしいSQLの平均応答時間。 | 100.28 |
| avgGetPlanTime | double | 疑わしいSQLの実行計画取得平均時間。 | 0 |
| cpuTime | double | 疑わしいSQLのCPU時間。 | 100.23 |
| dbName | string | データベース名。 | db_*** |
| diagTypes | array | 診断タイプ。 | |
| string | 診断タイプ。 | [ "TABLE_SCAN_INDEX_NOT_USED" ] | |
| diagnosis | string | 診断詳細。 | インデックスがあるにもかかわらず、全表スキャンが実行されました |
| executions | double | 疑わしいSQLの総実行回数。 | 1 |
| lastExecutedTime | double | 疑わしいSQLが最後に実行された時間。 | 2023-04-12T04:38:38Z |
| riskLevel | string | 危険度。 | high |
| sqlId | string | SQL ID。 | 8D6E84****0B8FB1823D199E2CA1**** |
| sqlTextShort | string | SQLテキストのプレフィックス。 | delete /*+ XXX PARALLEL(4) */ from |
| suggestion | string | 疑わしいSQLに対する提案。 | review |
| sumElapsedTime | string | 疑わしいSQLの総応答時間。 | 11452126.36 |
| userName | string | ユーザー名。 | test_user |
| requestId | string | リクエストID。 | 473469**-AA6F-4D**-B3DB-A*********** |
| totalCount | long | 合計数。 | 9 |
例
リクエスト例
curl --request GET \
--digest -u '<Your AK:SK>' \
-G -d 'requestId={requestId}' \
-d 'startTime={startTime}' \
-d 'endTime={endTime}' \
-d 'dbName={dbName}' \
-d 'nodeIp={nodeIp}' \
-d 'searchKeyWord={searchKeyWord}' \
-d 'sqlTextLength={sqlTextLength}' \
-d 'filterCondition={filterCondition}' \
-d 'pageNumber={pageNumber}' \
-d 'pageSize={pageSize}' \
-d 'sortOrder={sortOrder}' \
-d 'mergeDynamicSql={mergeDynamicSql}' \
-d 'sqlId={sqlId}' \
-d 'dynamicSql={dynamicSql}' \
--url 'https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/tenants/{tenantId}/anomalySql' \
-H 'X-Ob-Project-Id: <Project ID>'
注意
- パラメータに特殊文字が含まれる場合は、エスケープする必要があります。例:-d'@avgCpuTime>0' を -d'%40avgCpuTime%3E0' に変更します。時間を指定するパラメータの特殊文字(コロン(:)など)は、必ず適切にエスケープしてください。
- プロジェクトIDはプロジェクトの一意の識別子です。プロジェクト管理を参照して、クラスタのプロジェクトIDを取得できます。
- instanceIdが属するプロジェクトのIDと指定したプロジェクトIDが一致していることを確認してください。
戻り値の例
JSON形式
{
"Data": [
{
"avgCpuTime": 100.24,
"avgElapsedTime": 100.28,
"avgGetPlanTime": 0,
"cpuTime": 100.23,
"dbName": "db_***",
"diagTypes": [
"[\n \"TABLE_SCAN_INDEX_NOT_USED\"\n ]"
],
"diagnosis": "全表スキャンでインデックスが使用されていません",
"executions": 1,
"lastExecutedTime": 0,
"riskLevel": "high",
"sqlId": "8D6E84****0B8FB1823D199E2CA1****",
"sqlTextShort": "delete /*+ XXX PARALLEL(4) */ from",
"suggestion": "review",
"sumElapsedTime": "11452126.36",
"userName": "test_user"
}
],
"RequestId": "473469**-AA6F-4D**-B3DB-A***********",
"TotalCount": 9
}