免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1930 | 回复: 3
打印 上一主题 下一主题

请教:如何解决排序问题引起的实例崩溃? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-30 11:14 |只看该作者 |倒序浏览
1)db2diag.log 显示如下:

003-12-29-17.29.09.776795   Instance:db2inst1   Node:000
PID:22683(db2agent (URP_RS) 0)   TID:1   Appid:GA311617.K806.0046C9132233
oper system services  sqloGetDisposableSet Probe:20   Database:URP_RS

mmap call failed with errno =
0xFFBEB7DC : 0x0000000C                                 ....

2003-12-29-17.29.09.871675   Instance:db2inst1   Node:000
PID:22683(db2agent (URP_RS) 0)   TID:1   Appid:GA311617.K806.0046C9132233
sort/list services  sqlsAllocateSortMemory Probe:85   Database:URP_RS

DIA8311C No memory available in the sort heap.
ZRC=0x8B0F0033

2003-12-29-17.29.09.895481   Instance:db2inst1   Node:000
PID:22683(db2agent (URP_RS) 0)   TID:1   Appid:GA311617.K806.0046C9132233
sort/list services  sqlsReportNoMemory Probe:500   Database:URP_RS

Sort mem usage: 0 shrd, 5276 priv, 2560 heap, 20000 thres, active 76 1

2)dbm cfg 参数如下
Sort heap threshold (4KB)                  (SHEAPTHRES) = 20000

Directory cache support                     (DIR_CACHE) = YES

Application support layer heap size (4KB)   (ASLHEAPSZ) = 15
Max requester I/O block size (bytes)         (RQRIOBLK) = 32767
Query heap size (4KB)                   (QUERY_HEAP_SZ) = 1000
DRDA services heap size (4KB)            (DRDA_HEAP_SZ) = 128

3)db cfg参数如下
Database heap (4KB)                            (DBHEAP) = 12000
Size of database shared memory (4KB)  (DATABASE_MEMORY) = AUTOMA
Catalog cache size (4KB)              (CATALOGCACHE_SZ) = (MAXAP
Log buffer size (4KB)                        (LOGBUFSZ) = 8
Utilities heap size (4KB)                (UTIL_HEAP_SZ) = 5000
Buffer pool size (pages)                     (BUFFPAGE) = 1000
Extended storage segments size (4KB)    (ESTORE_SEG_SZ) = 16000
Number of extended storage segments   (NUM_ESTORE_SEGS) = 0
Max storage for lock list (4KB)              (LOCKLIST) = 10000

Max size of appl. group mem set (4KB) (APPGROUP_MEM_SZ) = 30000
Percent of mem for appl. group heap   (GROUPHEAP_RATIO) = 70
Max appl. control heap size (4KB)     (APP_CTL_HEAP_SZ) = 1280

Sort heap thres for shared sorts (4KB) (SHEAPTHRES_SHR) = (SHEAP
Sort list heap (4KB)                         (SORTHEAP) = 2560
SQL statement heap (4KB)                     (STMTHEAP) = 2048
Default application heap (4KB)             (APPLHEAPSZ) = 256
Package cache size (4KB)                   (PCKCACHESZ) = (MAXAP
Statistics heap size (4KB)               (STAT_HEAP_SZ) = 4384
4)
问题如下
上周没有问题。自从有一个生成报表的应用程序联接数据库,大约正常运行半天后,db2diag.log10分钟内反复出现几次上面错误信息后,实例db2inst1立即死掉.
请问:
我怀疑是生成报表的应用程序执行的sql语句过长(3k),导致排序过大。
为了避免这种情况,
应该是数据库改大排序内存量,比如SORTHEAP(db)SHEAPTHRES(dbms)?
还是改进应用程序(MS net)?

那位高手遇到类似的情况?欢迎各位发表高见!

论坛徽章:
0
2 [报告]
发表于 2003-12-30 15:00 |只看该作者

请教:如何解决排序问题引起的实例崩溃?

根据诊断日志来看,是你的排序堆太小,你把SORTHEAP的值增大两倍或更大,试一下。

论坛徽章:
0
3 [报告]
发表于 2003-12-30 15:35 |只看该作者

请教:如何解决排序问题引起的实例崩溃?

已经把SHEAPTHRES改为80000,不过请问
     SORTHEAP指的是1个数据库总sort内存量,还是联接到这个数据库的每个应用程序各自占的?
    假如是后者,有100个联接,那么2569*4k*100=1G,光是排序用这么多,会影响其它方面吗?(目前实例上不止1个数据库)

论坛徽章:
0
4 [报告]
发表于 2003-12-31 09:03 |只看该作者

请教:如何解决排序问题引起的实例崩溃?

能否从这个方面查找问题:
1、从您的描述:DB是可以正常运行的,是您的一个APP导致问题,而且是某条确定语句导致的问题
2、建立statement的event monitor,开启该monitor
3、重新运行该APP
4、在问题发生后,将监控信息导出,查找最后发生的SQL语句,确定可疑的语句
5、使用explain分析语句后,通过V explain查看分析结果,查看access plan,确定出现的问题
6、程序运行时抓一下sort的snapshot,可以帮助确定错误在那里
7、我认为sortheapsz是对应Agent的,Agent每向DB提交一个sort就会分配一个sortheapsz,我没有这个问题确切的文字描述,但通过d3e80的文档上sortheapsz的描述,另外参照sheapthres的定义;但仍有疑惑,请高人指教sortheapsz和sheapthres的理解,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP