将数据导入到 Amazon RDS 上的 Oracle
将数据导入 Amazon RDS for Oracle 数据库实例的方式取决于以下各项:
-
您拥有的数据量
-
数据库中的数据库对象的数量
-
数据库中的各种数据库对象
例如,您可以根据需要使用以下工具:
-
Oracle SQL Developer – 导入一个简单的、大小为 20MB 的数据库。
-
Oracle Data Pump – 导入复杂的数据库,或大小为数百 MB 甚至 TB 级的数据库。例如,您可以将表空间从本地数据库传输到 RDS for Oracle 数据库实例。您可以使用 Amazon S3 或 Amazon EFS 来传输数据文件和元数据。有关更多信息,请参阅 使用 Oracle 可传输表空间进行迁移、Amazon EFS 集成 和 Amazon S3 集成。
-
AWS Database Migration Service(AWS DMS)– 无需停机即可迁移数据库。有关 AWS DMS 的更多信息,请参阅 AWS Database Migration Service 是什么和博文 Migrating Oracle databases with near-zero downtime using AWS DMS
。
重要
在使用前述的迁移技术之前,我们建议您对数据库进行备份。要导入数据,您可以通过创建快照来备份您的 RDS for Oracle 数据库实例。稍后,您可以还原快照。有关更多信息,请参阅 备份、还原和导出数据。
下表比较了适用于 RDS for Oracle 数据库实例的导入方法。
| 方法 | 适用于 | 停机时间影响 | 复杂度 | 限制 |
|---|---|---|---|---|
| Oracle SQL Developer | 100 MB 以下的简单架构 | 高 | 低 | 不适用于大型或复杂的数据库 |
| Data Pump 通过 Amazon S3 实施 | 100 MB 到 5 TB 的数据库,没有到源的网络链路 | 中 | 中 | 每个转储文件最大 5 TB |
| Data Pump 通过数据库链接实施 | 任何规模,与源数据库有网络连接 | 中 | 中 | 需要与源数据库的 VPC 或 VPN 连接 |
| 可传输的表空间 | 数 TB 数据的迁移,所需停机时间最短 | 低 | 高 | 仅企业版 |
| SQL*Loader | 平面文件加载和 ETL 工作流 | 变化 | 中 | 需要手动 DDL;数据必须为平面文件格式 |
| 实体化视图 | 在割接之前持续同步 | 非常低 | 中 | 需要到源数据库的数据库链接 |
对于许多数据库引擎,将继续进行持续复制,直到您已准备好切换到目标数据库。您可以使用 AWS DMS 从同一数据库引擎或其他引擎迁移到 RDS for Oracle。如果您从其他数据库引擎进行迁移,可以使用 AWS Schema Conversion Tool 迁移 AWS DMS 未迁移的架构对象。