调用CloneDBInstance接口将历史数据恢复至一个新实例(称为克隆实例)。

调用该接口时,实例必须满足以下条件,否则将操作失败:

  • 实例状态为运行中。
  • 实例当前没有正在执行的迁移任务。
  • 实例已开启日志备份(用于按时间点恢复)。
  • 若要按备份集克隆实例,则主实例必须至少有一个已完成备份的备份集。
说明 RDS支持RAM子账号创建克隆实例,请务必保证子账号已添加克隆实例的授权策略,添加授权请参见云数据库RDS授权

实例内数据库账号信息克隆以及其他功能的设置克隆将遵循如下方式:

  • 实例内的白名单设置、SQL洞察(SQL审计)设置、阈值报警设置、备份设置、参数设置将和当前实例状态保持一致。
  • 实例内的数据信息、账号信息与备份文件或时间点当时信息一致。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CloneDBInstance

系统规定参数。取值:CloneDBInstance

RegionId String cn-hangzhou

地域ID。可以通过接口DescribeRegions查看地域ID。

ZoneId String cn-hangzhou-b

主可用区ID。可以通过接口DescribeRegions查看可用区ID。

说明 默认为源实例的可用区。
DBInstanceClass String mysql.n1.micro.1

实例规格,详见实例规格表

说明 默认规格和主实例一致。
DBInstanceStorage Integer 1000

实例存储空间,单位:GB。每5GB进行递增,详见实例规格表

说明 默认存储空间和主实例一致。
DbNames String test1,test2

数据库名称,格式如下:原库名1,原库名2

PayType String Postpaid

付费类型,取值:

  • Postpaid:后付费(按量付费)
  • Prepaid:预付费(包年包月)
  • Serverless:Serverless付费类型,仅支持MySQL实例。更多信息,请参见MySQL Serverless实例简介
InstanceNetworkType String VPC

实例的网络类型,取值:

  • VPC:专有网络
  • Classic:经典网络
说明 默认网络类型和主实例一致。
DBInstanceId String rm-uf6wjk5xxxxxxxxxx

实例ID。

BackupId String 902****

备份集ID。

您可以通过DescribeBackups接口获取备份列表。

说明 BackupIdRestoreTime两者至少传入一个。
RestoreTime String 2011-06-11T16:00:00Z

备份保留周期内的任意时间点。格式:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。

说明 BackupIdRestoreTime两者至少传入一个。
VPCId String vpc-uf6f7l4fg90xxxxxxxxxx

专有网络VPC ID。

说明 请确保VPC属于对应的地域。
VSwitchId String vsw-uf6adz52c2pxxxxxxxxxx

虚拟交换机ID。虚拟交换机所在的可用区必须和ZoneId中传入的可用区ID相对应。

  • 网络类型InstanceNetworkType需为VPC
  • 若您填写了ZoneSlaveId1(备可用区ID),此处需填写两个交换机ID,并使用半角逗号(,)隔开。
PrivateIpAddress String 172.XX.XXX.69

新实例的内网IP,需要在指定交换机的IP地址范围内。系统默认通过VPCIdVSwitchId自动分配。

UsedTime Integer 1

购买时长,取值:

  • 当参数PeriodYear时,UsedTime取值为1~3
  • 当参数PeriodMonth时,UsedTime取值为1~9
说明 若付费类型为Prepaid则该参数必须传入。
Period String Year

预付费实例为包年或者包月类型,取值:

  • Year:包年
  • Month:包月
说明 若付费类型为Prepaid则该参数必须传入。
Category String HighAvailability

实例系列,取值:

  • Basic:基础版
  • HighAvailability:高可用版
  • AlwaysOn:集群版(SQL Server)
  • cluster:集群版(MySQL)
  • Finance:金融版(仅中国站支持)
  • serverless_basic:Serverless基础版。
ZoneIdSlave1 String cn-hangzhou-c

备节点可用区ID。如果和ZoneId相同,则为单可用区部署;如果和ZoneId不同,则为多可用区部署。

ZoneIdSlave2 String cn-hangzhou-d

日志节点可用区ID。如果和ZoneId相同,则为单可用区部署;如果和ZoneId不同,则为多可用区部署。

DBInstanceStorageType String cloud_essd

实例存储类型,取值:

  • local_ssd:本地SSD盘
  • cloud_ssd:SSD云盘
  • cloud_essd:ESSD PL1云盘
  • cloud_essd2:ESSD PL2云盘
  • cloud_essd3:ESSD PL3云盘
RestoreTable String 1

是否进行库表恢复,取值为1时表示进行库表恢复,否则不填。

TableMeta String [{"type":"db","name":"testdb1","newname":"testdb1_new","tables":[{"type":"table","name":"testdb1table1","newname":"testdb1table1_new"}]}]

进行库表恢复时,指定恢复的库表信息。格式:

