查看: 6148|回复: 5

[精华] 再来一个案例,连接数据库时发生SQL0902

[复制链接]
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
跳转到指定楼层
1#
发表于 2006-4-21 20:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题症状:
db2 connect to <dbname>
SQL0902 xxxxxxx

分析过程:
首先清除db2diag.log,reproduce problem,检查db2diag.log
发现有"Requesting too many semaphores" 的错误
看来是和semaphores有关,检查db2level,发现是linux MI00141_15387
既然是linux就要看ipcs -l:
piidb279 /var/msdb2/tmp 28# uname -a                                          
Linux piidb279 2.4.21-32.0.1.EL.msdwhugemem #1 SMP Mon Dec 5 21:32:44         
EST 2005 i686                                                                 
piidb279 /var/msdb2/tmp 29# db2level                                          
DB21085I  Instance "nytxt030" uses "32" bits and DB2 code release            
"SQL08023"                                                                    
with level identifier "03040106".                                             
Informational tokens are "DB2 v8.1.1.98", "special_15387",                    
"MI00141_15387", and                                                         
FixPak "10".                                                                  
Product is installed at "/opt/IBM/db2/V8.1".                                 
piidb279 /var/ibmdb2/nytxt030/sqllib/db2dump 67# ipcs -s | wc -l              
    1028                                                                     
piidb279 /var/ibmdb2/nytxt030/sqllib/db2dump 68# ipcs -l                     
                                                                              
------ Shared Memory Limits --------                                          
max number of segments = 4096                                                
max seg size (kbytes) = 4194303                                               
max total shared memory (kbytes) = 12582912                                   
min seg size (bytes) = 1                                                      
                                                                              
------ Semaphore Limits --------                                             
max number of arrays = 512                                                   
max semaphores per array = 250                                                
max semaphores system wide = 32000                                            
max ops per semop call = 32                                                   
semaphore max value = 32767                                                   
                                                                              
------ Messages: Limits --------                                             
max queues system wide = 1024                                                
max size of message (bytes) = 8192                                            
default max size of queue (bytes) = 16384                                    

这里问题相当明显了max number of arrays只有512,但是ipcs -s却有1024个输出。
立刻想到可能是bug
Machine Type:           i686                                            
----------------------------------------------------libc.so Information
GLIBC version:  2.3.2                                                   
--------------------------------------------------libstdc++ Information
DB2 v8.x (x86 for 2.4 kernels): does not require the libstdc++ library.
.                                                                       
uname -a:                                                               
Linux piidb279 2.4.21-32.0.1.EL.msdwhugemem #1 SMP Mon Dec 5 21:32:44   
EST 2005 i686 i686 i386 GNU/Linux                                       
.                                                                       
sysinfo:                                                               
...                                                                     
Manufacturer is                Dell (Dell Computer Corporation)         
Manufacturer (Short) is        Dell                                    
Manufacturer (Full) is         Dell Computer Corporation               
:                                                                       
App Architecture is            x86                                      
Kernel Architecture is         i686                                    
Kernel Bit Size is             32                                       

然后检查linux的bug和db2的bug却木有发现可疑的东东。
暂时将bug的可能性放置,从另一个方面入手。
询问客户,客户在一周前db2 crash,然后db2start重新启动instance。
询问客户是否作了资源清除回答否。
并且从错误本身可以看出902是由IPC引起的。
可以推断出事由于客户没有释放资源引起的问题。
告诉客户以后发生crash时一定要释放所有的IPC资源,否则会出现类似情况

结论:
每次instance重新启动前一定要*释放资源*!
包括
db2_kill
ipclean
ps -ef|grep -i db2
kill all processes left
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412010广州亚运会纪念徽章:橄榄球
日期:2011-05-22 10:54:33管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:012010年世界杯参赛球队:丹麦
日期:2010-04-06 10:23:36
2#
发表于 2006-4-22 09:06 | 只看该作者
哈哈,这个操作是我重启数据库必做的。这因该形成一个习惯,授个精先

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
3#
 楼主| 发表于 2006-4-22 21:11 | 只看该作者
呵呵,是呀,很多人都没有这个习惯的说,所以经常会遇到类似db2fmp已经存在的问题,然后客户就*异常愤怒*地指责db2 sux~~~

使用道具 举报

回复
论坛徽章:
233
天枰座
日期:2016-02-02 09:36:332012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-06-22 19:28:30现任管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:拳击
日期:2011-04-08 16:56:552011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
4#
发表于 2006-4-23 10:47 | 只看该作者
最初由 bpmfhu 发布
[B]授个精先 [/B]



呵呵,你也来授来了

使用道具 举报

回复
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412010广州亚运会纪念徽章:橄榄球
日期:2011-05-22 10:54:33管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:012010年世界杯参赛球队:丹麦
日期:2010-04-06 10:23:36
5#
发表于 2006-4-25 11:31 | 只看该作者
db2里面好的文章还是少,大家抢着授

使用道具 举报

回复
论坛徽章:
233
天枰座
日期:2016-02-02 09:36:332012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-06-22 19:28:30现任管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:拳击
日期:2011-04-08 16:56:552011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
6#
发表于 2006-4-25 11:34 | 只看该作者
呵呵

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表