系统集成数据库

db2 无法drop procedure的问题

请教个问题:
在尝试调用一个procedure时,长时间运行没反应了,尝试将其drop,结果发现drop不掉,具体如下:
db2inst1@linux-db2v9:~> db2 "drop procedure abc.test_tmp"
DB21034E  The command was processed as an SQL statement because it was not a
valid Command Line Processor command.  During SQL processing it returned:
SQL0911N  The current transaction has been rolled back because of a deadlock
or timeout.  Reason code "68".  SQLSTATE=40001

尝试从“db2 select * from syscat.procedures where proname='test_tmp'”还有list applications或者db2pd -db dbname -appl或者tran和dyn中找到对应的关系,发现可以在db2pd -db dbname -dyn中找到相应的语句,但在db2pd -db dbname -appl和tran中找不到对应关系。
哪位碰到过同样的问题,知道怎么解决吗?

多谢!
参与4

3同行回答

study123study123系统架构师ERICSSON
回复 3# yyran     我用一下方法来处理的:   1,db2 list applications查看有状态为lock-waiting的application, 看它的ID,在生产中通常有很多   2,db2pd -db sample -locks showlocks wait,看具体的锁   通过以上结合找到对应的appli...显示全部
回复 3# yyran


    我用一下方法来处理的:

   1,db2 list applications查看有状态为lock-waiting的application, 看它的ID,在生产中通常有很多

   2,db2pd -db sample -locks showlocks wait,看具体的锁

   通过以上结合找到对应的application,然后force掉。

谢谢!收起
系统集成 · 2010-12-20
浏览1104
yyranyyran业务部门经理sdb
HI,you can use this method to check who hold the lock .select * from table(snapshot_lockwait('dbname',-2)) as lock_wait_table .then ,force the application .显示全部
HI,you can use this method to check who hold the lock .
select * from table(snapshot_lockwait('dbname',-2)) as lock_wait_table .
then ,force the application .收起
软件开发 · 2010-12-19
浏览1122
drdb2drdb2系统工程师se
Reason code "68".: The transaction was rolled back due to a lock timeout.Something holding the lock.显示全部
Reason code "68".: The transaction was rolled back due to a lock timeout.

Something holding the lock.收起
互联网服务 · 2010-12-18
浏览1055

提问者

study123
系统架构师ERICSSON
擅长领域: 数据库服务器数据库迁移

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-12-18
  • 关注会员:1 人
  • 问题浏览:5495
  • 最近回答:2010-12-20
  • X社区推广