[{"type":"db","name":"数据库1名称","newname":"新数据库1名称","tables":[{"type":"table","name":"数据库1内的表1名称","newname":"新的表1名称"},{"type":"table","name":"数据库1内的表2名称","newname":"新的表2名称"}]},{"type":"db","name":"数据库2名称","newname":"新数据库2名称","tables":[{"type":"table","name":"数据库2内的表1名称","newname":"新的表1名称"},{"type":"table","name":"数据库2内的表2名称","newname":"新的表2名称"}]}]
DedicatedHostGroupId String dhg-7a9xxxxxxxx

专属集群ID。

BackupType String FullBackup

备份类型,取值:

  • FullBackup:全量备份
  • IncrementalBackup:增量备份
DeletionProtection Boolean true

是否开启释放保护功能。取值:

  • true:开启
  • false:关闭

默认值:false

AutoPause Boolean true

是否开启Serverless实例的自动启停功能。10分钟无任何连接进入暂停状态,连接进入时会自动唤醒。取值:

  • true:启用。
  • false(默认):不启用。
MaxCapacity double 8

实例RCU(RDS Capacity Unit)的自动扩缩范围最大值。

MinCapacity double 0.5

实例RCU(RDS Capacity Unit)的自动扩缩范围最小值。

SwitchForce Boolean false

是否开启Serverless实例的强制弹性扩缩容。实例RCU的弹性扩缩容通常会立刻生效,但在某些特殊情况下无法即时完成扩缩容,此时可开启本参数进行强制扩缩容。取值:

  • true:启用。
  • false(默认):不启用。

返回数据

名称 类型 示例值 描述
DBInstanceId String rm-uf6wjk5xxxxxxx

实例ID。

RequestId String 1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC

请求ID。

OrderId String 100789370****

订单ID。

示例

请求示例

http(s)://rds.aliyuncs.com/?Action=CloneDBInstance
&RegionId=cn-hangzhou
&ZoneId=cn-hangzhou-b
&DBInstanceClass=mysql.n1.micro.1
&DBInstanceStorage=1000
&DbNames=test1,test2
&PayType=Postpaid
&InstanceNetworkType=VPC
&DBInstanceId=rm-uf6wjk5xxxxxxxxxx
&BackupId=902****
&RestoreTime=2011-06-11T16:00:00Z
&VPCId=vpc-uf6f7l4fg90xxxxxxxxxx
&VSwitchId=vsw-uf6adz52c2pxxxxxxxxxx
&PrivateIpAddress=172.XX.XXX.69
&UsedTime=1
&Period=Year
&Category=HighAvailability
&ZoneIdSlave1=cn-hangzhou-c
&ZoneIdSlave2=cn-hangzhou-d
&DBInstanceStorageType=cloud_essd
&RestoreTable=1
&TableMeta=[{"type":"db","name":"testdb1","newname":"testdb1_new","tables":[{"type":"table","name":"testdb1table1","newname":"testdb1table1_new"}]}]
&DedicatedHostGroupId=dhg-7a9xxxxxxxx
&BackupType=FullBackup
&DeletionProtection=true
&ServerlessConfig={"AutoPause":true,"MaxCapacity":8.0,"MinCapacity":0.5,"SwitchForce":false}
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CloneDBInstanceResponse>
    <DBInstanceId>rm-uf6wjk5xxxxxxx</DBInstanceId>
    <RequestId>1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC</RequestId>
    <OrderId>100789370****</OrderId>
</CloneDBInstanceResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "DBInstanceId" : "rm-uf6wjk5xxxxxxx",
  "RequestId" : "1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC",
  "OrderId" : "100789370****"
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidAvZone.Format Specified AvZone is not valid. 指定的AvZone不合法,请检查该参数的正确性。
400 InvalidAvZone.NotSupport Specified availableArea multiZone does not support in RDS. 指定的availableArea multiZone在RDS中不支持。
400 CannotDecreaseEssdPerfLevel cannot decrease cloud essd performance level. 存储类型变更校验失败,SQL Server云盘实例只能转为云盘,SSD只能升级到SSD或ESSD。
400 CannotDecreaseEssdPerfLevel invalid cloud essd storage size. 云essd存储大小无效。
400 InvalidIPAddress.Conflict IP address conflict. IP地址冲突。
400 CDDC.AvailableHostsNotEnoughInZone Not enough available hosts are in the target zone. 目标可用区没有足够的主机资源,请在可用区中创建主机。
400 InvalidInstanceLevel.DiskType Specified instance level not support request disk type 当前实例规格不支持该存储类型。
400 InvalidRecoveryDbInstance.StorageType The disk local_ssd can not clone to cloud disk type 本地盘无法克隆为云盘
400 InvalidRecoveryDbInstance.StorageSize The disk space of the new instance cannot be less than that of the current instance 操作失败,新实例的磁盘空间不能小于当前实例的空间。
403 IncorrectMinorVersion Current engine minor version does not support operations. 当前引擎小版本不支持此操作。
403 IncorrectCharacterType Current DB instance character type does not support this operation. 当前实例字符类型不支持此操作。

访问错误中心查看更多错误码。