运行一个Update语句时,DB2即服务停止

各位好 DB2 8.1 db2 8.1 最近每当运行一个Update 语句时 服务就停止db2diag里没有任何记录各位帮忙诊断下是什么问题造成的【L0】菜刀李 2015-09-11 10:26:54语句也不是很复杂,以前可以正常运行的【L1】太 2015-09-11 10:26:56还用8.1【L0】菜刀李 2015-09-11 10:27:05老...显示全部
各位好 DB2 8.1


db2 8.1 最近每当运行一个Update 语句时 服务就停止

db2diag里没有任何记录

各位帮忙诊断下是什么问题造成的

【L0】菜刀李 2015-09-11 10:26:54

语句也不是很复杂,以前可以正常运行的
【L1】太 2015-09-11 10:26:56

还用8.1

【L0】菜刀李 2015-09-11 10:27:05

老系统了
【L1】太 2015-09-11 10:27:06

升级吧

【L0】菜刀李 2015-09-11 10:27:31

比较老的ERP系统,一直运行着的
【L9】黄 2015-09-11 10:27:51

8版本用的还挺多的
10:29:39
【L0】菜刀李 2015-09-11 10:29:39

比较奇怪的是db2diag里没有日志,服务直接就停了,服务停止后,我关闭db2fmp.exe进程,运行db2start就启动成功了
【L1】太 2015-09-11 10:30:01

这个要去分析  你的的update的表
【L1】太 2015-09-11 10:30:18

hang住了  只有重启
【L1】太 2015-09-11 10:30:33

有多少条目

【L0】菜刀李 2015-09-11 10:31:25

不多,最多100条
10:32:43
【L0】菜刀李 2015-09-11 10:32:43

update EPC_ITEMWHSLOC set ADMINID=USERID where  (ADMINID='' or ADMINID is null) and USERID in(select EMPLID from EPC_EMPL where EMPLCLASS='0112' and DEPTID='0201')

【L0】菜刀李 2015-09-11 10:33:26

EPC_ITEMWHSLOC 这是个视图,好多库存表的一个视图,数据量很大

【L0】菜刀李 2015-09-11 10:33:50

EPC_EMPL 这是人员表,数据量不大

【L0】菜刀李 2015-09-11 10:34:12

select * from EPC_ITEMWHSLOC  where  (ADMINID='' or ADMINID is null) and USERID in(select EMPLID from EPC_EMPL where EMPLCLASS='0112' and DEPTID='0201')

【L0】菜刀李 2015-09-11 10:34:40

出来的数据量不大,而且速度比较快
10:36:01
【L0】菜刀李 2015-09-11 10:36:01

目前,我从程序里把 select 出来的数据集,一条一条的运行update语句,就没问题
【L1】太 2015-09-11 10:36:12

针对数据库对象的大量操作,如反复地删除插入表,存储过程,会引起系统表中数据的频繁改变,在这种情况下,也要考虑对系统表进行REORG操作

【L0】菜刀李 2015-09-11 10:37:22

我不是很熟,我查查REORG的资料
【L9】黄 2015-09-11 10:38:00

@菜刀李 这个问题也可以发到db2中国社区,大家一起探讨下。

www.db2china.net/club/
10:38:28
【L0】菜刀李 2015-09-11 10:38:28

好的,谢谢啊
【L9】黄 2015-09-11 10:38:51


【L9】杨焱 2015-09-11 10:39:03

天天插入相同的历史数据,并且没建主机,索引就会无效吧? REORG也没用?收起
参与22

查看其它 19 个回答jlandzpa的回答

jlandzpajlandzpa系统运维工程师广州华南资讯科技有限公司
可能是因为视图里有集合运算了
系统集成 · 2015-09-21
浏览1801

回答者

jlandzpa
系统运维工程师广州华南资讯科技有限公司
擅长领域: 数据库数据库迁移

jlandzpa 最近回答过的问题

回答状态

  • 发布时间:2015-09-21
  • 关注会员:2 人
  • 回答浏览:1801
  • X社区推广