版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DB2故障处理的思路及一般问题的解决办法本文将介绍DB2故障处理的思路及一般问题的解决办法,包括有错误码的问题解决以及按 照问题的范围和性质进行分类。我认为解决问题的关键在于分清问题的种类,并清楚每种问题的解决办法。另外很多的 数据库的问题都是由于错误的操作,错误的配置引起的,所以本文在解释怎么样处理问题时 也会给出一些好的建议,来避免产生问题。本文重点介绍实用的方法。对问题的分类有很多种方法,在本文中我我采用了两种分类方案。第一种方案是是否有错误码。即发生错误时是否同时返回了错误码,错误码既包括执行 命令的返回码,也包扩应用程序的返回码。有返回码的错误解决方案是,在db2 CLP中运行db2
2、 ? SQLXXXX,然后根据对该问题的 解释采取相应的解决方案。对没有错误码的问题,如数据库hang,CPU使用率过高等问题, 解决问题的经验将非常重要,在本文中会有详细的说明。根据错误码解决问题举例(在下文中,再出现需要用这种方法解决问题时将不再重复):如在连接数据库时发生错误db2 connect to sampleSQL0332N There is no available conversion for the source code page 1386 tothe target code page 819. Reason Code 1.SQLSTATE=57017错误码分为返回码(S
3、QL0332N)和原因码(Reason Code 1),针对不同的原因码有 不同的解决方案运行 db2 ? sql0332从输出种可以看到对于reason code 1的解释是所以可以通过设置代码页来解决这个问题就可以成功连接了。第二种分类方案是按照问题的范围和性质进行分类。分类如下:数据库实例问题数据库问题数据库性能问题应用开发与数据库有关的问题下面对每一类问题进行详细说明。一、数据库实例的问题数据库实例问题可以分为两种情况实例无法启动,运行db2start后,直接返回错误码,如SQL1042C。如果根据错误码信息无法解决,可以尝试如下方案:重新更新该实例,以root身份登录,Tip:常见的
4、产生实例无法启动的原因数据库安装了新的补丁后没有运行db2iupdt数据库文件的权限被改成了 777,数据库文件的权限是有要求的,所以不能将所有的文 件都改成777的权限数据库实例文件被删除或损坏主机名与db2nodes.cfg里记录的不一致运行db2start时,hang在那里,既不报错,也无法启动实例这种情况一般是由于实例没有正常的停止造成的,一般运行下列命令可以解决:(将所有的与该实例有关的db2进程杀死kill -9 )然后重新启动实例。数据库实例崩溃问题遇到实例崩溃的问题,首先查看db2diag.log,根据里面的信息来分析数据库宕机的原 因。再看db2dump目录中是否有trap文
5、件。可以根据这些信息来分析原因,一般这类问题 都需要IBM工程师协助解决。宕机的原因可以分为两类,一类是数据库的BUG,即数据库的缺陷引起的,一般如果遇 到了数据库的缺陷,都有临时的解决方案,或者通过安装最新的补丁来解决,对某些问题 IBM也提供临时的修订来解决(需要付费)。另一类是操作系统,误操作等非产品问题导致 的,对非产品问题导致的宕机尽量要避免。Tip:常见的数据库宕机原因系统的交换空间(paging space)用尽数据库的某个进程被kill二、数据库问题数据连接问题无法连接数据库,常见的错误有代码页错误,通讯协议错误,数据库状态错误等。对代码页类错误,可以通过设置db2codepa
6、ge,db2country来解决,这两个变量需要用 db2set设置成与数据库一致的值。当发生通讯类错误时,首先要要检查环境变量DB2COMM=TCPIP是否已经设置,然后要检 查dbm cfg的SVCENAME,该变量可以直接设置成端口号,或者设置成服务名,该服务名要 在services文件中设置成对应的端口号。要检查该端口号是否已经被其他服务占用。在启 动数据库后,可以运行netstat - an | grep,来查看该端口处于的状态。TCP 0.0.0.0:50000 0.0.0.0:0 LISTENING还有一种情况,当连接数据库时,数据库处于backup pending状态,无法连接
7、。这是 只要对数据库做一个备份就可以了。Tip:通常导致数据库处于备份赞挂的原因当一个数据库从循环日志改成归档日志时,数据库要求进行一次脱机备份,在重新启动 数据库后,数据库就处于备份赞挂的状态对于一个使用线形日志的数据库,当做load时,表空间会处于备份赞挂的状态,为了 避免这种情况,load命令需要使用copy yes,或者nonrecoverable参数。数据库损坏数据库最严重的问题莫过于数据库损坏,那么当数据库损坏时,最好的办法是从备份恢 复数据库。如果无法从备份恢复,可以根据损坏的原因尝试相应的解决方案。由于存储问题导致部分数据文件损坏,但是数据库还可以连接,这种情况可以采用导出 数
8、据库的表结果和数据的方法来恢复数据库。当然对损坏的表,导出是无法完成的,这是可 以使用db2dart的导出数据功能来导出这些损坏的表的数据。如果数据库损坏到已经无法连接的程度,那么除了从备份恢复,唯一的办法是使用 db2dart来导出所有的数据了。Tip:怎么样使用db2dart来导出数据运行命令按照提示输入表名,表空间id,起始页数,需要导出的页数数据库的活动日志被删除这个问题经常会遇到。也属于数据库损坏的一种情况。并且数据库无法连接。首先考虑是否有可以恢复的备份,如果有,可以从备份恢复,然后前滚到日志的末尾, 可以完全恢复该数据库。如果没有可用的备份来恢复,可以通过IBM的技术支持中心来协
9、助 解决。如果想自己解决那只有使用db2dart工具了。Tip:怎么样避免数据库的活动日志被删除启用数据库的镜像日志功能启用数据库的日志出口程序,这样可以避免手工来删除活动日志目录中的日志当一定要手工删除活动日志目录中的归档日志时,使用命令PRUNE LOGFILE PRIOR TO log-file-name,可以避免失误将活动日志删除三、数据库性能问题数据库的性能问题一般不属于故障,但是当性能问题变得很严重时,就变成了故障。解决数据库的性能问题,可以从以下方面入手,检查数据库的配置,如缓冲池,排序堆 等是否合理;检查数据库是否收集过统计信息,准确的统计信息对语句优化起着重要的左右; 对sq
10、l语句进行优化;查看是否有系统资源瓶颈。确认性能问题首先要从系统的资源消耗来分析,一般可以借助操作系统的工具,如aix 的topas命令。数据库的性能问题一般的表现是应用变慢,甚至没有响应。Tip:怎么样快速定位问题如果系统的CPU利用很高,IO很少,那么数据库的排序较多如果系统的IO繁忙,CPU很多是wait,那么说明数据库有过多的IO如果系统CPU,IO都很空闲,那么说明可以是有锁的问题如果系统IO, CPU都非常忙,说明有执行代价非常高的sql在执行数据库一般有三类的性能问题,一是CPU占用过多,二是IO过于繁忙,三是有锁等待。快速找到执行成本较高的sql首先要打开监视器的开关db2 u
11、pdate monitor switches using bufferpool on lock on sorton statement on table on uow on在系统最繁忙的时候,运行db2 get snapshot for all applications app.out然后在该文件中查找处于Executing状态的应用,找到执行的对应的sql语句。如果用这种方法找不到,可以收集sql的快照db2 get snapshot for dynamic sql on sql.out这个快照记录了动态语句的快照信息,可以根据Total execution time (sec.ms) =
12、0.000000Total user cpu time (sec.ms) = 0.000000Total system cpu time (sec.ms) = 0.000000这些信息来找到最耗时的语句。怎么样优化sql语句DB2提供了很好的工具来做sql语句优化。首先要对找到的sql语句进行分析,看是否 是该语句引起了性能问题。我们可以使用db2expln来查看sql语句的访问计划和执行成本。首先将找到的sql语句写到一个文本文件中sql.in,以“;”结尾,然后运行查看sql.exp可以看到这个sql语句的执行成本。如果确认该语句有问题,可以使用db2advis来通过建索引的方法来优化该语句db2advis -d -i sql.in如果通过创建索引无法优化该语句,一般只能从业
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 影项目委托协议书
- 2025年度生态旅游区个人山林承包管理协议书范本4篇
- 人教版小学五年级美术下册教案+教学分析
- 2025年度个人宠物医疗无抵押借款协议标准3篇
- 2025年个人房产买卖合同(含专业评估报告)
- 2025-2030全球过热过载保护器行业调研及趋势分析报告
- 2025-2030全球OLED图形显示模块行业调研及趋势分析报告
- 2025-2030全球工程用行星减速机行业调研及趋势分析报告
- 2025-2030全球曲轴现场加工行业调研及趋势分析报告
- 2024年农村文化建设知识竞赛试题及答案
- 乳腺癌的综合治疗及进展
- 【大学课件】基于BGP协议的IP黑名单分发系统
- 2025年八省联考高考语文试题真题解读及答案详解课件
- 信息安全意识培训课件
- 2024年山东省泰安市初中学业水平生物试题含答案
- 美的MBS精益管理体系
- 中国高血压防治指南(2024年修订版)解读课件
- 2024安全员知识考试题(全优)
- 2024年卫生资格(中初级)-中医外科学主治医师考试近5年真题集锦(频考类试题)带答案
- 中国大百科全书(第二版全32册)08
- 第六单元 中华民族的抗日战争 教学设计 2024-2025学年统编版八年级历史上册
评论
0/150
提交评论