DB2 问题

本文出自《网管员世界》2002年第1期 经验与交流 栏目
问:怎么估计DB2 UDB的内存需求?
答:此处所列出的内存需求是估计值;需要的实际量取决于您要使用的功能。 您可以参照此信息为有大量并行客户机的数据库系统制定计划。 有关在数据库的日常运行期间的内存需求的信息,您可以参考DB2 UDB 管理指南。
1) DB2 通用数据库需求有关
与服务器相连的客户机数
5 个并行连接需 64 MB
10 个并行连接需 80 MB
25 个并行连接 需96 MB
50 个并行连接需 186 MB
DB2 管理工具需 30 MB
这样就可以计算出总的内存需求
2) DB2 客户机需求
运行 DB2 Run-Time Client 所需要的内存量大约为 16 MB。 若您正计划运行 DB2 Administration Client,则客户机工作站应该具有大约 32 MB 的可用内存。


问:DB2 UDB 在不同平台上的安装都包含哪些步骤?
答: DB2 UDB 的安装需要考虑以下三个部分:
a) 安装前的准备工作以及安装计划的制定, 主要需要考虑内存需求,磁盘需求,软件需求, 可能的联网方案等等;
b) 具体的安装命令的执行:比如setup.exe或db2setup 等等;
c) 安装之后根据具体的配置需求更改DB2实例及数据库的配置;


问:怎样解决DB2 数据库代码页不兼容的问题?
答: 例如:
当发出命令:db2 connect to db_name 后系统返回
SQL0332N There is no available conversion for the source code page "819" to the target code page "1386". Reason Code "1". SQLSTATE=57017
DB2 要求源代码页与目标代码页是互相兼容的, 在上边的例子中,源代码页为819与目标代码页为1386不兼容导致了数据库连接失败, 解决方法如下:
在发出db2 connect 命令失败的机器上,在DB2 命令窗口中执行如下命令后重新进行连接:
db2set db2codepage=1386 ?I instance_name
db2 terminate


问:DB2 UDB的安装程序在UNIX下主要支持哪些shell?
答: “DB2 安装程序”的 db2setup 命令主要支持 Bash、Bourne 和 Korn shell。


问:怎么样跟踪DB2 UDB 安装过程中的信息?
答: 您可以使用如下命令获得与DB2安装有关的信息:
#cd /tmp
#ls ?l db2*
上述命令将会列出db2setup.log, db2icrt.* 等文件, 您可以使用vi等文本编辑工具阅读上述文件获得相关信息。
另外您也可以生成跟踪记录 db2setup.trc, 以记录在安装期间所遇到的错误。运行 db2setup 命令,如下所示:
db2setup -d
这会创建一个跟踪文件 /tmp/db2setup.trc。
有关DB2 UDB for Win32平台有关安装期间所遇错误的信息, 参见 db2.log 文件。db2.log 文件存储安装和卸装活动生成的一般信息和错误信息。在缺省情况下,db2.log 文件位于 x:/db2log 目录中,其中 x: 表示安装了操作系统的驱动器。


问: 怎么样验证DB2安装是否已经成功?
答: 若尚未安装 DB2 工具,则您可以通过创建 SAMPLE 数据库, 并通过使用命令行处理器与该数据库相连来验证安装,如下所示:
1. 作为具有系统管理 (SYSADM) 权限的用户向系统注册。
2. 输入 db2sampl 命令以便创建 SAMPLE 数据库。
创建 SAMPLE 数据库时, 用数据库别名 SAMPLE 将它自动编目。
3. 输入 db2start 命令以启动数据库管理程序。
4. 输入下列命令来与 SAMPLE 数据库相连, 检索在部门 20 中工作的所有雇员的列表,并重设数据库连接:
db2 connect to sample
db2 "select * from staff where dept = 20"
db2 connect reset
如以上命令均正确执行, 则证明DB2 UDB 数据库服务器的安装已经成功完成.


