扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在安装好 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。
db2level
命令来验证数据库实例是否被成功的迁移。图 2 是执行 db2level
命令的结果。我们可以看到原来的数据库实例 DB2 已经被成功的迁移,其版本信息为“DB2 v9.1.0.356”; 如果在安装过程中没有选择“迁移”数据库的话,我们可以在安装结束后手工迁移实例。
db2stop
;
$DB2DIR\bin\db2imigr /u:user,password InstName
。其中 $DB2DIR 是 DB2 安装路径。user、password 是数据库服务下的用户名和密码。InstName 是数据库实例的名字。对于我们的例子,我们可以使用下面的命令 C:\Program Files\IBM\dwe\SQLLIB\bin\db2imigr /u:db2admin,passw0rd DB2
。
db2start
。 完成上面的迁移 DB2 实例后,我们需要继续迁移该实例下的数据库。假设原来在该实例下,有个 Sample 数据库。
MIGRATE DATABASE database-alias USER username USING password
。其中 database-alias 是将要迁移的数据库的名字或者别名。Username 是具有 SYSADM 权限的用户名来认证。在我们的例子中,假设 db2admin 的密码是 passw0rd.那么我们需要执行下面的命令来迁移 sample 数据库:MIGRATE DATABASE sample USER db2adim USING passw0rd
。
在迁移 DB2 数据库系统中,我们也可以迁移原来的 DAS,或者先删掉原来的 DAS,再创建新的 DAS。在安装 DB2 服务器上,你只可以有一个 DAS。下面是迁移 DAS 的具体步骤。
db2admin stop
。
<db2dir>\bin\dasmigr
,即 C:\Program Files\IBM\SQLLIB\bin\dasmigr
。为验证我们的 DAS 是不是已经被成功的迁移到 DB2 V9,我们可以运行 db2daslevel
命令。图 5 是运行后的显示结果。 db2admin start
。 迁移过程中最常见的错误是日志文件(log)文件不够大。其错误消息如清单 1 所示。
SQL1704N Database migration failed. Reason code "3". |
解决方法如下:
CONNECT TO sample
;
GET DATABASE CONFIGURATION
命令来决定目前日志文件空间大小。例如清单 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
。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者