文档数据库 MongoDB 版提供了库表级的数据回档功能,当您误删了某个集合或文档时,可以通过回档功能指定需要恢复的单个或多个数据库或数据表,将数据快速恢复到原实例中。
前提条件
- 实例状态为运行中。关于实例状态的更多说明,请参见实例状态。
- 待回档的实例数据库中需至少包含一个数据库或表。
使用限制
- 一次最多选择 50 个实例进行批量回档。
- 单个实例一次最多选择 1000 张表进行回档。
- 不支持回档时序集合,因此时序集合不会展示在可选择的库表对象列表中。
注意事项
- 当前仅支持恢复已选择的库表对象,且恢复时并不会直接覆盖回档到原库表,而是会在需要恢复库表的数据库下新建一张回档表。例如,源表为
test
,回档时会新建一个 test_bak_备份时间戳
的回档表。 - 针对 MongoDB 4.0.版本(包括副本集和分片集群)实例,回档库表数据相关功能正在灰度开放中,请提交工单联系技术支持申请开通使用。
操作步骤
登录 MongoDB 控制台。
在顶部菜单栏的左上角,选择实例所属的项目和地域。
根据实例类型,在左侧导航栏中选择副本集实例列表或分片集实例列表。
在目标实例类型列表页,勾选需要回档的实例,在列表下方单击回档。
说明
- 支持勾选多个实例进行批量回档,最多可同时勾选 50 个实例。
- 您可以选择不同版本的实例进行批量回档,例如选择 MongoDB 5.0 和 MongoDB 4.4 实例进行批量回档。
在创建回档任务向导页完成以下操作。
操作 | 说明 |
---|
选择库表 | 选择需要进行回档的对象,具体操作步骤如下: - 在全部实例库表区域,勾选需要回档的对象,也可以勾选全部库表。
说明 - 库表信息来源为数据库当前的实际库表记录。每个实例展开后显示库上限为 5000,每个库展开后显示表上限为 5000。
- 您可以在全部实例库表区域的搜索栏中通过库名或表名进行搜索,支持通过模糊匹配搜索库或表。同时搜索库和表时,库、表搜索条件之间为且关系。
- 搜索结果最多展示 5000 条数据,若数据量过多,建议细化搜索条件。
- 没有任何库表的实例会默认置灰,回档时不可勾选。
- 单个实例内勾选的表总数不能超过 1000 张。
- 在已选择库表区域,确认需要回档的对象。
说明 - 无论选择整个数据库还是某个数据表,均记为一次选择。单实例可恢复的表数量上限为 1000。
- 已选择实例若不存在任何库表,将被自动忽略不会执行回档任务。
- 在页面右下角单击下一步。
|
设置回档配置 | 为选定的库表设置回档时间。您可以根据业务需要选择为所有库表批量设置回档时间,或为每个实例单独设置回档时间。其中: - 为所有实例批量设置回档时间:在批量设置回档时间后的时间选择窗内,为所有实例批量选择回档日期和时间。
说明 - 默认批量回档时间为当前时间。
- 不同实例支持的回档时间不同,批量设置回档时间时可选择的时间范围是各实例所支持回档时间范围的交集。
- 为每个实例单独设置回档时间:在已选择实例库表列表中找到目标实例,并在右侧设定回档时间的时间选择窗内,为指定实例设置回档时间,设置之后,同一个实例内所有库表的回档时间一样。
说明 - 实例默认的回档时间与批量设置的回档时间一致。
- 每个实例的回档时间范围依据实例备份和 oplog 日志自动计算。
|
在页面右下角单击确定。
在弹出的提交确认对话框中,单击确定
说明
- 单击确定后会立即执行创建回档任务,控制台会弹出批量任务已发起的对话框。其中展示了本次回档任务的数量、进度,以及需要执行回档任务的实例名称、ID 和提交结果等信息。
- 您可以在批量任务已发起对话框单击终止按钮,终止后未开始的实例回档任务将不再进行,也不能恢复。若想再次回档,您需要重新发起批量回档任务。
- 若部分实例的任务执行失败,将鼠标放置在目标实例提交结果列的失败上,即可查看失败原因。也可以单击目标实例操作列的重试,重新执行任务;或单击批量重试,重试所有执行失败的任务。
后续操作
- 您还可以在批量任务已发起的对话框中,单击前往任务页进入 MongoDB 批量回档页,对已发起的库表回档任务进行管理,例如查看或修改回档表的表名。。更多详情,请参见管理库表回档任务。
- 在 MongoDB 批量回档页,您可以查看库表回档任务的进度。当进度显示为 100% 时,实例状态也会变为运行中,此时您可以连接实例并登录数据库来验证数据是否回档成功。数据库登录方法,请参见- 通过 Mongo Shell 工具连接实例。
说明
回档任务在执行过程中,实例状态会变为恢复中,表示正在进行数据恢复。回档库表数据所需的时间和数据量、任务队列、网络等多种因素有关,请您耐心等待。