使用 INSERT 命令将数据从 Db2 导入到 Amazon RDS for Db2
您可以从自行管理的 Db2 服务器使用 INSERT
命令将您的数据插入到 Amazon RDS for Db2 数据库中。使用这种迁移方法,您可以为远程 RDS for Db2 数据库实例使用昵称。自行管理的 Db2 数据库(源)必须能够连接到 RDS for Db2 数据库(目标)。
重要
INSERT
命令方法对于迁移小型表很有用。如果自行管理的 Db2 数据库和 RDS for Db2 数据库之间的网络带宽有限,我们建议您使用不同的迁移方法。有关更多信息,请参阅 使用原生 Db2 工具将数据从 Db2 迁移到 Amazon RDS for Db2。
将数据从自行管理的 Db2 数据库复制到 RDS for Db2 数据库
-
在自行管理的 Db2 实例上对 RDS for Db2 数据库实例进行编目。
-
对节点进行编目。在以下示例中,将
dns_ip_address
和port
替换为自行管理的 Db2 数据库的 DNS 名称或 IP 地址和端口号。db2 catalog tcpip node remnode REMOTE
dns_ip_address
SERVERport
-
对数据库编目。在以下示例中,将
rds_database_name
替换为 RDS for Db2 数据库实例上的数据库名称。db2 catalog database
rds_database_name
as remdb at node remnode \ authentication server_encrypt
-
-
在自行管理的 Db2 实例上启用联合身份验证。在以下示例中,将
source_database_name
替换为自行管理的 Db2 实例上的数据库名称。db2 update dbm cfg using FEDERATED YES
source_database_name
-
在 RDS for Db2 数据库实例创建表。
-
对节点进行编目。在以下示例中,将
dns_ip_address
和port
替换为自行管理的 Db2 数据库的 DNS 名称或 IP 地址和端口号。db2 catalog tcpip node srcnode REMOTE
dns_ip_address
serverport
-
对数据库编目。在以下示例中,将
source_database_name
和source_database_alias
替换为自行管理的 Db2 数据库的名称和要用于此数据库的别名。db2 catalog database
source_database_name
assource_database_alias
at node srcnode \ authentication server_encrypt
-
-
连接到源数据库。在以下示例中,将
source_database_alias
、user_id
和user_password
替换为您在上一步中创建的别名以及自行管理的 Db2 数据库的用户 ID 和密码。db2look -d
source_database_alias
-iuser_id
-wuser_password
-e -l -a -f -wlm \ -cor -createdb -printdbcfg -o db2look.sql -
设置联合身份验证,并在自行管理的 Db2 实例上为 RDS for Db2 数据库表创建昵称。
-
连接到本地数据库 在以下示例中,将
source_database_name
替换为自行管理的 Db2 实例上的数据库名称。db2 connect to
source_database_name
-
创建用于访问 Db2 数据来源的包装器。
db2 create wrapper drda
-
在联合数据库上定义数据来源。在以下示例中,将
admin
和admin_password
替换为自行管理的 Db2 实例的凭证。将rds_database_name
替换为 RDS for Db2 数据库实例上的数据库名称。db2 "create server rdsdb2 type DB2/LUW version '11.5.9.0' \ wrapper drda authorization "
admin
" password "admin_password
" \ options( dbname 'rds_database_name
', node 'remnode')" -
映射两个数据库上的用户。在以下示例中,将
master_username
和master_password
替换为 RDS for Db2 数据库实例的凭证。db2 "create user mapping for user server rdsdb2 \ options (REMOTE_AUTHID '
master_username
', REMOTE_PASSWORD 'master_password
')" -
验证与 RDS for Db2 服务器的连接。
db2 set passthru rdsdb2
-
在远程 RDS for Db2 数据库中为该表创建昵称。在以下示例中,将
NICKNAME
和TABLE_NAME
替换为表的昵称和表的名称。db2 create nickname REMOTE.
NICKNAME
for RDSDB2.TABLE_NAME.
NICKNAME
-
-
将数据插入远程 RDS for Db2 数据库的表中。在自行管理的 Db2 实例的本地表上的
select
语句中使用该昵称。在以下示例中,将NICKNAME
和TABLE_NAME
替换为表的昵称和表的名称。db2 "INSERT into REMOTE.
NICKNAME
select * from RDS2DB2.TABLE_NAME.NICKNAME
"