问: 怎么使用客户机配置辅助(CCA)程序配置从客户机至服务器的通信?
答: 配置步骤
要配置工作站以访问:远程服务器上的数据库,执行下列步骤:
1) 用有效的 DB2 用户 ID 向系统注册。
2) 启动 CCA。有关详情,参见启动客户机配置辅助程序。
3) 单击添加数据库或添加按钮以配置连接。
4) 您可以使用简要表来添加数据库或者使用 Discovery 来添加数据库, 另外, 您也可以人工添加数据库。 在这里我们以人工添加数据库为例: 选择人工配置与 DB2 数据库的连接单选按钮, 并单击下一步按钮。
5) 从协议列表中选择与要使用的协议对应的单选按钮, 然后单击下一步按钮。
若已安装了“DB2 企业版”或“DB2 扩充企业版”所带有的 DB2 Connect 产品或 DB2 Connect“服务器支持”功能部件, 并选择了 TCP/IP 或 APPC 单选按钮, 则从目标操作系统列表中选择 与正尝试连接的数据库所在的系统的类型相对应的单选按钮。
6) 输入必需的通信协议参数,并单击下一步按钮。有关详情,单击帮助按钮。
7) 在数据库名字段中输入要添加的远程数据库的数据库别名, 并在数据库别名字段中输入本地数据库别名。在注解字段中添加描述此数据库的注解, 并单击下一步按钮。
若正在添加驻留在主机或 AS/400 系统上的数据库, 则数据库名字段将按如下方式出现:OS/390 或 MVS : 位置名 ; AS/400 : RDB 名 ; VM 或 VSE: DBNAME;
8) 将此数据库注册为 ODBC 数据源。(此步可选)
确保选择了向 ODBC 注册此数据库校验框。
选择描述您希望如何注册此数据库的单选按钮:
若您希望系统上的所有用户都可访问此数据源, 则选择作为系统数据源单选按钮。
若您只希望当前用户可访问此数据源, 则选择作为用户数据源单选按钮。
9) 若正在使用人工方法添加数据库, 则还可选择节点选项标签、安全性选项标签或主机或 AS/400 选项标签(若正在添加主机或 AS/400 数据库), 以指定更详细的目录信息。参考每个标签中的联机帮助以了解详情。
若要使用节点选项、安全性选项和主机或 AS/400(若适用的话)选项的缺省设置, 则单击完成按钮并转至下一步。
10) 单击测试连接按钮以测试连接。“连接 DB2 数据库”窗口打开。若未成功添加您要添加的数据库, 则单击更改按钮以更改所有可能未正确指定的设置, 或单击帮助按钮以了解详情。有关更详细的信息, 请参考 Troubleshooting Guide。 输入用户 ID 和口令并单击确定。若该连接成功,则会出现确认该连接的信息。


问:要怎么样才能检查数据库连接有关的错误?
答:以TCP/IP连接为例, 若连接失败,您可以检查下列项目:
在服务器上:
1) db2comm 注册表值包括值 tcpip。
输入 db2set DB2COMM 命令, 以检查 db2comm 注册表值的设置。有关详情,请参考管理指南。
2) 正确地更新了 services 文件。
3) 在数据库管理程序配置文件中正确地更新了服务名 (svcename) 参数。
4) 安全服务已启动。输入 net start db2ntsecserver 命令(仅对于 Windows NT 服务器)。
5) 正确地创建并编目了数据库。
6) 数据库管理程序已停止并再次启动(在服务器上输入 db2stop 和 db2start 命令)。
如果在启动一个协议的连接管理程序时出现问:, 则会出现警告信息,并将错误信息记录在 db2diag.log 文件中。
在客户机上:
1) 正确地更新了 services 和 hosts 文件(若使用过的话)。
2) 使用正确的主机名 (hostname) 或 IP 地址 (ip_address)编目了此节点。
3) 端口号必须匹配,或服务名必须映射为服务器上所用的端口号。
4) 在数据库目录中指定的节点名 (node_name) 指向节点目录中的正确项目。
5) 数据库已正确编目, 它使用在服务器上创建该数据库时编目的服务器的数据库别名(database_alias), 作为客户机上的数据库名 (database_name)。


问:DB2备份历史文件损坏,怎么办?
答:如果在作数据库备份操作时遇到DB2备份历史文件db2rhist.asc损坏, 错误代码SQL2048的错误,可按照如下步骤操作:
1. 先在NODE000x/SQL000x目录下找到该文件,及其备份文件db2rhist.bak,将db2rhist.asc文件移动到其他目录中。
2. 重新运行备份命令。此命令仍会报同样的错误,但同时DB2系统会自动用db2rhist.bak重新生成db2rhist.asc文件。
3. 再次运行备份命令,它将能够正确运行。
如果按照上面的步骤操作后,仍出同样的错误,则再按如下操作:
1. 先在NODE000x/SQL000x目录下找到该文件,及其备份文件db2rhist.bak,将这两个文件移动到其他目录中。
2. 重新运行备份命令。此命令仍会报同样的错误,但同时DB2系统会自动重新生成这两个文件。
3. 再次运行备份命令,它将能够正确运行。


