运行一个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

老系统了
【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

20同行回答

jlandzpajlandzpa系统运维工程师广州华南资讯科技有限公司
有时间尝试一下,打到8.1的最后一个补丁看看。显示全部
有时间尝试一下,打到8.1的最后一个补丁看看。收起
系统集成 · 2015-09-21
浏览1874
jlandzpajlandzpa系统运维工程师广州华南资讯科技有限公司
可能是因为视图里有集合运算了显示全部
可能是因为视图里有集合运算了收起
系统集成 · 2015-09-21
浏览1797
l954368978l954368978数据库管理员ytx
楼主建的这个视图是在模拟表分区?显示全部
楼主建的这个视图是在模拟表分区?收起
金融其它 · 2015-09-20
浏览1854
leejinlileejinli数据库管理员中国航天
我的建议是最好针对基本表进行更新操作,不要对视图进行更新操作。视图只用来读取数据。显示全部
我的建议是最好针对基本表进行更新操作,不要对视图进行更新操作。视图只用来读取数据。收起
IT其它 · 2015-09-19
浏览1754
leejinlileejinli数据库管理员中国航天
我没有从别的机器上测试,不知道是否是普遍现象。显示全部
我没有从别的机器上测试,不知道是否是普遍现象。收起
IT其它 · 2015-09-19
浏览1724
leejinlileejinli数据库管理员中国航天
我这视图包括几十个基本表,比如 Table1(Col1,Col2),Table2(Col1,Col2) ...Table100(Col1,Col2)这些表结构一模一样,每个表代表一个仓库视图如下create view AAAA as(   select * from Table1  union all   select * from Table2  ...显示全部
我这视图包括几十个基本表,比如 Table1(Col1,Col2),Table2(Col1,Col2) ...Table100(Col1,Col2)
这些表结构一模一样,每个表代表一个仓库
视图如下
create view AAAA as
(
   select * from Table1
  union all
   select * from Table2
  ...
union all
select * from Table100
)
对这个视图进行Update操作时服务即停止
update AAAA set Col1='ABC' where Col2='DEF'

针对事故发生前我进行的操作仔细想了想,最近就增加了几个表,修改了下视图。
我测试了下,把视图中包含的表数量依次减少,发现当视图中包含的表的数量超过80后就出问题
80和80以下没问题
为了测试,创建了90个很简单的表,就包含了一条记录,创建了视图测试了下,确实不能超过80个
问题很奇怪,估计很少人遇到吧收起
IT其它 · 2015-09-19
浏览1723
l954368978l954368978数据库管理员ytx
请教楼主,视图是如何导致宕机的?显示全部
请教楼主,视图是如何导致宕机的?收起
金融其它 · 2015-09-18
浏览1799
leejinlileejinli数据库管理员中国航天
问题找到结贴,原因是视图的问题。谢谢各位的帮忙。显示全部
问题找到结贴,原因是视图的问题。谢谢各位的帮忙。收起
IT其它 · 2015-09-18
浏览1725
leejinlileejinli数据库管理员中国航天
程序以前是正常运行的,最近一运行就服务停止显示全部
程序以前是正常运行的,最近一运行就服务停止收起
IT其它 · 2015-09-16
浏览1720
leejinlileejinli数据库管理员中国航天
V8.1  里没有db2pd,db2diag.log里没有内容问题发现是对一个视图运行update语句时造成的服务停止的显示全部
V8.1  里没有db2pd,db2diag.log里没有内容
问题发现是对一个视图运行update语句时造成的服务停止的收起
IT其它 · 2015-09-16
浏览1750

提问者

leejinli
数据库管理员中国航天

相关问题

问题状态

  • 发布时间:2015-09-11
  • 关注会员:2 人
  • 问题浏览:10787
  • 最近回答:2015-09-21
  • X社区推广