合 AWS RDS Oracle数据迁移
在 Amazon RDS 上将数据导入到 Oracle
长期来看,Oracle Data Pump 最终会取代 Oracle Export/Import 实用工具,成为将大量数据从 Oracle 安装迁移到 Amazon RDS 数据库实例的首选方法。有几种情况可以使用 Oracle Data Pump:
- 将数据从一个 Oracle 数据库 (可以为本地或 Amazon EC2 实例) 导入到另一个 Amazon RDS Oracle 数据库实例
- 将数据从一个 Amazon RDS Oracle 数据库实例导入到 Oracle 数据库 (可以为本地或 Amazon EC2 实例)
- 在 Amazon RDS Oracle 数据库实例之间导入数据 (例如,将数据从 EC2-Classic 迁移到 VPC)
要下载 Oracle Data Pump 实用程序,请转到 http://www.oracle.com/technetwork/database/features/instant-client。
以下过程使用 Oracle Data Pump 和 DBMS_FILE_TRANSFER 包。该过程连接到源 Oracle 实例 (可以为本地或 Amazon EC2 实例,或者为 Amazon RDS Oracle 数据库实例) 并使用 DBMS_DATAPUMP 包导出数据。然后使用 DBMS_FILE_TRANSFER.PUT_FILE 方法,将转储文件从 Oracle 实例中复制到通过数据库链接来连接的目标 Amazon RDS Oracle 数据库实例上的 DATA_PUMP_DIR 目录。最后一步是,使用 DBMS_DATAPUMP 包,将数据从复制的转储文件中导入到 Amazon RDS Oracle 数据库实例。
此过程有以下要求:
- 您必须具有 DBMS_FILE_TRANSFER 包和 DBMS_DATAPUMP 包的执行特权。
- 目标数据库实例必须为 11.2.0.2 .v6 版本或更高版本.
- 您必须具有源数据库实例上的 DATA_PUMP_DIR 目录的写入特权.
- 您必须确保有足够的存储空间来存储源实例和目标数据库实例上的转储文件.
注意
此过程将转储文件导入到 DATA_PUMP_DIR 目录 (这是所有 Oracle 数据库实例上的预配置目录) 中。此目录位于您的数据文件所在的存储卷上。在导入转储文件时,现有的 Oracle 数据文件将占用更多空间,因此您应确保数据库实例也能提供额外空间。导入的转储文件不会自动从 DATA_PUMP_DIR 目录中删除或清除。使用 UTL_FILE.FREMOVE 可移除导入的转储文件。
使用 Oracle Data Pump 和 DBMS_FILE_TRANSFER 包的导入过程包含以下步骤:
- 步骤 1:向用户授予 Amazon RDS 目标实例上的特权
- 步骤 2:向用户授予源数据库的特权
- 步骤 3:使用 DBMS_DATAPUMP 创建转储文件
- 步骤 4:创建目标数据库实例的数据库链接
- 步骤 5:使用 DBMS_FILE_TRANSFER 将导出的转储文件复制到目标数据库实例
- 步骤 6:在目标数据库实例上使用 DBMS_DATAPUMP 导入数据文件
- 步骤 7:清除
步骤 1:向用户授予 Amazon RDS 目标实例上的特权
使用 SQL Plus 或 Oracle SQL Developer 连接到要导入的数据的 Amazon RDS 目标 Oracle 数据库实例。以 Amazon RDS 主用户的身份连接。有关连接到数据库实例的信息,请参阅与运行 Oracle 数据库引擎的数据库实例连接。
在导入数据之前,创建所需的表空间。有关更多信息,请参阅 创建表空间并配置其大小。
如果要导入数据的用户账户不存在,请创建用户账户并授予必需的权限和角色。如果您将数据导入到多个用户架构,请创建各个用户账户并向其授予所需的特权和角色。
例如,以下命令创建新的用户并授予所需权限和角色,以将数据导入到用户架构中
123create user schema_1 identified by password;grant create session, resource to schema_1;alter user schema_1 quota 100M on users;本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!