对DB2故障处理及最佳实践的浅析

发表于:2010-10-22 10:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
DB2
#
db2

  摘要:以下的文章主要是对DB2故障处理以及对其最佳实践的讲解,另外很多的数据库的问题都是因为错误的操作,错误的配置引起的。

  所以本文在解释如何DB2故障处理问题时也会相应给出一些建议,来避免产生问题。当你在使用数据库时,可能会遇到各种不同的问题。我个人认为解决问题最为关键的是在于分清问题的种类,并清楚每种问题的解决办法。

  另外很多的数据库的问题都是由于错误的操作,错误的配置引起的,所以本文在解释如何DB2故障处理问题时也会给出一些好的建议,来避免产生问题。本文重点介绍实用的方法。

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

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

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

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

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

  1. db2 connect to sample  
  2. SQL0332N There is no available conversion for the source code page "1386" to  
  3. 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.

  ……

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

  1. db2set db2codepage=1386 
  2. db2 terminate  
  3. db2 connect to sample  

  就可以成功连接了。

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

  1.数据库实例问题

  2.数据库问题

  3.数据库性能问题

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

  浅谈DB2故障处理及最佳实践,下面对每一类问题进行详细说明。

  一、数据库实例的问题

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

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

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

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

  1. cd /usr/opt/db2_08_01/instance/  
  2. ./db2iupdt  

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号