关键词不能为空

当前您在: 主页 > 英语 >

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

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-09 16:38
tags:

-

2021年2月9日发(作者:筛糠)


DB2


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



本文将介绍


DB2


故障处理的思路及一 般问题的解决办法,包括有错误码的问题解决以及按


照问题的范围和性质进行分类。



我认为解决问题的关键在于分清问题的种类,

并清楚每种问题的解决办法。


另外很多的


数据库的问题都是 由于错误的操作,


错误的配置引起的,


所以本文在解释怎么样处 理问题时


也会给出一些好的建议,来避免产生问题。本文重点介绍实用的方法。



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



第一种方案是是否有错误码。


即发生错误 时是否同时返回了错误码,


错误码既包括执行


命令的返回码,也 包扩应用程序的返回码。



有返回码的错误解决方案是,在


db2 CLP


中运行


db2 ? SQLXXXX

,然后根据对该问题的


解释采取相应的解决方案。对没有错误码的问题,如数据库< /p>


hang



CPU


使用率过高等问题,


解决问题的经验将非常重要,在本文中会有详细的说明。



根据错误码解决问题举例


(在下文中,


再出现需要用这种方法解决问题时将不再重复)



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



db2 connect to sample



SQL0332N


There


is


no


available


conversion


for


the


source


code page



the target code page


SQLSTATE=57017


错误码分为返回码(


SQL0332N


)和原因码(


Reason Code


),针对不同的原因码有


不同的解决方案

< p>


运行


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


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



数据库安装了新的补丁后没有运行


db2iupdt


数据库文件的权限被改成了


777


,数据库文件 的权限是有要求的,所以不能将所有的文


件都改成


777


的权限



数据库实例文件被删除或损坏



主机名 与



里记录的不一致


< br>2


.运行


db2start


时,


hang


在那里,既不报错,也无法启动实例

< br>


这种情况一般是由于实例没有正常的停止造成的,一般运行下列命令可以解决:



su -



db2_kill



ipclean



su



root


(


将所有的与该实例有关的


db2


进程杀死


kill -9 )


然后重新启动实例。



3


.数据库实例崩溃问题


< p>
遇到实例崩溃的问题,首先查看



,根据里面的信息 来分析数据库宕机的原


因。再看


db2dump


目录中是否有


trap


文件。可以根据这些信息来分析 原因,一般这类问题


都需要


IBM


工程 师协助解决。



宕机的原因可以分为两类,一类是数据库的


BUG


,即数据库的缺陷引起的,一般如果遇


到了数据库的缺陷,都有临时的解决方案,或者通过安装最新的补丁来解决,对某些问题


IBM


也提供临时的修订来解决(需要付费)。另一类是操作系统,误操作等非产品问 题导致


的,对非产品问题导致的宕机尽量要避免。



Tip


:常见的数据库宕机原因



系统的交换空间(


paging space


)用尽



数据库的某个进程被


kill


二、数据库问题



1


.数据连接问题


< br>无法连接数据库,常见的错误有代码页错误,通讯协议错误,数据库状态错误等。



对代码页类错误,可以通过设置


db2codepage,db 2country


来解决,这两个变量需要用


db2set


设置成与数据库一致的值。



当发生通讯类 错误时,


首先要要检查环境变量


DB2COMM=TCPIP< /p>


是否已经设置,


然后要检



dbm cfg



SVCENAME


,该变量可以直接设置成端口号,或者设置成服务名,该服务名要


< p>
services


文件中设置成对应的端口号。要检查该端口号是否已经被 其他服务占用。在启


动数据库后,可以运行


netstat



an |grep


,来查看该端口处于的状态。



TCP 0.0.0.0:50000 0.0.0.0:0 LISTENING


还有一种情况,当连接数据库时,数据库处于


backup p ending


状态,无法连接。这是


只要对数据库做一个备份就 可以了。



Tip


:通常导致数据库处 于备份赞挂的原因



当一个数据库从循环日志改成归档日志时,


数据库要求进行一次脱机备份,


在重新启动

数据库后,数据库就处于备份赞挂的状态



对于一个使用线 形日志的数据库,当做


load


时,表空间会处于备份赞挂的状 态,为了


避免这种情况,


load


命令 需要使用


copy yes


,或者


no nrecoverable


参数。



2


.数据库损坏


数据库最严重的问题莫过于数据库损坏,


那么当数据库损坏时,

最好的办法是从备份恢


复数据库。


-


-


-


-


-


-


-


-



本文更新与2021-02-09 16:38,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/622369.html

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