All Products
Search
Document Center

Database Autonomy Service:GetStorageAnalysisResult

Last Updated:Jun 10, 2026

Mengkueri status dan hasil tugas analisis penyimpanan.

Deskripsi operasi

Catatan

The physical file size indicates the actual size of an obtained file. Only specific deployment modes of database instances support the display of physical file sizes. The statistics on tables are obtained from information_schema.tables. Statistics in MySQL are not updated in real time. Therefore, the statistics may be different from the physical file sizes. If you want to obtain the latest data, you can execute the ANALYZE TABLE statement on the relevant tables during off-peak hours.

  • This operation is applicable only to ApsaraDB RDS for MySQL instances, PolarDB for MySQL clusters, and ApsaraDB for MongoDB instances.

  • For ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters, this operation works the same as the storage analysis feature of the previous version. Tasks generated by this operation cannot be viewed on the Storage Analysis page of the new version in the Database Autonomy Service (DAS) console. If you want to view the tasks and results, call the related API operation to obtain data and save data to your computer.

  • If you use an Alibaba Cloud SDK or DAS SDK to call this operation, we recommend that you use the latest version of the SDK.

  • If you use an SDK to call operations of DAS, you must set the region ID to cn-shanghai.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

hdm:GetStorageAnalysisResult

none

*All Resource

*

None None

Parameter permintaan

Parameter

Type

Required

Description

Example

InstanceId

string

Yes

ID instans.

rm-bp10xxxxxxxxx

NodeId

string

No

ID node.

Catatan

Parameter ini dicadangkan.

202****

TaskId

string

Yes

ID tugas. Anda dapat memperoleh ID tugas dari tanggapan operasi CreateStorageAnalysisTask.

910f83f4b96df0524ddc5749f615****

Elemen respons

Element

Type

Description

Example

object

Code

integer

The HTTP status code returned.

200

Message

string

The returned message.

Catatan

If the request is successful, Successful is returned. Otherwise, an error message such as an error code is returned.

Successful

Data

object

The data returned.

TaskId

string

The task ID.

910f83f4b96df0524ddc5749f615****

TaskFinish

boolean

Indicates whether the task is complete.

true

TaskSuccess

boolean

Indicates whether the task is successful.

true

TaskState

string

The status of the storage analysis task. Valid values:

  • INIT: The task is being initialized.

  • PENDING: The task is being queued for execution.

  • RECEIVED: The task is received for execution.

  • RUNNING: The task is being executed.

  • RETRY: The task is being retried.

  • SUCCESS: The task succeeds.

  • FAILURE: The task fails.

RUNNING

TaskProgress

integer

The task progress.

Catatan

Valid values are integers that range from 0 to 100.

50

TotalDbCount

integer

The number of databases that need to be analyzed in the storage analysis task.

32

AnalyzedDbCount

integer

The number of databases that have been analyzed.

2

StorageAnalysisResult

object

The details of storage analysis.

TotalStorageSize

integer

The total size of instance storage.

Catatan

Unit: bytes.

214748364800

TotalUsedStorageSize

integer

The size of used storage.

Catatan

Unit: bytes.

68345135104

TotalFreeStorageSize

integer

The size of remaining storage.

Catatan

Unit: bytes.

146403229696

DailyIncrement

integer

The estimated average daily growth of the used storage space in the previous seven days. Unit: bytes.

0

EstimateAvailableDays

integer

The estimated number of days for which the remaining storage space is available.

99

AnalysisSuccess

boolean

Indicates whether the analysis on the database and table is successful.

true

AnalysisErrorType

string

The reason why the analysis on the database and table fails.

  • DB_OR_TABLE_NOT_EXIST: The specified database or table does not exist.

  • DB_NOT_EXIST: The specified database does not exist.

DB_NOT_EXIST

NeedOptimizeItemList

array<object>

The items to be optimized, which are generated based on DAS default rules. You can ignore these items based on your business requirements, and create custom rules to generate items to be optimized based on other basic data that is returned.

object

DbName

string

The name of the database.

testdb01

TableName

string

The name of the table.

test_table

OptimizeItemName

string

The item to be optimized. Valid values:

  • NEED_ANALYZE_TABLE: tables whose storage statistics obtained from information_schema.tables are 50 GB larger or smaller than the physical file sizes. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • NEED_OPTIMIZE_TABLE: tables whose space fragments are larger than 6 GB and whose fragmentation rates are greater than 30%. The fragmentation rate of a table is generally calculated based on the following formulas:

    • ApsaraDB RDS for MySQL and PolarDB for MySQL: Fragmentation rate = DataFree/(DataSize + IndexSize + DataFree). In this topic, PhyTotalSize = DataSize + IndexSize + DataFree. Thus, the fragmentation rate can be calculated based on the following formula: Fragmentation rate = DataFree/PhyTotalSize.

    • ApsaraDB for MongoDB: Fragmentation rate = FragmentSize/PhyTotalSize.

  • TABLE_ENGINE: tables whose storage engines are not InnoDB or XEngine. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT: tables whose usages of auto-increment IDs exceed 80%. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • DUPLICATE_INDEX: tables whose indexes are redundant or duplicate. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • TABLE_SIZE: single tables whose sizes are larger than 50 GB. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • TABLE_ROWS_AND_AVG_ROW_LENGTH: single tables that contain more than 5 million rows and whose average row lengths exceed 10 KB. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • TOTAL_DATA_FREE: instances whose reclaimable space is larger than 60 GB and whose total fragmentation rate is larger than 5%.

  • STORAGE_USED_PERCENT: instances whose space usage is larger than 90%.

NEED_OPTIMIZE_TABLE

OptimizeAdvice

string

