• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > DB2下数据转移任务操作实例

DB2下数据转移任务操作实例

录入:edatop.com     点击:

使用别名在另一个数据库中创建表拷贝

        除了可以在一个数据库中的表空间之间转移表之外,还可以在不同的数据库之间转移表。这意味着:通过使用 LOAD FROM CURSOR,也可以把表从一个数据库转移到另一个数据库。这可以通过两种方法完成:

        方法 1 - 在目标数据库中,使用 DB2 的联邦数据库机制访问源数据库。

        方法 2 - 使用 LOAD FROM CURSOR 命令的远程访问特性。

        这两种方法各有优点,下面分别讨论。

        方法1 使用 DB2 的联邦数据库机制

        通过对源数据库执行联邦访问来复制表内容。方法 1 要求目标数据库被配置为联邦数据库。因此,对应的 DB2 实例的 FEDERATED 参数必须设置为 YES(UPDATE DBM CFG)。在修改 DBM CFG 参数 FEDERATED 之后,必须重新启动 DB2 实例(db2stop/db2start)。在这个示例场景中,源和目标数据库在同一个 DB2 实例中运行。创建一个名为 MYSAMPLE 的空数据库作为目标数据库。对于没有特殊需求的测试数据库,可以使用 CREATE DATABASE 命令创建此数据库,不需要其他选项。

        清单 8. 在 DBM CFG 中启用联邦数据库支持并创建空的目标数据库 MYSAMPLE

\

        与前面一样,必须在目标数据库 MYSAMPLE 中创建一个空表,它的结构与 SAMPLE 数据库中的 SALES 表相同。因此,应该使用 db2look 实用程序提取源数据库中 SALES 表的 DDL。

        清单 9. 使用 db2look 实用程序提取源表 SALES 的 DDL

\

        db2look 调用的结果是 sales.ddl 文件,其中包含 SALES 表的 CREATE TABLE 语句。如果在 SALES 表上定义了约束和/或索引,也会提取出对应的定义并写到 sales.ddl 文件中。清单 10 显示这些结果。

        清单 10. db2look 调用的结果文件 sales.ddl

\

        在对目标数据库 MYSAMPLE 执行 sales.ddl 文件中的语句之前,在文本编辑器中打开此文件并对生成的语句做两处修改:

        在文件的开头,db2look 为源数据库 SAMPLE 生成 CONNECT 语句。因为希望对目标数据库 MYSAMPLE 执行下面的语句,所以要相应地修改 CONNECT 语句。

        因为在目标数据库 MYSAMPLE 中没有用于存储用户数据的表空间 IBMDB2SAMPLREL,所以要把 CREATE TABLE 语句中的表空间名替换为 USERSPACE1。

        清单 11. 结果文件 sales.ddl 中创建目标表所需的修改

\
   
        在修改 sales.ddl 文件之后,通过调用 DB2 CLP (command line processor) 执行此脚本。

        清单 12. 在 MYSAMPLE 数据库中创建目标表

\

        到目前为止,只在目标数据库 MYSAMPLE 中创建了 SALES 表的空拷贝。准备数据转移操作的下一步是把源数据库 SAMPLE 编目为远程数据库。显然,这对于这个示例场景并不是必需的,因为源和目标数据库在同一个服务器上的同一个 DB2 实例中运行。但是在真实的环境中,必须对运行目标数据库的 DB2 实例执行以下 CATALOG 命令,从而允许对源数据库进行 TCP/IP 访问。

        清单 13. 在节点和数据库目录中创建访问 SAMPLE 数据库所需的条目

\

        准备 LOAD FROM CURSOR 操作的最后一步是配置对源数据库 SAMPLE 中 SALES 表的联邦访问。这需要在目标数据库 MYSAMPLE 中创建对另一个数据库执行联邦访问所需的几个特殊对象:

上一篇:10G EPON 将在 FTTB/C/N 率先应用
下一篇:移动WiMAX产业链逐步完善 WiMAX终端已超百款

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图