首页 > 数据库

DB2 故障处理的思路及一般问题的解决办法

时间:2009-05-27 14:31:46  作者:徐建明  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
我认为解决问题的关键在于分清问题的种类,并清楚每种问题的解决办法。另外很多的数据库的问题都是由于错误的操作,错误的配置引起的,所以本文在解释怎么样处理问题......

我认为解决问题的关键在于分清问题的种类,并清楚每种问 题的解决办法。另外很多的数据库的问题都是由于错误的操作,错误的配置引起的,所以本文在解释怎么样处理问题时也会给出一些好的建议,来避免产生问题。本 文重点介绍实用的方法。

对问题的分类有很多种方法,在本文中我我采用了两种分类方案。

第一种方案是是否有错误码。即发生错误时是否同时返回了错误码,错误码既包括执行命令的返回码,也包扩应用程序的返回码。

有返回码的错误解决方案是,在db2 CLP中运行db2 ? SQLXXXX,然后根据对该问题的解释采取相应的解决方案。对没有错误码的问题,如数据库hang,CPU使用率过高等问题,解决问题的经验将非常重要,在本文中会有详细的说明。

根据错误码解决问题举例(在下文中,再出现需要用这种方法解决问题时将不再重复):

如在连接数据库时发生错误

db2 connect to sample

SQL0332N There is no available conversion for the source code page "1386" to

the target code page "819". Reason Code "1". SQLSTATE=57017

错误码分为返回码(SQL0332N)和原因码(Reason Code "1"),针对不同的原因码有不同的解决方案

运行db2 ? sql0332

从输出种可以看到对于reason code 1的解释是

……

1 source and target code page combination is not supported by the database manager.

……

所以可以通过设置代码页来解决这个问题

db2set db2codepage=1386

db2 terminate

db2 connect to sample

就可以成功连接了。

第二种分类方案是按照问题的范围和性质进行分类。分类如下:

1.数据库实例问题

2.数据库问题

3.数据库性能问题

4.应用开发与数据库有关的问题

下面对每一类问题进行详细说明。

一、数据库实例的问题

数据库实例问题可以分为两种情况

1.实例无法启动,运行db2start后,直接返回错误码,如SQL1042C。

如果根据错误码信息无法解决,可以尝试如下方案:

重新更新该实例,以root身份登录,

cd /usr/opt/db2_08_01/instance/

./db2iupdt

Tip:常见的产生实例无法启动的原因

如果您需转载 DB2 故障处理的思路及一般问题的解决办法,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门