The optimization suggestion. Valid values:

  • NEED_ANALYZE_TABLE: You can execute the ANALYZE TABLE statement on the table during off-peak hours. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • NEED_OPTIMIZE_TABLE: You can reclaim fragments during off-peak hours.

  • CHANGE_TABLE_ENGINE_IF_NECESSARY: Change the storage engine type of a table after risk assessment. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT: Pay attention to the usage of auto-increment IDs. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • DUPLICATE_INDEX: Optimize indexes of tables. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • TABLE_SIZE: Pay attention to the table size. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • TABLE_ROWS_AND_AVG_ROW_LENGTH: Pay attention to the number of rows in a table and the average row length. This is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

  • STORAGE_USED_PERCENT: Pay attention to the space usage to prevent the instance from being locked if the instance is full.

NEED_OPTIMIZE_TABLE

AssociatedData

string

The data associated with the items to be optimized, which is in the JSON format.

{ "autoIncrementCurrentValue": 2147483647, "autoIncrementRatio": 1, "dbName": "testdb01", "maximumValue": 2147483647, "columnName": "id", "tableName": "test_table" }

TableStats

array<object>

The information about the table.

object

DbName

string

The name of the database.

testdb01

TableName

string

The name of the table.

test_table

TableType

string

The type of the table.

Catatan

This parameter is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

BASE TABLE

Engine

string

The type of the storage engine used by the table.

Catatan

This parameter is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.

InnoDB

PhysicalFileSize

integer

The physical file size of the table. Unit: bytes.

Catatan

This parameter is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters. Data of specific database instances cannot be obtained due to deployment mode.

3057655808

PhyTotalSize

integer

The storage space of the table. Unit: bytes.

Catatan

For ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters, the value of the parameter is the sum of DataSize, IndexSize, and DataFree. For ApsaraDB for MongoDB instances, the value of this parameter is the sum of DataSize and IndexSize.

3012493312

TotalSize

integer

  • For ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters, this parameter indicates the amount of space occupied by table data and indexes. Unit: bytes. The value is the sum of DataSize and IndexSize.

  • For ApsaraDB for MongoDB instances, this parameter indicates the actual size of space allocated by Block Manager. Unit: Bytes. The compression ratio of an ApsaraDB for MongoDB instance is calculated based on the following formula: Compression ratio = TotalSize/DataSize.

3005153280

IndexSize

integer

The storage space occupied by indexes. Unit: bytes.

1022296064

DataSize

integer

  • For ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters, this parameter indicates the amount of space occupied by data. Unit: bytes.

  • For ApsaraDB for MongoDB instances, this parameter indicates the size of uncompressed data, that is, the amount of data. Unit: bytes.

1982857216

DataFree

integer

The size of space fragments. Unit: bytes.

Catatan

This parameter is applicable only to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters. The fragmentation rate of a table is generally calculated based on the following formula: Fragmentation rate = DataFree/(DataSize + IndexSize + DataFree). In this topic, Fragmentation rate = DataFree/PhyTotalSize.

7340032

TableRows

integer

The number of rows in the table.

12794732

AvgRowLength

integer

The average length of rows. Unit: bytes.

154

FragmentSize

integer

The size of space that can be reclaimed. Unit: bytes.

Catatan

This parameter is applicable only to ApsaraDB for MongoDB instances. Fragmentation rate = FragmentSize/PhyTotalSize.

362221568

RequestId

string

The request ID.

B6D17591-B48B-4D31-9CD6-9B9796B2****

Success

boolean

Indicates whether the request is successful. Valid values:

  • true

  • false

true

Contoh

Respons sukses

JSONformat

{
  "Code": 200,
  "Message": "Successful",
  "Data": {
    "TaskId": "910f83f4b96df0524ddc5749f615****",
    "TaskFinish": true,
    "TaskSuccess": true,
    "TaskState": "RUNNING",
    "TaskProgress": 50,
    "TotalDbCount": 32,
    "AnalyzedDbCount": 2,
    "StorageAnalysisResult": {
      "TotalStorageSize": 214748364800,
      "TotalUsedStorageSize": 68345135104,
      "TotalFreeStorageSize": 146403229696,
      "DailyIncrement": 0,
      "EstimateAvailableDays": 99,
      "AnalysisSuccess": true,
      "AnalysisErrorType": "DB_NOT_EXIST",
      "NeedOptimizeItemList": [
        {
          "DbName": "testdb01",
          "TableName": "test_table",
          "OptimizeItemName": "NEED_OPTIMIZE_TABLE",
          "OptimizeAdvice": "NEED_OPTIMIZE_TABLE",
          "AssociatedData": "{\n    \"autoIncrementCurrentValue\": 2147483647,\n    \"autoIncrementRatio\": 1,\n    \"dbName\": \"testdb01\",\n    \"maximumValue\": 2147483647,\n    \"columnName\": \"id\",\n    \"tableName\": \"test_table\"\n}"
        }
      ],
      "TableStats": [
        {
          "DbName": "testdb01",
          "TableName": "test_table",
          "TableType": "BASE TABLE",
          "Engine": "InnoDB",
          "PhysicalFileSize": 3057655808,
          "PhyTotalSize": 3012493312,
          "TotalSize": 3005153280,
          "IndexSize": 1022296064,
          "DataSize": 1982857216,
          "DataFree": 7340032,
          "TableRows": 12794732,
          "AvgRowLength": 154,
          "FragmentSize": 362221568
        }
      ]
    }
  },
  "RequestId": "B6D17591-B48B-4D31-9CD6-9B9796B2****",
  "Success": true
}

Kode kesalahan

HTTP status code

Error code

Error message

Description

400 InvalidParams The request parameters are invalid.
403 NoPermission You are not authorized to do this action.

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.