DB2 V8数据库系统转移如何正确进行?


  本文标签:DB2 V8

  以下的文章主要向大家讲述的是DB2 V8数据库系统转移的正确操作步骤,在安装好DB2数据库旧版本的系统上对DB2 v9数据库进行安装,我们大家都需要把旧版本的所有的实例(Instance)和数据库系统迁移到DB2 V9  。

  移植DB2 V8数据库系统,包括迁移实例(Instance),DB2管理服务器(DAS)和数据库  。对于 DB2 V8 的数据库系统,可以直接迁移到 DB2 V9  。对于 DB2 V6、V7 的产品需要首先迁移到 DB2 V8,然后再迁移到 DB2 V9  。

  在一台 Windows 系统的系统上,我们已经安装了 DB2 ESE(Enterprise Server Edition) V8.2 数据库系统  。假定我们创建了一个 DB2 的实例  。同时,我们在该实例下创建了一个数据库 Sample  。

  我们需要在该系统上安装 DB2 V9,把 DB2 ESE V8.2 移植到 DB2 V9  。数据库管理员账号为 db2admin,同时也具有系统管理员的权限  。下面在上述的 Windows 平台上,开始我们的移植 DB2 ESE V8.2旅程  。

  迁移数据库实例

  有两种方式可以迁移数据库实例  。一种是由数据库安装程序实现自动迁移,第二种方式是手工迁移数据库  。在 Windows 平台上,可以在安装 DB2 V9 过程中选择从 DB2 V8 移植到 DB2 V9  。安装结束后 DB2 V8 的实例就自动移植到 DB2 V9  。

  1. 自动迁移实例

  以系统管理员身份登录系统,如 db2admin;

  运行 DB2 V9 的安装程序 setup.exe;

  在图 1所示的“安装产品”的面板上选择“迁移”旧的数据库系统;

  在选择安装文件夹的面板上,我们可以看到安装路径被自动设为 DB2 ESE V8.2 的安装路径“c:\Program Files\IBM\SQLLIB\”  。我们不需要也不能选择安装文件夹  。待安装结束后,该目录下原来安装的 DB2 将被升级;

  在迁移过程结束后可以运行 db2level 命令来验证数据库实例是否被成功的迁移  。图 2 是执行 db2level 命令的结果  。我们可以看到原来的数据库实例 DB2 已经被成功的迁移,其版本信息为“DB2 v9.1.0.356”;

  运行 DB2 Control Center,当访问原来的数据库 Sample 时,会弹出一个错误信息的对话框  。提示该数据库是被一个低版本的数据库创建  。因此必须把数据库进行迁移  。如图 3 所示  。

  2. 手工迁移实例

  如果在安装过程中没有选择“迁移”数据库的话,我们可以在安装结束后手工迁移实例  。

  停止运行的 DB2 实例,db2stop;

  迁移 DB2 实例,我们可以执行下面的命令  。$DB2DIR\bin\db2imigr /u:user,password InstName  。其中 $DB2DIR 是 DB2 安装路径  。user、password 是数据库服务下的用户名和密码  。InstName 是数据库实例的名字  。对于我们的例子,我们可以使用下面的命令 C:\Program Files\IBM\dwe\SQLLIB\bin\db2imigr /u:db2admin,passw0rd DB2  。

  迁移完数据库实例后,重新启动数据库实例DB2  。db2start  。

  迁移数据库

  完成上面的迁移 DB2 实例后,我们需要继续迁移该实例下的数据库  。假设原来在该实例下,有个 Sample数据库  。

  用具有 SYSADM 权限的该实例的用户登录系统,如 db2admin;

  运行 db2 命令行工具,在该环境中执行迁移数据库的命令:MIGRATE DATABASE database-alias USER username USING password  。其中 database-alias 是将要迁移的数据库的名字或者别名  。Username 是具有 SYSADM 权限的用户名来认证  。在我们的例子中,假设 db2admin 的密码是 passw0rd.那么我们需要执行下面的命令来迁移 sample 数据库:MIGRATE DATABASE sample USER db2adim USING passw0rd  。

  为验证我们的数据库被成功迁移到 DB2 V9,我们可以连接到数据库 sample,并查询其中的数据  。我们试验的结果如图 4 所示  。现在我们能够成功的连接到数据库 sample,并能够查询到其中的数据  。

  迁移DB2管理服务器

  在迁移 DB2 数据库系统中,我们也可以迁移原来的 DAS,或者先删掉原来的 DAS,再创建新的 DAS  。在安装 DB2 服务器上,你只可以有一个 DAS  。下面是迁移 DAS 的具体步骤  。

  用 DAS 管理员的账号登录,如 db2admin;

  停止 DAS 服务器  。我们可以用下面的命令:db2admin stop  。

  迁移原来的 DB2 V8 的 DAS 服务器,假设我们的 DB2 安装在 C:\Program Files\IBM\SQLLIB 目录下  。我们运行下面的命令:\bin\dasmigr,即 C:\Program Files\IBM\SQLLIB\bin\dasmigr  。为验证我们的 DAS 是不是已经被成功的迁移到 DB2 V9,我们可以运行 db2daslevel 命令  。图 5 是运行后的显示结果  。

  迁移 DAS 完成后,我们可以重新启动 DAS 服务器:db2admin start  。

  常见错误及解决

  迁移过程中最常见的错误是日志文件(log)文件不够大  。其错误消息如清单 1 所示  。

  清单 1. 日志错误消息

  SQL1704N Database migration failed. Reason code "3".

  解决方法如下:

  连接到想要迁移的数据库:CONNECT TO sample;

  使用 GET DATABASE CONFIGURATION 命令来决定目前日志文件空间大小  。例如清单 2 中的设置:

  清单 2. 日志文件空间大小设置

  日志文件大小(4KB) (LOGFILSIZ) = 1024

  主日志文件的数目 (LOGPRIMARY) = 13

  辅助日志文件的数目 (LOGSECOND) = 4

  日志文件路径  = C:\DB2\NODE0000\SQL00004\SQLOGDIR\

  可以使用下面的命令来提高日志空间大小:UPDATE DB CFG FOR sample using current value * 2  。例如,UPDATE DB CFG FOR sample using LOGPRIMARY 26,UPDATE DB CFG FOR sample using LOGSECOND 8  。

  另外一个常见的警告信息是 SQL1243W  。遇到这种错误,你必须卸载或者重新命名 SYSTOOLS.DB2LOOK_INFO 表  。可以使用下面的命令:db2 RENAME SYSTOOLS.DB2LOOK_INFO TO new-table-name  。以上的相关内容就是对DB2 V8数据库系统转移的介绍,望你能有所收获  。