`
mgoann
  • 浏览: 249652 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

DB2启动异常

    博客分类:
  • DB2
阅读更多

DB2启动异常

 

 

1、现象、问题描述

   DB2在正常使用,启动应用后,发现应用时间超长,最后整个机器都慢下来,相继应用也挂掉2个,DB2也挂掉。等再此启动DB2时,抛出错误

db2inst1@MY-PIM:~> db2start

SQL1072C  The database manager resources are in an inconsistent state.  The database manager might have been incorrectly terminated, or another application might be using system resources in a way that conflicts with the database manager's use of system resources.  System resource cleanup might be required.

 

2、关键过程、根本原因分析

   首先查看DB2运行日志db2diag.log, 只是打印出普通的内存分配失败信息,并没有太多的详细信息。

    2010-04-16-21.13.23.690297+480 I667383G301        LEVEL: Event

PID     : 21123                TID  : 2955699920  PROC : db2start

INSTANCE: db2inst1             NODE : 000

FUNCTION: DB2 UDB, base sys utilities, sqleIssueStartStop, probe:21

DATA #1 : <preformatted>

Single node instance [0] is starting

 

2010-04-16-21.13.23.690770+480 I667685G1505       LEVEL: Event

PID     : 21123                TID  : 2955699920  PROC : db2start

INSTANCE: db2inst1             NODE : 000

FUNCTION: DB2 UDB, base sys utilities, sqleStartStopSingleNode, probe:1130

DATA #1 : String, 34 bytes

/home/db2inst1/sqllib/adm/db2star2

DATA #2 : Hexdump, 256 bytes

0xBFF80E10 : 2F68 6F6D 652F 6462 3269 6E73 7431 2F73    /home/db2inst1/s

0xBFF80E20 : 716C 6C69 622F 6164 6D2F 6462 3273 7461    qllib/adm/db2sta

0xBFF80E30 : 7232 0000 0000 0000 0000 0000 0000 0000    r2..............

0xBFF80E40 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80E50 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80E60 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80E70 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80E80 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80E90 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80EA0 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80EB0 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80EC0 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80ED0 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80EE0 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80EF0 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

0xBFF80F00 : 0000 0000 0000 0000 0000 0000 0000 0000    ................

 

2010-04-16-21.13.24.425926+480 I669191G294        LEVEL: Event

PID     : 21123                TID  : 2955699920  PROC : db2start

INSTANCE: db2inst1             NODE : 000

FUNCTION: DB2 UDB, base sys utilities, sqleIssueStartStop, probe:190

DATA #1 : <preformatted>

Single node stopped [-1072].

 

    没有太多的信息,就是节点停止错误吗为1072sqleIssueStartStop表示底层组件,红色部分e代表Database engine processes。也就是数据库引擎出现错误。在回过头来看错误信息,大概意思是数据库资源处理不一致状态,数据库可能被错误的终止,后者是例外一个进程与数据库管理者使用资源冲突。需要进行系统资源清理。

    一般出现这样的原因:

    DB2 不正确地终止(例如,在基于 UNIX 的系统上,若用 "kill"
   
命令、而不是用停止数据库管理器命令终止了进程,则可能会发生此情 况) 。

 

     另一应用程序或用户可能已除去了数据库管理器资源(例如,在基于UNIX 的系统上,具有足够特权的用户可能无意中使用 "ipcrm"命令除去了数据库管理器所拥有的「进程间通信」(IPC) 资源)。

 

另一应用程序的系统资源使用与数据库管理器的系统资源使用相冲突(例如,在基于 UNIX的系统上,另一应用程序可能正在使用数据库管理器用来创建 IPC资源的相同关键词)。

 

数据库管理器的另一个实例可能正在使用相同的资源。 在基于 UNIX的系统上,若两个实例在不同的文件系统上,且 sqllib目录刚好有同一个 i 节点(i 节点用来获取 IPC关键词),则可能会发生此情况。

 

用户响应:  可能需要进行资源清理:

 

除去在该实例标识下运行的所有数据库管理器进程(在基于 UNIX的系统上,可使用 "ps -eaf -u <实例标识>; | grep db2"来列示在该实例标识下运行的所有数据库管理器进程,并使用 "kill -9 <进程标识>;" 命令来除去它们)。

 

确保没有其它应用程序正在该实例标识下运行,然后除去该实例标识所拥有的所有资源(在基于 UNIX 的系统上,可使用 "ipcs | grep <实例标识>;" 命令列示该实例标识拥有的所有 IPC资源,并使用 "ipcrm -[q|m|s] <id>;" 命令除去它们)。

 

如果有数据库管理器的另一个实例在运行,则可能会存在 inode冲突。如果您发现两个实例不能同时活动,但是可以单独启动,则可能就是 这种冲突情况。需要更改所使用的 inode以便为其中一个实例生成 IPC 密钥。对于单节点实例,作为实例所有者从 sqllib 目录执行下列操作:

删除 .ftok 文件

rm .ftok

创建新的 .ftok 文件touch .ftok

对于多节点实例,作为实例所有者执行下列操作:

在与 sqllib 相同的级别上创建另一个目录

将所有内容从 sqllib 中移至新目录

删除 sqllib将新目录重命名为 sqllib

 

    经过几个步骤问题解决了!

 

3、结论、解决方案及效果

   在解决类似问题时,应该仔细阅读DB2的错误提示信息,更具信息来做出响应的判断。

 

4、经验总结预防措施和规范建议

    在系统资源不足时,系统有可能会回收DB2的占用资源,导致DB2数据库异常,这样情况下一般进行系统清理就可以解决问题了。

 

5、备 注

   

分享到:
评论

相关推荐

    数据库DB2维护指南-DBA

    “ DB2 日常维护指南 , 第 1 部分”具体包括检查管理服务器(DAS)是否启动、检查 DB2 实例是否启动、查看表空间的状态是否正常、检查表的状态是否正常、查看磁盘空间是否有异常、查看存储管理软件、数据库备份、...

    IBM实时数据复制和同步解决方案-CDC

    IBM实时数据复制和同步解决方案-CDC

    Sysinternals 实用程序全集 (完整版 49.2M)

    SHA1:339A24E2A1ACDEE012BA63B165DB2BC1E3455871 CRC32:9A768F7F 大名鼎鼎的Sysinternals工具都应该听说过吧,比较有名的有Process Explorer、TCPView、Autoruns、Filemon、PsTools等。这次发的是这一系列实用...

    php网络开发完全手册

    13.3.4 DB2 207 13.3.5 SQL Server 207 13.4 SQL语言简介 207 13.5 常见的数据库设计问题 208 13.6 关系型数据库的设计原则 209 13.6.1 第一范式(1NF) 209 13.6.2 第二范式(2NF) 209 13.6.3 第三范式(3NF) 210...

    什么是服务器HA技巧.pdf

    或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活...

    Atomikos3.9官方包文档以及实例

    目前,Oracle、Informix、DB2和Sybase等各大数据库厂家都提供对XA的支持。XA协议采用两阶段提交方式来管理分布式事务。XA接口提供资源管理器与事务管理器之间进行通信的标准接口。XA协议包括两套函数,以xa_开头的及...

    Oracle数据库学习指南

    15.PLSQL异常处理初步 16.SQL语句性能调整原则 17.创建和使用分区的表 18.基于成本的优化器一般错误概念和问题 19.Delphi 3_0中连接数据库的三种方式 20.远程数据库的访问 21.监控数据库性能的SQL 22...

    RMAN测试演练即讲解

    connect target / (不像DB2那样connect to,就connect就OK了) (2) 一步到位 rman nocatlog target system/manger 权限不足,使用rman连接target的话需要sysdba权限而不是dba。 I 查看是否拥有sysdba权限 select ...

    计算机实习日记

    公司的软件产品所使用的数据库各不相同,有MS SQL Server、MYSQL、ORACLE、Db2、Sybast、informix等等,我在学校里面接触的数据库软件仅仅只有MS SQL Server这一种。现在终于体会到人们在说“书到用时方恨少”这句话...

    操作系统(内存管理)

    并且,如果地址在硬盘上而不是在 RAM 中,那么操作系统将暂时停止您的进程,将其他内存转存到硬盘中,从硬盘上加载被请求的内存,然后再重新启动您的进程。这样,每个进程都获得了自己可以使用的地址空间,可以访问...

Global site tag (gtag.js) - Google Analytics