问:CURRENTDATA(NO)有什么作用?在什么时候使用?
答: 在BIND PACKAGE时,如果你设置CURRENTDATA(NO)和ISLATION(CS),READONLY CURSOR 将不会对读到的已经COMMITED数据加锁.这将提高系统并发性.你可以在系统一致性得到保障的前提下,使用该选项来提高系统性能。


问:如何知道某 PACKAGB 消耗多少系统资源?
答:起动ACCOUNTING TARCE CLASS(7), 然后打印PM STATISTICS REPORT(LONG), 各PACKAGE相关的系统消耗信息将以图表和数字形式报告出来。


问:为什么会产生影响INDOUBT TRANSACTION如何处理?
答: INDOUBT TRANSACTION 是DB2 为了保护数据一致性 而采取的方法。当一个交易完成一阶段提交而没有开始第二阶段时,DB2不能判断其它同伴的状况,不能作出回滚或前滚决定.这时候, DB2就把这个交易定为INDOUBT TRANSACTION。
严格按MESSAGE 推选的方法进行恢复, 一般先用DISPLAY THREAD(INDOUBT)找出 INDOUBT TRANSACTION 信息,确定采取回滚或前滚.然后用RECOVERY INDOUBT 命令回滚或前滚。


问:数据库CRASH 后, COLDLOG START,数据有多大可用性?
答: 在最后一次CHECKPOINT 以前 COMMIT的数据都是可用的。 最后一次CHECKPOINT以后 COMMITED 和没有COMMITED都可能出错。需要人工检查。
通过设置DB2/VSE起动参数DSPSTATS=10或20,系统会在CONSOLE上显示每一次CHECKPOINT 时间。


问:怎样判断DB2实例的版本号和修补级别?
答: 用db2level命令。在DB2 5.2及以上版本中,在安装每个DB2实例时,即会装入db2level程序。db2level命令的输出提供了有关DB2实例的版本及修补级别的详细信息。
命令输出如下所示:
DB21085I Instance "<instance_name>" uses DB2 code
release "<rel_ver_mod>" with level identifier
"<level_id>" and informational tokens "<build_id1>", "<build_id2>"
and "<build_id3>".
例如:
DB21085I Instance "DB2" uses DB2 code release "SQL05020"
with level identifier "02070103" and informational tokens
"DB2 v5.2.0.30","c990717" and "WR21119".
下面解释以下这些信息:
<instance_name> = DB2 DB2的实例名
<rel_ver_mod> = SQL05020 Release号05,Version号02,Module号0
<level_id> = 02070103 内部使用的DB2版本号
<build_id1> = DB2 v5.2.0.30 实例的版本信息
<build_id2> = c990717 代码的级别信息
<build_id3> = WR2119 修补的级别信息
注:db2level执行程序不能在不同的系统之间拷贝使用。
并且此程序只显示正式支持的修补级别信息。
对于DB2版本5.0和2.0,可用如下方法获得版本信息:
OS/2:syslevel命令
NT:查询regedit变量:HKEY_LOCAL_MACHINE | SOFTWARE | IBM | DB2 | DB2
universal database xx edition |
CurrentVersion
AIX:用dump -H
$HOME/sqllib/lib/libdb2e.a
Solaris: cat命令查看文件信息 /opt/IBMdb2/V5.0/cfg/bldlevel or
"ldd -s
$HOME/sqllib/lib/libdb2e.so |
grep engn|grep search|uniq"
HP: cat命令查看文件信息
/opt/IBMdb2/V5.0/cfgbldlevel


问:如果想将某操作系统上的数据库备份在另一个不同的操作系统上恢复,如何做?
答:DB2不支持不同平台之间的备份与恢复操作。例如Windows NT和AIX操作系统。如果数据需要在不同操作系统平台之间移动,需要用Import,Export和Load命令来实现。


