Reviewed-by: Gladkov, Maksim <mgladkov@noreply.gitea.eco.tsi-dev.otc-service.com> Co-authored-by: wangdengke2 <wangdengke2@huawei.com> Co-committed-by: wangdengke2 <wangdengke2@huawei.com>
32 KiB
Restoring Data to an Existing DB Instance
Function
This API is used to restore a database to an existing DB Instance.
- Before calling an API, you need to understand the API in Authentication.
- Before calling this API, obtain the required region and endpoint.
Constraints
- When data is restored to an existing DB instance, the API has the following constraints:
- The DB engine of the original DB instance must be the same as that of the target DB instance. For example, if the original DB instance is running MySQL, the target DB instance must also run MySQL.
- For RDS for MySQL, the DB engine version of the target DB instance must be at least equal to that of the original DB instance, for example, from MySQL 5.7.25 to 5.7.27.
- For RDS for PostgreSQL, the DB engine version of the target DB instance must be the same as that of the original DB instance.
- For RDS for SQL Server, the time zone of the target DB instance must be the same as that of the original DB instance. Otherwise, data inconsistency may occur.
- For version constraints of RDS for SQL Server, see Table 1.
- The total storage space of the target DB instance must be at least equal to that of the original DB instance for RDS for MySQL.
- Cross-region restoration is not supported.
- For RDS for MySQL DB instances, when data is restored to an existing DB instance, the case sensitivity setting of the existing DB instance must be the same as that of the original DB instance. Otherwise, the restoration may fail.
- When data is restored to an original DB instance:
This API is supported only for MySQL and Microsoft SQL Server DB engines.
Table 1 Restoring to specific DB engine versions Original DB Engine Version
Restore To
2017 Standard Edition
2017 Standard Edition
2017 Enterprise Edition
2019 Standard Edition
2019 Enterprise Edition
2017 Enterprise Edition
2017 Enterprise Edition
2019 Enterprise Edition
2019 Standard Edition
2019 Standard Edition
2019 Enterprise Edition
2022 Standard Edition
2022 Enterprise Edition
2019 Enterprise Edition
2019 Standard Edition
2019 Enterprise Edition
2022 Enterprise Edition
2022 Standard Edition
2022 Standard Edition
2022 Enterprise Edition
2022 Enterprise Edition
2022 Standard Edition
2022 Enterprise Edition
URI
- Parameter description
Table 2 Parameter description Name
Mandatory
Description
project_id
Yes
Specifies the project ID of a tenant in a region.
For details about how to obtain the project ID, see Obtaining a Project ID.
Request
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
Content-Type |
Yes |
String |
The content type. The default value is application/json. |
X-Auth-Token |
Yes |
String |
Specifies the user token. The user token is a response to the API used to obtain a user token. |
Name |
Mandatory |
Type |
Description |
|---|---|---|---|
source |
Yes |
Object |
Restoration information. For details, see Table 5. |
target |
Yes |
Object |
Instance to which the backup is restored. For details, see Table 6. |
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
instance_id |
Yes |
String |
Instance ID. |
type |
No |
String |
Restoration mode of the instance. Enumerated values include:
|
backup_id |
No |
String |
ID of the backup used to restore data. This parameter must be specified when the backup file is used for restoration. |
restore_time |
No |
Integer |
Time point of data restoration in the UNIX timestamp format. The unit is millisecond and the time zone is UTC. |
database_name |
No |
Map<String, String> |
Name of the new database after the restoration. If this parameter is available, you can restore specific databases and rename new databases.
Example:
"database_name":{"Original database name":"New database name"}
Correct example: "database_name":{"A":"A,A1,A2","B":"B1,B2","C":""} Wrong example: "database_name":{"A":"A","B":"B1,B2","C":"B1,C1","D":"D1,d1"}, Error causes are as follows:
|
restore_all_database |
No |
Boolean |
Whether to restore all databases to the target instance. This field is available only for Microsoft SQL Server. Enumerated values include:
The default value is false. |
Example Request
- Restore data to a DB instance from a backup.
POST https://rds.eu-de.otc.t-systems.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/recovery { "source": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01", "type": "backup", "backup_id": "2f4ddb93-b901-4b08-93d8-1d2e472f30fe" }, "target": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01" } } - Restore all databases to a DB instance from an RDS for SQL Server backup.
{ "source": { "instance_id": "61879e6085bc44d1831b0ce62d988fd9in04", "type": "backup", "backup_id": "b021670e69ba4538b7b2ed07257306aebr04", "restore_all_database":true }, "target": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04" } } - Restore instance data to a specific point in time.
{ "source": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01", "type": "timestamp", "restore_time": 1532001446987 }, "target": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01" } } - Restore some databases of an RDS for SQL Server instance to a specific point in time.
{ "source": { "instance_id": "61879e6085bc44d1831b0ce62d988fd9in04", "type": "timestamp", "restore_time": 1532001446987, "database_name": { "db1": "dbtest1", "db3": "" } }, "target": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04" } }
Response
- Normal response
Table 7 Parameter description Name
Type
Description
job_id
String
Indicates the job ID.
- Example normal response
{ "job_id": "ff80808157127d9301571bf8160c001d" }
- Abnormal response
For details, see Abnormal Request Results.
Status Code
- Normal
- Abnormal
For details, see Status Codes.
Error Code
For details, see Error Codes.