个人版快速入门

从先前版本的 DB2 迁移

若正在从版本 5.0 或版本 5.2 迁移到 DB2 版本 7, 则在安装 DB2 版本 7 之前,必须准备您的数据库和实例。 若正在从版本 6 进行升级,则在安装版本 7 之前不需要执行任何操作。

在 DB2 版本 7 中,不支持版本 5.0 之前的数据库和实例。

在 Windows 和 OS/2 中, 在一台机器上只能安装一个 DB2 版本。例如,若您已经安装了 DB2 版本 6, 而又要安装版本 7,则在安装期间将删除版本 6。
注意:若将操作系统从 Windows 95 或 Windows 98 升级为 Windows 2000 专业版, 则还必须升级 DB2。升级可执行文件 migrate.exe 是在 DB2 CD 的 db2\commondb2\winNT95\common 目录中提供的。 要获得该可执行文件的最新副本,应遵循在 Windows 2000 安装期间所出现的链接。

准备数据库和实例以进行迁移

本节描述如何准备现存的 DB2 版本 5.x 数据库和实例 以迁移至一种 DB2 版本 7 可使用的格式。若想迁移多个实例, 则必须对每个实例重复这些步骤。

要准备数据库以进行迁移:

  1. 确保无应用程序使用您正准备迁移的 DB2 实例所拥有的任何数据库。 要获得该拥有实例的所有应用程序的列表, 输入 db2 list applications 命令。 若所有应用程序都已断开,则此命令将会返回如下的信息:
       SQL1611W “数据库系统监控程序”未返回任何数据。
       SQLSTATE=00000
    

    您可以输入 db2 terminate 命令来结束对话。

  2. 确保所有数据库都已编目。要查看当前实例中的所有编目数据库的列表, 输入下列命令:
       db2 list database directory
    
  3. 备份所有的版本 5.x 数据库。不必备份“版本 6”的数据库。 参考 DB2 产品的管理指南以获取有关制作数据库副本的信息, 参考 Command Reference 以了解备份命令的语法。
  4. 当完成了所有应用程序且备份了数据库时, 输入 db2stop 命令来停止 DB2 拥有实例的所有数据库服务器进程。
  5. 通过输入 db2licd -end 命令来停止 DB2 许可证精灵程序。
  6. 在正在运行命令行处理器的每个对话中输入 db2 terminate 命令, 以停止所有命令行处理器对话。

接着,在安装 DB2 版本 7 之前, 应验证是否所有已编目的数据库都已准备好进行迁移。

验证数据库是否准备好进行迁移

要确保可以将数据库迁移至“DB2 版本 7”格式, 应在安装“DB2 版本 7”之前运行 db2ckmig 命令。
注意:本节仅适用于用“DB2 版本 5.x”创建的数据库。 不必对用 DB2 V6 创建的数据库运行此命令。

要运行 db2ckmig 命令:

  1. 将“DB2 版本 7”产品 CD-ROM 插入驱动器中。若正在 Windows 32 位工作站上安装 DB2, 则可由操作系统的自动运行功能部件来自动启动安装程序。 取消安装进程,并继续进行下一步骤。
  2. 换至 x:\db2\common 目录, 其中,x: 表示 CD-ROM 驱动器盘符。
  3. 输入 db2ckmig 命令以验证是否可正确迁移您的系统上的数据库。 此命令语法如下:
    DB2CKMIG Command
     
    >>-db2ckmig----+-database_alias-+--/l--drive:\path\filename------------------->
                   '-/e-------------'
     
    >-----+---------------------------+----------------------------><
          '-/u--userid--/p--password--'
     
    

    database_alias
    指定要对迁移进行验证的数据库的 database_alias 名。若未指定 /e 参数, 则此参数是必需的。

    /e
    指定要对迁移验证所有编目数据库。 若未指定 database_alias 参数,则此参数是必需的。

    /l drive:\path\filename
    指定驱动器、目标路径和文件名, 以保存对扫描的数据库生成的错误和警告的列表。 path 变量是可选的; 若不指定路径,则将使用从中输入 db2ckmig 命令的路径。必须指定 filename

    /u userid
    指定用来与数据库连接的用户帐户。若注册为没有连接权限的用户, 则必须指定此参数。

    /p password
    指定用来与数据库连接的用户帐户的口令。若注册为没有连接权限的用户, 则必须指定此参数。

    可在远程系统上输入 db2ckmig 命令。数据库参数必须指定远程数据库的 database_alias 名。

    例如,要检查是否可迁移在您的系统上编目的所有数据库, 并将来自此命令的所有信息记录在 c:\temp\message.txt 文件中,输入以下命令:

       x:\db2\common\db2ckmig /e /l c:\temp\message.txt
    

    其中,x: 表示您的 CD-ROM 驱动器。

  4. 若发现任何错误,则 db2ckmig 命令生成日志文件, 并将它放在由 /l 选项指定的路径和文件中。若有错误, 则参考后面的信息以了解建议的校正操作。一旦校正了错误, 就重新输入 db2ckmig 命令以确保数据库已准备好迁移。
  5. 为该数据库生成一个副本。有关详情,请参考管理指南

可能的 DB2CKMIG 错误情况

数据库处于备份暂挂状态

备份该数据库。

数据库处于前滚暂挂状态

按需要恢复数据库。执行或继续前滚数据库至日志末尾,然后停止。

表空间 ID 未处于正常状态

按需要恢复数据库和表空间。执行或继续前滚数据库至日志末尾,然后停止。

数据库处于不一致状态

重新启动该数据库,使它返回到一致状态。

结构化类型和函数具有相同的名称

属于同一模式的结构化类型和函数(不带自变量)不能具有相同的名称。 必须卸下类型或函数和使用该类型或函数的对象, 并使用另一个名称来重新创建该类型或函数。 要校正此错误:

  1. 备份该数据库。
  2. 从任何从属于结构化类型或函数的表中调出数据。
  3. 卸下从属于结构化类型或函数的任何表,然后卸下这些结构化类型或函数。 这些卸下操作可能会卸下其他对象,如视图、索引、触发器或函数。
  4. 用不同的类型或函数名创建结构化类型或函数, 并使用新结构化类型或函数名来重新创建这些表。 重新创建任何卸下的视图、索引、触发器或函数。
  5. 将数据调入或装入到对象中。

数据库包含使用类型名 BIGINT、DATALINK 或 REFERENCE 的用户定义单值类型 (UDT)。

这些数据类型名是保留给“版本 7”数据库管理程序使用的。 要校正此错误:

  1. 备份该数据库。
  2. 从从属于这些数据类型的任何表中调出数据。
  3. 卸下从属于这些数据类型的任何表,然后卸下这些数据类型。 这些卸下操作可能会卸下其他对象,如视图、索引、触发器或函数。
  4. 用不同的类型或函数名来创建数据类型, 并使用新数据类型名来重新创建这些表。 重新创建任何卸下的视图、索引、触发器或函数。
  5. 将数据调入或装入到对象中。

参考管理指南以获得有关校正这些情况所需操作的详情。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]