我认为解决问题的关键在于分清问题的种类,并清楚每种问题的解决办法。另外很多的数据库的问题都是由于错误的操作,错误的配置引起的,所以本文在解释怎么样处理问题......
数据库安装了新的补丁后没有运行db2iupdt
数据库文件的权限被改成了777,数据库文件的权限是有要求的,所以不能将所有的文件都改成777的权限
数据库实例文件被删除或损坏
主机名与db2nodes.cfg里记录的不一致
2.运行db2start时,hang在那里,既不报错,也无法启动实例
这种情况一般是由于实例没有正常的停止造成的,一般运行下列命令可以解决:
su -
db2_kill
ipclean
su – root
(将所有的与该实例有关的db2进程杀死kill -9 )
然后重新启动实例。
3.数据库实例崩溃问题
遇到实例崩溃的问题,首先查看db2diag.log,根据里面的信息来分析数据库宕机的原因。再看db2dump目录中是否有trap文件。可以根据这些信息来分析原因,一般这类问题都需要IBM工程师协助解决。
宕机的原因可以分为两类,一类是数据库的BUG,即数据库的缺陷引起的,一般如果遇到了数据库的缺陷,都有临时的解决方案,或者通过安装最新的补丁
来解决,对某些问题IBM也提供临时的修订来解决(需要付费)。另一类是操作系统,误操作等非产品问题导致的,对非产品问题导致的宕机尽量要避免。
Tip:常见的数据库宕机原因
系统的交换空间(paging space)用尽
数据库的某个进程被kill
二、数据库问题
1.数据连接问题
无法连接数据库,常见的错误有代码页错误,通讯协议错误,数据库状态错误等。
对代码页类错误,可以通过设置db2codepage,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状态,无法连接。这是只要对数据库做一个备份就可以了。
Tip:通常导致数据库处于备份赞挂的原因
2/5 首页 上一页 1 2 3 4 5 下一页 尾页 |