问:在由备份恢复一个数据库时,遇到SQL2542错误,是怎么回事?
答: 如果有几个数据库的备份,在做数据库恢复时,需要提供正确的路径和时间戳,如果是用DB2命令行来执行恢复操作,在Windows NT操作系统,可参照如下命令:
RESTORE DATABASE SAMPLE FROM D:/backups TAKEN AT 19991117125141
此命令中要注意路径和时间戳。时间戳可以通过list history命令得到。可参照如下命令:
LIST HISTORY BACKUP ALL FOR SAMPLE
Op Obj Timestamp+sequence Type Dev Earliest log Current log Backup ID
B D 19991117125141001 F D S0000000.LOG S0000000.LOG
Contains 2 tablespace(s):
00001 SYSCATSPACE
00002 USERSPACE1
此命令的输出列出了备份的时间戳加上一个3位的数字序列:
时间戳+3位的数字序列=19991117125141001
所以,可以在restore命令中使用时间戳:19991117125141。
如果你有多于一个备份,list history命令将显示所有备份纪录的信息。


问:在Windows NT备份域控制器上安装DB2时,返回2226错误,如何解决?
答:在Windows NT备份域控制器上安装DB2时,返回2226错误是因为不能为数据库的管理服务器生成一个新的用户ID,这是Windows NT操作系统的限制。Windows NT的API NetUserAdd不允许在备份域服务器上增加一个新的用户。
可以尝试如下方法:
1. 在安装DB2前,先在主域控制器上生成一个数据库的管理服务器ID(DB2ADMIN是缺省值),需要管理员权限。
2. 安装时,用下列语法指定用户:域名/用户名。
3. 安装时,忽视“不能验证用户”的提示。
4. 完成安装。
另注:如果在备份域控制器上有主域控制器的安全数据库的拷贝,则可以将DB2的注册变量DB2DMNBCKCTLR设置为YES,以允许数据库利用备份域控制器上的安全数据库,这可减少网络流量。


问:怎样直接备份DB2数据库到磁带设备?
答: 在UNIX和Windows NT操作系统,支持本地的磁带设备。OS/2操作系统不提供本地磁带机的支持。
下面以Windows操作系统为例,介绍如何将DB2数据库直接备份到磁带设备.
1. 首先在备份数据库之前先要初始化磁带设备,可用INITIALIZE TAPE命令做此工作,
例如initialize tape on //./tape0
2. 备份数据库到磁带设备,可用backup database命令。
如:backup database sample to //./tape0
3. 在恢复数据库时,要重绕磁带。可用命令rewind tape。
如:rewind tape on //./tape0
4. 恢复数据库到一个已经存在的新数据库时,可用restore
database命令。
如:restore database sample from //./tape0 into test。
注:在备份数据库到磁带设备或从磁带设备恢复时,可能需要检查磁带机的blocking参数
与DB2数据库的管理校验参数Max requester I/O block size是否匹配。


问:从何处下载DB2 UDB的补丁程序?
答:您可以访问如下网址获取您所需要的补丁程序:
http://www-4.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/download.d2w/report

问:怎么样访问DB2的用户组及从用户组获取信息?
答: IDUG (International Database Users Group) 是一个国际化的DB2用户组织, 您可以通过访问网址: http: //www.idug.org 获取更多的DB2信息资源以及通过讨论组咨询问等等。 另外, 您也可以通过 http://www.db2mag.com 查看DB2的在线杂志。


问:怎样进行DB2的跟踪(Trace)?
答: 完成 db2 trace 的步骤:
1) db2trc on -l 4000000 -e -1
2) 重现您所碰到的问题:
3) db2trc dump db2trc.dmp
4) db2trc off
5) db2trc fmt db2trc.dmp db2trc.fmt
6) db2trc flw db2trc.dmp db2trc.flw
在成功完成以上的步骤以后,您可以将生成的db2trc.fmt, db2trc.flw, db2trc.dmp和DB2 的诊断文件db2diag.log以及其它相关信息一并发往IBM的技术支持组织进行进一步分析。


问:怎么样注册DB2 UDB 的许可证(License)?
答: 对于DB2 UDB v6.x 和v7.x, 您可以使用db2licm(DB2 License Mananger)进行注册和管理。
以DB2 UDB EE V6.x for AIX 为例:
#cd /usr/lpp/db2_06_01
#ls db2udbee.lic *此文件可以在安装光盘许可证目录中找到;
#cd adm
#./db2licm -v -> 列出版本信息;
#./db2licm -a ../db2udbee.lic ->注册许可证;
#./db2licm -l -> 列出许可证信息;
Product Name = "DB2 Enterprise Edition"
Product Password = "DB2UDBEE"
Version Information = "6.1"
Expiry Date = "Permanent"
Concurrent User Policy = "Disabled"
Registered User Policy = "Disabled"
Enforcement Policy = "Soft Stop"
Annotation = ""
Other information = ""
对于DB2 UDB v5.x, 您可以使用db2licinst(UNIX)或许可证管理菜单(Windows)进行注册和管理。


