转载

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

概述

数据库开发管理人员经常需要在客户端机器将开发数据库的特定数据导入到测试环境中去。

Data Studio 4.1.1 支持 DB2 客户端 CLP,因此我们不需要整个数据库的备份恢复,也不需要将导出的数据在不同机器间拷贝。通过任务向导或者 SQL 编辑器,Data Studio 可以很容易将开发数据库的特定数据导入测试数据库的制定表。本文将通过两个实例介绍 IBM Data Studio 是如何帮助我们在客户端完成不同数据库之间的数据迁移。

回页首

实例一:通过图形界面从源数据库导出(EXPORT)数据并导入(LOAD)目标数据库

操作步骤:

  • 1. 创建数据库连接

在 Data Studio 中创建的连接是不能使用 DB2 客户端 CLP 功能的,因此我们需要对源数据库以及目标数据库进行编目。Data Studio 会自动创建编目数据库连接

图 1. 在 DB2 客户端 CLP 中对源数据库编目

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

图 2. 在 DB2 客户端 CLP 中对目标数据库编目

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

编目完成之后,需要重启 Data Studio 以便于 Data Studio 创建对应的编目数据库连接。

图 3. 重启 Data Studio

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

通过重启 Data Studio,我们可以看到编目数据库连接列在了管理视图中。并且它的名字最后是 [DB2 Alias],只有这种类型的数据库连接才能使用 DB2 客户端 CLP 功能。

图 4. Data Studio 自动创建的编目数据库连接

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

在此,我们双击 SAMPLE3[DB2 Alias] 打开连接属性并输入正确的用户名和密码完成连接配置。同理完成 SAMPLE1[DB2 Alias] 的连接配置。

图 5. 输入连接用户名密码

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移
  • 2. 通过向导完成源数据库表数据的导出(EXPORT)

在 Administrator Explorer 视图下,找到刚才新创建的连接,依次展开以下节点位置->实例->数据库 SMPLE3->TABLES 文件夹。

图 6. 展开 TABLE 文件夹

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

数据库对象列表编辑视图中,右键点击一个包含数据的表,选择 Unload -> With Export Utility,本例使用测试表 DB2INST2.ACT。

图 7. 在表的列表编辑视图中选择 Export 工具

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

在弹出的表数据的导出任务向导中, 选择 DB2 Client CLP 作为 run method。

图 8. 选择 DB2 Client CLP

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

在任务向导中的 Target 页面,保持默认的 Create a new file 选项,并输入期望保存的路径以及文件名。在本例中,EXPORT 出的数据将被保存在 E 盘根目录下的 migration_clp.csv 文件中。

图 9. 选择导出到客户端的文件路径及文件名

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

在任务向导中的 Source 页面,我们可以指定都有哪些数据需要导出。

图 10. 指定需要导出的数据

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

保持其它设置为缺省值。点击向导中的链接 Preview Command, 您将看到为导出产生的 DDL,之后点击按钮 Run 以完成向导。

图 11. 预览生成的 ddl 之后点击按钮完成向导

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

点击查看大图

关闭 [x]

图 11. 预览生成的 ddl 之后点击按钮完成向导

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

之后我们可以在在 Data Studio 的 SQL Results 视图中查看执行结果,在向导的最下部也有执行的情况显示。

图 12. 检查 ddl 执行结果

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

至此,源数据库 SAMPLE3 中表 ACT 的所有数据已导出到 Data Studio 所在客户端的 E 盘 migration_clp.csv 文件中。下一步,实例将演示使用 Data Studio 将数据导入到目标数据库中。

  • 3. 通过向导完成目标数据库数据的导入(LOAD)

首先,我们在目标数据库 SAMPLE1 创建新的表格用于数据导入

清单 1. 创建用于数据导入的表

CREATE TABLE ACT_MIGRATE("ACTNO" SMALLINT NOT NULL,   "ACTKWD" CHAR(6) NOT NULL, "ACTDESC" VARCHAR(20) NOT NULL);

