使用 AWS DMS 从 Amazon RDS for Oracle 迁移到 TiDB Cloud
本文档提供了一个分步示例,说明如何使用 AWS Database Migration Service (AWS DMS) 将数据从 Amazon RDS for Oracle 迁移到 TiDB Cloud Serverless。
如果你想了解更多关于 TiDB Cloud 和 AWS DMS 的信息,请参阅以下内容:
为什么使用 AWS DMS?
AWS DMS 是一项云服务,可用于迁移关系型数据库、数据仓库、NoSQL 数据库和其他类型的数据存储。
如果你想从异构数据库(如 PostgreSQL、Oracle 和 SQL Server)迁移数据到 TiDB Cloud,建议使用 AWS DMS。
部署架构
总体上,需要执行以下步骤:
- 设置源 Amazon RDS for Oracle。
- 设置目标 TiDB Cloud Serverless。
- 使用 AWS DMS 设置数据迁移(全量加载)。
下图展示了高级架构。
前提条件
开始之前,请阅读以下前提条件:
接下来,你将学习如何使用 AWS DMS 将数据从 Amazon RDS for Oracle 迁移到 TiDB Cloud。
步骤 1. 创建 VPC
登录 AWS 控制台 并创建一个 AWS VPC。你稍后需要在此 VPC 中创建 Oracle RDS 和 DMS 实例。
有关如何创建 VPC 的说明,请参阅创建 VPC。
步骤 2. 创建 Oracle 数据库实例
在刚刚创建的 VPC 中创建一个 Oracle 数据库实例,记住密码并授予公共访问权限。你必须启用公共访问才能使用 AWS Schema Conversion Tool。请注意,不建议在生产环境中授予公共访问权限。
有关如何创建 Oracle 数据库实例的说明,请参阅创建 Oracle 数据库实例并连接到 Oracle 数据库实例上的数据库。
步骤 3. 在 Oracle 中准备表数据
使用以下脚本在 github_events 表中创建并填充 10000 行数据。你可以使用 github 事件数据集,并从 GH Archive 下载。它包含 10000 行数据。在 Oracle 中执行以下 SQL 脚本。
执行完 SQL 脚本后,检查 Oracle 中的数据。以下示例使用 DBeaver 查询数据:
步骤 4. 创建 TiDB Cloud Serverless 集群
登录 TiDB Cloud 控制台。
在集群页面,点击目标集群名称进入其概览页面。
在右上角,点击连接。
点击生成密码生成密码并复制生成的密码。
步骤 5. 创建 AWS DMS 复制实例
在 AWS DMS 控制台中转到复制实例页面,并切换到相应的区域。
在 VPC 中创建一个
dms.t3.large
的 AWS DMS 复制实例。
步骤 6. 创建 DMS 端点
在 AWS DMS 控制台中,点击左侧窗格中的
Endpoints
菜单项。创建 Oracle 源端点和 TiDB 目标端点。
以下截图显示了源端点的配置。
以下截图显示了目标端点的配置。
步骤 7. 迁移架构
在本示例中,由于架构定义简单,AWS DMS 会自动处理架构。
如果你决定使用 AWS Schema Conversion Tool 迁移架构,请参阅安装 AWS SCT。
更多信息,请参阅使用 AWS SCT 将源架构迁移到目标数据库。
步骤 8. 创建数据库迁移任务
在 AWS DMS 控制台中,转到数据迁移任务页面。切换到你的区域。然后点击窗口右上角的创建任务。
创建数据库迁移任务并指定选择规则:
创建任务,启动它,然后等待任务完成。
点击表统计信息检查表。架构名称是
ADMIN
。
步骤 9. 检查下游 TiDB 集群中的数据
连接到 TiDB Cloud Serverless 集群并检查 admin.github_event
表数据。如下截图所示,DMS 成功迁移了表 github_events
和 10000 行数据。
总结
使用 AWS DMS,你可以按照本文档中的示例成功地从任何上游 AWS RDS 数据库迁移数据。
如果在迁移过程中遇到任何问题或失败,你可以在 CloudWatch 中检查日志信息来排查问题。