问:在SQL语句的结果信息中如何插入单引号和双引号?
答:1) 单引号的插入: 连续单引号表示一个单引号;
db2 "select empno,'''Testing''' test from employee where empno='000300'"
EMPNO TEST
------ ---------
000300 'Testing'
2) 双引号的插入: 使用转义字符;
db2 "select empno,'/"Testing/"' test from employee where empno='000300'"
EMPNO TEST
------ ---------
000300 "Testing"


问:DB2 UDB基本备份和恢复命令是怎样的?
答: 以DB2 UDB for Windows 9x/NT 为例:
md c:/bakdb /*建立备份目录*/
db2 backup db sample to c:/bakdb; /* 备份数据库到目录c:/bakdb */
md c:/test
move c:/bakdb c:/test
/* 此步只是模拟备份镜象的移动, 进一步的, 您也可以将备份镜象拷贝到其它机器上或其它备份介质上再进行恢复工作.
*/db2 restore db sample from c:/test/bakdb;
/* 恢复数据库 */
db2 restore db sample from c:/test/bakdb into sampnew;/* 恢复数据库到另外一个数据库中 */


问:如何通过TCP/IP协议编目(CATALOG)节点和数据库 ?
答: 利用TCP/IP协议编目数节点和数据库首先要知道数据库所在服务器端的IP地址。
此外知道数据所属实例(instance)TCP/IP协议所用的服务名对应的对口号:
在服务器端,用 db2 get dbm cfg 得到SVCENAME参数值,在services文件中(NT环境该文件在winnt/system32/drivers/etc目录下,Unix环境在etc目录下)查参数值对应的端口号。
然后编目节点
db2 catalog tcp ip node 节点名(可自己起名)remote IP地址 server 端口号
执行 db2 terminate 使编目节点命令生效
再编目数据库
db2 catalog database 数据库名 as 希望的数据库别名 at node 节点名
执行 db2 terminate 使编目数据库命令生效。


问:BUFFERPOOL能够影响备份的性能吗?
答: DB2数据库的备份不会用到BUFFERPOOL的空间.所有备份需要的内存空间均由UTIL_HEAP_SZ参数指定的内存区域得来。


问:DB2的备份中包含那些信息?
答: DB2的数据库备份中包含如下信息:
1. 备份头:每个备份包含一个
2. 六个控制文件:
1)备份开始的时间戳;
2)备份的表空间列表;
3)恢复历史文件;(db2rhist.asc)
4)备份时数据库中所有表空间的列表;
5)数据库分区配置文件;
6)缓冲池配置文件;
3. 请求备份的表空间中的数据;
4. 日志文件头(.LFH)


问:如何在同一台机器上建立多个Ondemand实例 ?
答: 在AIX系统上创建Ondemand实例时,需要配置如下内容:
1. ars.ini文件;
2. Ondemand的实例配置文件;
3. 文件系统配置文件;
4. Cache配置文件;
其中,后三项配置文件的名称均在ars.ini文件中指定。
在一个Ondemand图书馆服务器中只有一个ars.ini文件,对Ondemand图书馆服务器中的每一个实例,均有相应的实例配置文件;文件系统配置文件和Cache配置文件。
具体配置可参照Ondemand的安装和配置手册。
配置好各个实例后, 用如下命令生成Ondemand对应的数据库:
arsdb -I CMOD_INSTANCE_NAME -gcv
arssyscr -I CMOD_INSTANCE_NAME -l
arssyscr -I CMOD_INSTANCE_NAME -m
其中,CMOD_INSTANCE_NAME是在ars.ini文件中配置的名字。数据库创建好后,用如下命令启动Ondemand的服务:
arssockd CMOD_INSTANCE_NAME arssockd
可用操作系统的ps命令察看服务是否正常启动。正常启动后,就可以向Ondemand服务器中加载数据了。


