最近更新时间:2021-06-08 15:31:14
本文档介绍如何把用户PostgreSQL的增量备份文件迁移到金山云RDS for PostgreSQL。我们将上云期间的业务中断时间控制在分钟级别,大大缩短了业务中断时间。
RDS for SQL PostgreSQL增量数据上云适用于以下场景:
基于备份文件物理迁移至RDS for PostgreSQL,而不是逻辑迁移。
说明 物理迁移是指基于文件的迁移,逻辑迁移是指将数据生成DML语句写入RDS for PostgreSQL) 物理迁移可做到数据库迁移后和本地环境100%一致。逻辑迁移无法做到100%一致,例如,索引碎片率和统计信息等。
说明 如果您对业务停止时间不敏感(如2小时),当数据库小于100G时,建议您直接使用全量备份数据上云PostgreSQL。
备份文件版本
不支持由高版本的备份文件往低版本做迁移,例如:从PostgreSQL 10迁移到PostgreSQL 9等。
备份文件类型限制
不支持差异备份文件或日志备份文件。
备份文件后缀名限制
备份文件名仅支持bak、diff、trn或者log为后缀名。
bak:表示全量备份文件
diff:表示差异备份文件
trn或者log:表示事务日志备份
备份文件命名限制
备份文件名不能包含@或者|等特殊字符,否则会导致数据库上云失败。
实例空间要求
请确保金山云RDS for PostgreSQL实例拥有足够的存储空间,如果空间不足,请提前升级实例空间,以免因为空间不足而导致迁入失败。
创建目标实例且目标实例中不能存在同名的目标数据库
如果同名的数据库已经存在,请先备份该数据库,删除该数据库,再进行数据备份。
完成准备工作
关闭本地环境备份系统,且禁止数据库写入
完成DBCC CheckDB检查
修改数据库为FULL恢复模式
上云阶段 | 步骤 | 说明 |
---|---|---|
全量阶段 | Step1 | 完成准备工作,包括:完成DBCC CheckDB检查;关闭本地环境备份系统;修改数据库为FULL恢复模式。 |
Step2 | 用户开始对线下数据库做备份,耗时近1小时。 | |
Step3 | 开始上传全量备份文件 | |
Step4 | 完成全量备份文件上传,金山云研发人员开始在后台恢复全量备份文件。 | |
增量阶段 | Step5 | 开始备份数据库增量LOG数据,耗时20分钟 |
Step6 | 完成LOG备份并上传,后台进行恢复LOG。 | |
Step7 | 完成LOG备份上云;重复Step5-7,不断Backup LOG、上传LOG、增量上云LOG备份文件,确保最后一个LOG备份文件尽量小(500MB以下);停止本地应用对数据库的写入操作,再做一个LOG备份,最后一次增量上云。 | |
Step8 | 完成了最后一个LOG备份文件增量上云操作,耗时4分钟,金山云通知客户数据库上云完成可使用。 |
纯净模式