对于 UNIX 和 Windows,先使用 DB2 工具 db2imgr 然后使用 db2iupdt 来将 DB2 实例从 V7.2 迁移至 V8.1.x。例如:
db2imigr -u <fenced userid> <instance name> db2iupdt -u <fenced userid> <instance name>
然后使用 DB2 命令 migrate 和新的 db2extmdb 工具来迁移此实例的所有数据库。例如:
db2 migrate database <database name> db2extmdb <database name>
调用者必须是实例所有者。
db2extmdb 程序将收集与迁移到名为 DB2EXT.TMIGRATION 的新表有关的所有 db2ext 管理信息。在该表中,每个文本索引都表示为单独的一行。迁移信息表将保留至数据库成功迁移为止,不应由用户删除它。
如果发生错误,则修正错误并再次调用 db2extmdb。
文本索引迁移期间,发生不同的处理。这取决于“日志表”的状态。如果日志表是空的,则将迁移索引,这应该是最快的方法。如果日志表不是空的,则不能确保与数据库完全一致的状态,并且需要重新创建索引。此过程可能要花相当长的时间。
当迁移在运行时,不应对具有文本索引的用户表作出任何更改。
在调用 db2extmdb 程序之前,用户应该对所有索引目录和数据库进行备份,并且验证用于创建版本 7.2 文本索引的所有文档模型文件是否仍然存在,并且它们是可用于读取的。
在迁移 DB2 实例之后,先前的 sqllib 目录被重命名为 sqllib_v71。如果将文本索引存储在缺省索引目录中, 则将 sqllib_v71/db2ext/indexes 目录移至新的 sqllib 目录 sqllib/db2ext/indexes。
迁移步骤记录在以下文件中:
<os-dependent>/sqllib/db2ext/db2extm <database-name>.log
对于 HP-UX 或 Linux,此步骤不是必需的,原因是 Text Information Extender 在这些平台上不可用。
还要注意,DB2 Text Information Extender V7.2 不再可用。