问: 恢复数据库时,如果数据库表空间使用的容器(container)被别的数据库占用,那么在恢复时须要做表空间重定向。
答: 下面是一个表空间重定向的例子,数据库的别名为MYDB:
1. 使用 restore database 加 redirect 参数:
db2 restore db mydb replace existing redirect
在第一步后,第三步前,数据库恢复可以用下面命令取消:
db2 restore db mydb abort
2. 用 set tablespace containers 命令重定义容器
db2 set tablespace containers for 5 using (file 'f:/ts3con1' 20000, file 'f:/ts3con2' 20000)
第二步中须要重定义所以需要做表空间重定向的容器。
3. 成功运行第一步和第二步后,使用:
db2 restore db mydb continue 完成恢复工程。如果第三步失败,重定向须要从第一步做起。
不可以把DMS表空间重定向为SMS表空间,反之亦然。


问:哪些版本的DB2能够支持XML Extender功能?
答:只有DB2 7.1和DB2 7.2 版本才支持XML Extender功能。
在以前的DB2 XML Extender 的Readme文件中提及的DB2 6.1版不能支持XML Extender.


问:工作组版与企业版有何不同 ?
答: 工作组版与企业版有一个功能上的不同:
企业版包含DRDA请求器的功能。允许应用程序用企业版的DRDA请求器从DRDA数据库服务
器获取数据,DRDA数据库服务器如:DB2 on OS/390,MVS,AS/400,VM和VSE。
而工作组版则不包含DRDA请求器,需要单独购买和安装DB2 Connect。
工作组版和企业版还有许可证的不同:
工作组版仅许可证1到4颗处理器,企业版没有处理器的限制(当然,对每颗处理器需要购买许可证)
工作组版是按照用户数购买许可证,而企业版没有用户数的限制。
问:当执行 db2start 命令启动当前数据库管理程序实例时, 遇到 SQL800xN 的 DB2 报错信息。查询《DB2 信息参考手册》可以发现,从 SQL8000 至 SQL8009 的信息所报问题都与 DB2 许可证文件有关。但用户已成功安装了 DB2 的许可证文件,问题究竟出在什么地方?
答: 有时这种问题与当前用户的权限有关。可尝试检查当前用户对 AIX 系统的 nodelock 文件的访问权限,该文件位于 /usr/lib/netls/conf/ 下。请确认用户对它的访问权限为 644,即:
User Group Other
----- ------ ------
rw- r-- r--
如果访问权限不正确,就有可能出现类似错误。此时需将权限改为 644。而安装许可证文件的 db2licm 命令是由 root 用户完成的,所以即使许可证文件已被成功安装,仍有可能发生此类问题。
问:在用IMPORT命令向数据库插入大量数据时,如何避免日志空间满错误 ?
答:在执行IMPORT命令时, 如果使用循环日志, 有时会出现日志满错误, 这时可用COMMITCOUNT参数来解决。因为日志空间满往往是因为所有的日志均处于活动状态导致的。
而COMMIT执行后, 会释放所占据的资源, 其中包括日志 。
这样, 被当前事务使用的日志在COMMIT命令执行后, 即变成非活动状态了。


问:那些DB2版本支持JDBC 2.0
答:不同的操作系统上,支持JDBC 2.0的DB2版本不同:
DB2 v6.1
Windows系统: DB2 v6.1
AIX,Solaris系统: DB2 v6.1上安装FixPak 4或更高的补丁
Linux,HP-UX系统: DB2 v6.1上安装FixPak 5或更高的补丁 DB2 v7.1
Windows,AIX,Solaris系统: DB2 v7.1
Linux,HP-UX系统: DB2 v7.1上安装FixPak 2或更高的补丁


问:哪些操作系统DB2通用数据库不支持原始I/O(即对裸设备的操作)?
答:DB2通用数据库支持直接磁盘存取(原始I/O)。这允许您将直接存取磁盘设备连接至任何DB2通用数据库系统。例外的情况只有Linux、Windows95和Windows98系统。


问:当按照补丁安装程序目录下名为 Fixpak.Readme 文件中所述步骤进行补丁的安装时,遇到错误:“拷贝过程出错-103”,安装过程被停止,怎么办?
答: 出现这一问题经常是由于在安装 DB2 补丁的同时,系统上正有一类似 Anti-Virus 的杀毒程序在运行。
欲解决这一问题,应关闭任何此类杀毒程序,并停止所有 Anti-Virus 程序的服务后重新进行 DB2 补丁程序的安装。


