浅谈DB2数据库的故障处理及最佳实践

豆豆网   技术应用频道   2007年05月20日    社区交流

本文详细介绍浅谈DB2数据库的故障处理及最佳实践

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

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

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

  有返回码的错误解决方案是,在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

责编:豆豆技术应用

正在加载评论...