在 Administrator Explorer 视图下,找到目标数据库的连接,依次展开以下节点位置->实例-> 数据库 SMPLE1->TABLES 文件夹。

图 13. 展开 TABLE 文件夹

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

数据库对象列表编辑视图中,右键点击我们刚创建的表 ACT_MIGRATE,选择 Load -> With Load Utility。

图 14. 在表的列表编辑视图中选择 LOAD 工具

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

在弹出的表数据的导入任务向导中, 选择 DB2 Client CLP 作为 run method。选择 REPLACE 作为 Load action。

图 15. 选择 DB2 Client CLP 和 REPLACE

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

浏览文件选取我们刚才导出的文 E:/migration_clp.csv。

图 16. 选择文件 migration_clp.csv

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

保持其它设置为缺省值。点击向导中的链接 Preview Command, 您将看到为导出产生的 DDL,之后点击按钮 Run 以完成向导。

图 17. 预览生成的 ddl 之后点击按钮完成向导

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

之后我们可以在在 Data Studio 的 SQL Results 视图中查看执行结果,在向导的最下部也有执行的情况显示。

图 18. 检查 ddl 执行结果

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

我们通过在 SQL 编辑器中查询语句可以确认源数据库的表数据已经导入到目标数据库。

图 19. 检查源数据库中数据是否已成功导入目标数据库

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

点击查看大图

关闭 [x]

图 19. 检查源数据库中数据是否已成功导入目标数据库

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

通过上述实例可以看到,使用 DB2 客户端和 Data Studio 能够在图形界面完成数据库数据的迁移而不需要进行数据的拷贝传输。

回页首

实例二:在 SQL 编辑器中使用 DB2 客户端 CLP 完成数据的迁移(Export/ Import)

在 SQL 编辑器中使用 DB2 客户端 CLP,可以在一个 SQL 脚本中完成不同环境数据库数据的迁移。

本实例将沿用实例一中创建的编目数据库 SAMPLE3 和 SAMPLE1。

  • 1. 创建基于源数据库 SAMPLE3 的 SQL 脚本(基于目标数据库 SAMPLE1 的类似)

在 Administrator Explorer 视图下,点击数据库 SAMPLE3 之后点击按钮 New SQL script。

图 20. 创建新的 SQL 脚本

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

在 configuration 标签下,选择 DB2 Client Command Line Processor 作为 Run method。

图 21. 设置脚本的 Run Method

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移
  • 2. 创建基于源数据库 SAMPLE3 的 SQL 脚本(与基于目标数据库 SAMPLE1 类似)

在 SQL 编辑器中,输入如下的命令:

清单 2. 在 SQL 编辑器中输入的命令

CONNECT TO SAMPLE3; EXPORT TO "E:/migrate_sql.ixf" OF IXF SELECT * FROM DB2INST2.ACT WHERE ACTNO>50; CONNECT RESET; CONNECT TO SAMPLE1 user db2inst1 using passw0rd; IMPORT FROM "E:/migrate_sql.ixf" OF IXF REPLACE_CREATE INTO DB2INST1.ACT_MIGRATE; CONNECT RESET;

图 22. SQL 脚本执行的结果

使用 Data Studio 4.1.1 在客户端实现不同数据库之间的数据迁移

从上图我们可以看到,源数据库 SAMPLE1 不是 SQL 编辑器当前指向的数据库。所以需要清楚的制定它的用户名和密码。只有这样,Data Studio 才能同时执行 export 和 import 已完成数据的迁移。

通过 SQL Result 视图能看到, 源数据库中 SAMPLE3 表 ACT 的 13 行数据迁移到了目标数据库 SAMPLE1 表 ACT_MIGRATE 中。

回页首

总结

Data Studio 提供任务向导和 SQL 编辑器两种方式进行不同环境的数据迁移。任务向导的易用性以及 SQL 编辑器的强大功能满足了不同层次的用户。不论是初级还是高级的数据库管理员都可以从中获益。

正文到此结束
Loading...