问: 介绍将 IBM Personal Communications 和 Communications Server for Windows NT 两个产品安装在一台机器上时需注意的事项,以及在这种环境下运行某些软件可能遇到的问题及其解决方法。
答:执行db2rspgn命令来生成响应文件,例如:
db2rspgn -d c:/temp
上面命令会生成系统上安装的DB2产品的响应文件,文件后缀为rsp。另外系统上实例的信息也会生成后缀为INS的文件。在安装DB2时,不需要指明INS文件,只需将其放在和响应文件相同的目录下即可。
在Windows NT/9x下安装DB2产品时可利用/U参数指定响应文件。例如:
setup /U x:/path/respone_file /L y:/path/logfile
/L参数指定安装时日志文件,默认是 x:/db2log/db2.log 。
db2rspgn命令只在Windows和OS2下有效。
虽然UNIX平台下没有db2rspgn命令,但可以利用在DB2安装盘上响应文件的例子。这些文件所在的目录为:
x:/db2/common (Windows)
x:/db2/os2/language (OS/2)
/cdrom/db2/install/sample (UNIX)
这些文件需要修改方可利用。例如,db2admcl.rsp是DB2管理客户端响应文件的例子,其中的一段如下
* General Options* -----------------PROD =ADMIN_CLIENT*FILE=C:/SQLLIB*TYPE =0, 1, 2 (0=compact, 1=typical, 2=custom)......
可以修改例子文件中如安装目录,安装方式(是压缩方式、典型、还是自定义安装)等等。修改后的文件可能为:
* General Options
* -----------------
PROD =ADMIN_CLIENT*FILE =C:/PROGRAM FILES/SQLLIB*TYPE=2......
然后再在安装时指定响应文件。UNIX下指定响应文件的的参数是 -r:
db2setup -r /path/response_file


问:介绍控制中心、控制中心帮助和文档文件集分别存放于基于 UNIX 平台的不同操作系统的位置。
答: 控制中心、控制中心帮助和文档文件集都放在目标工作站上的以下目录中:
DB2 AIX 版:
-----------
/usr/lpp/db2_07_01/cc/%L
/usr/lpp/db2_07_01/java/%L
/usr/lpp/db2_07_01/doc/%L
/usr/lpp/db2_07_01/qp/$L
/usr/lpp/db2_07_01/spb/%L
DB2 HP-UX 版:
-------------
/opt/IBMdb2/V7.1/cc/%L
/opt/IBMdb2/V7.1/java/%L
/opt/IBMdb2/V7.1/doc/%L
DB2 Linux 版:
-------------
/usr/IBMdb2/V7.1/cc/%L
/usr/IBMdb2/V7.1/java/%L
/usr/IBMdb2/V7.1/doc/%L
DB2 Solaris 版:
---------------
/opt/IBMdb2/V7.1/cc/%L
/usr/IBMdb2/V7.1/java/%L
/opt/IBMdb2/V7.1/doc/%L
控制中心文件集的代码页是Unicode。文档和控制中心帮助文件集是浏览器可识别的代码页。如果系统使用的语言环境与所提供的不同,通过创建与相应语言目录的链接,仍可以运行控制中心的已翻译版本并看到已翻译版本的帮助信息。
例如: 如果您的 AIX 机器的缺省语言环境为中文的 zh_CN.IBM-eucCN,则您可通过发出下列命令来创建从 /usr/lpp/db2_07_01/cc/zh_CN.IBM-eucCN 至 /usr/lpp/db2_07_01/cc/
zh_CN 的链接和从 /usr/lpp/db2_07_01/doc/zh_CN.IBM-eucCN 至/usr/lpp/db2_07_01/
doc/zh_CN 的链接:
ln -s /usr/lpp/db2_07_01/cc/zh_CN /usr/lpp/db2_07_01/cc/zh_CN.IBM-eucCN
ln -s /usr/lpp/db2_07_01/doc/zh_CN /usr/lpp/db2_07_01/doc/zh_CN.IBM-eucCN
执行完此命令后,出现的所有控制中心和帮助文本都应该是中文版本的。


