QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 小童小童 叮叮肉叮叮肉 小周小周 小破孩小破孩 遥望当年遥望当年

用户导购指南

IBM笔记本特别报价

IBM行货笔记本报价

IBM服务器报价

IBM笔记本配件报价

本周IBM笔记本特价

IBM笔记本驱动下载

IBM笔记本验机流程

IBM笔记本保修政策

IBM笔记本FRU查询

IBM常见问题解决

IBM笔记本使用手册

验机软件下载

论坛积分使用说明

异地购机流程

购机手册及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

苹果APPLE水货笔记本报价

 
发新话题
打印

将非UTF-8的IBM DB2 Content Manager图书馆服务器数据库(ICMNLSDB)转换为UTF-8编码

将非UTF-8的IBM DB2 Content Manager图书馆服务器数据库(ICMNLSDB)转换为UTF-8编码

供稿人:刘淳

内容提要:
本文描述将非UTF-8的IBM DB2 Content Manager图书馆服务器数据(ICMNLSDB)转换为使用UTF-8编码的数据的步骤,相关命令,以及注意事项等。
为了支持多语言的环境,有时可能需要将非UTF-8的IBM DB2 Content Manager服务器数据库转换为使用UTF-8编码的数据库。由于IBM DB2 Content Manager资源管理器数据库一直使用UTF-8代码页来存储数据,所以这个转换的过程只需要处理IBM DB2 Content Manager图书馆服务器数据库,也即数据库ICMNLSDB。
下面,我们以工作于Windows操作系统的IBM DB2 Content Manager V8.3为例,来介绍一下这个数据库转换的过程。这个数据库转换的步骤也可应用于其它的操作系统平台,只是命令的语法在各个操作系统平台可能略有不同。
在实际进行数据库的转换时,需要注意以下几点:
1.在转换完成之后,需要对系统的工作进行测试。测试系统的导入,检索等功能
2.对于生产系统,在进行操作前,请对系统进行备份。备份可以按照如下的步骤进行:
1)停止所有的Content Manager处理
2)停止所有相关ICMNLSDB数据库的处理
3)执行db2stop/db2start命令
4)完整的备份ICMNLSDB数据库
5)创建一个目录来存放备份的配置信息
A.mkdir c:\temp\backup
B.cd c:\temp\backup
6)执行命令connect to db连接到数据库ICMNLSDB
7)执行下面的命令来备份相关的配置
A.db2 get db cfg for ICMNLSDB > db.out
B.db2 get dbm cfg > dbm.out
C.db2set - all > db2set.out
在对ICMNLSDB数据库进行了完整的备份之后,就可以按照下面的步骤来对数据库的代码页进行转换了。 备份以及进行下面的转换时还要注意,我们使用临时目录c:\temp,请确认该目录下有足够的空间。
将非UTF-8的IBM DB2 Content Manager图书馆服务器数据库(ICMNLSDB)转换为使用UTF-8编码的数据库的步骤:
1.首先,需要连接到DB2数据库ICMNLSDB,命令如下:
db2 connect to ICMNLSDB user icmadmin using password
2.使用db2look命令导出创建对象的DDL语句,以用于之后重建数据库对象,命令和步骤如下:
A.mkdir c:\temp\db2look
B.cd c:\temp\db2look
C.db2look - d ICMNLSDB - l - a - e - xd - f - o db2look.out
注意,在执行命令前请确认c:\temp目录下有足够的磁盘空间。
3.使用db2move命令来移动数据。db2move命令主要用于导出和导入数据。 具体的命令和步骤如下:
A.确认c:\temp目录下有足够的磁盘空间
B.mkdir c:\temp\db2move
C.cd c:\temp\db2move
D.db2move ICMNLSDB EXPORT > db2move.out
E.检查上一步的输出文件 db2move.out, 确认命令正确完成。
db2move命令会将数据库中所有的用户表数据导出成IXF格式的文件。 我们可以将这些IXF格式的文件中的数据导入到其它的数据库中。
4.删除当前的ICMNLSDB数据库
为了重建一个UTF-8代码页的数据库,我们需要将现有的ICMNLSDB数据库删除。在删除当前的ICMNLSDB数据库之前,建议先对其进行完整的备份,以在需要时可以恢复该数据库。 可以按照如下的步骤删除ICMNLSDB数据库:
A.关闭所有和ICMNLSDB数据库的连接
B.执行命令删除数据库:
db2 drop db ICMNSLDB
5.创建新的UTF-8编码的数据库
为了在IBM DB2 Content Manager系统中接受多语言信息并更好的处理多语言信息,我们需要建立UTF-8编码的数据库,这可以通过下面的命令实现:
db2 create database ICMNLSDB using codeset UTF-8 territory US collate using system
6.连接新创建的UTF-8编码的ICMNLSDB数据库, 命令如下:
db2 connect to ICMNLSDB user icmadmin using password
7.重建IBM DB2 Content Manager图书馆服务器数据库需要的数据库对象。
执行前面通过db2look命令导出的DDL语句,以创建需要的数据库对象,命令和步骤如下:
A.cd c:\temp\db2look
B.db2 -tvf db2look.out > load1.log
C.检查load1.log输出文件,确认命令执行成功
8.使用db2move命令将前面导出的数据重新装载到新的ICMNLSDB数据库中, 命令和步骤如下:
A.cd c:\temp\db2move
B.db2move ICMNLSDB LOAD > load2.log
C.检查load2.log输出文件,确认命令执行成功
9.在完成装载数据后,对于某些表对象,可能会处于“检查暂挂”的状态。这时,表是不可连接的。可以通过下面的步骤,将表恢复到正常状态:
A.执行下面的命令,以得到所有当前处于“检查暂挂”状态的表:
db2 "select name from sysibm.systables where status='C'" > checkPending.txt
B.对于checkPending.txt文件中出现的每一个表,执行下面的命令:
db2 “set integrity for <Table> immediate checked”
10.更新索引的统计信息。由于我们使用LOAD参数来执行db2move命令装载数据,则DB2不会更新相关索引的统计信息。这会对系统的性能造成影响,请使用runstats命令来更新数据库中相关索引的统计。
11.在数据库被使用之前,需要重新bind数据库中的相关程序包,以使得这些命令可以用到更新的统计信息,步骤如下:
A.db2rbind icmnlsdb -l tmp.log -u icmadmin -p password all
B.cd C:\Program Files\IBM\db2cmv8\config
C.cmcfgls.bat -t bind
12.检查DB2数据库的相关环境,包括数据库配置参数,数据库管理器配置参数和DB2的注册变量。如果需要,可以根据我们之前作的这些参数的备份对参数值进行修改。

至此,我们的数据库转换工作已经完成。我们建议您对新的数据库进行备份。

(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本 IBMT61 IBMT60 IBMX61 IBMX60)

TOP

发新话题