问:有时用户在 Solaris 上利用 DB2 搜索系统 NetQuestion 进行搜索时遇到问题,而这些问题经常是由于系统设置引起的,这里介绍了有关参数的设置值。
答:如果在 Solaris 系统上搜索 DB2 联机信息时有任何问题, 应检查 /etc/system 中的系统内核参数。
以下是 DB2 搜索系统 NetQuestion 所需的最小内核参数:
semsys:seminfo_semmni 256
semsys:seminfo_semmap 258
semsys:seminfo_semmns 512
semsys:seminfo_semmnu 512
semsys:seminfo_semmsl 50
shmsys:shminfo_shmmax 6291456
shmsys:shminfo_shmseg 16
shmsys:shminfo_shmmni 300
要设置内核参数,需在 /etc/system 末尾添加一行,如下所示:
set <semaphore_name> = value
然后重新引导系统以使所有新的或更改过的值生效。


问:在使用DB2的大对象时, 对大对象数据的大小有什么限制?
答: DB2中每个大对象数据最大是2G。
DB2中允许多个大对象字段出现在同一个表中。
DB2表中的每一行最大可存储24G 的大对象数据;
每一个表中最大可存储4TB的大对象数据。


问:怎样从命令行启动OIS(OLAP Integration Server)?
答: 下面的命令可以用于从命令行直接启动OIS, 尤其是在通过Windows NT 或Windows 2000的服务项启动OIS失败的情况下, 该命令可以帮助检查错误或成功的启动OIS:
使用方法:
olapisvr [-B<Transfer Buffer Size>] [-E<Message Log File>] [-L<Error Message Message Level>] [-M<Essbase Message Database File>] [-T<Thread Count>] [-P<TCP Port Number>]
例如:
C:/>olapisvr
OLAP Integration Server - 2.0.0 Patch1 (Build I200P1B004)
Copyright(c) 1998-2001 Hyperion Solutions Corporation
All rights reserved


问:介绍一下OIS(OLAP Integration Server)启动问题的简单处理方法。
答: OIS(OLAP Integration Server)启动失败时,您可以对问题进行初步的分析和处理:
1) 检查Windows NT/2000中有关OIS的服务启动失败时返回时的具体信息, 并根据所报告的信息作相应的处理(注:部分信息可以在Windows NT/2K的事件日志中找到)
2) 如通过服务启动失败,可改用手工启动方式,命令为olapisvr, 在发出olapisvr命令的目录下将会生成一个日志文件,文件名为olapisvr.log,您可以查看该文件获取更多的信息;


问:如何进行OIS(OLAP Integration Server)的错误信息检查 ?
答: 在选择安装OIS(OLAP Integration Server)时您可以选择是否安装相关的文档资料, 如果您已经安装的OIS的相关资料, 则您可以查看一本名为<<OLAP Integration Server Adminitrator's Guide>>的联机书籍,在该书籍的附录A - OLAP Integration Server Error Messages中记录了OIS的Message Number(信息号)及相对应的Message Content(信息内容), 主要包含以下信息:
1) Member Load Error Messages;
2) Data Load Error Messages;
3) Drill-Through Error Messages;
4) Miscellaneous Error Messages.


问:DB2 OLAP Server服务安装及后台启动命令?
答: 下边的这条命令可以为您提供更多的帮助:
C:/>essbase -service
essbase -service install to install the service/* 安装服务项*/
essbase -service remove to remove the service/* 删除服务项*/
essbase <password> -b to start and run in background /* 后台启动 */
essbase <password> to start and run normally using the given password /* 前台正常启动 */


问:如果从“脚本中心”或“日志”选择了 Solaris 系统,则可能遇到以下错误:SQL10012N - 在装入指定库 "/udbprod/db2as/sqllib/function/unfenced/db2scdar!ScheduleInfoOpenScan" 时接收到意外的操作系统错误。 SQLSTATE=42724。
答: 这是由 Solaris 运行期链接器中的错误所造成的。要校正此错误, 应安装列补丁程序:
103627-06 for Solaris 2.5
105490-06 (107733 makes 105490 obsolete) for Solaris 2.6


问: 如何使用批处理模式运行OLAP命令?
答: 您可以使用下边的命令运行DB2 OLAP Server的批处理文件:
-> ESSCMD <批处理文件名>
例如, 批处理文件testcmd.scr:
LOGIN "LOCAL" "TOMT" "PASSWORD";
SELECT "SAMPLE" "BASIC"
GETDBSTATE;
EXIT;
运行如下命令将返回当前OLAP数据库的状态:
ESSCMD testcmd.scr
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值