db2의 application을 강제종료 시켜야 하는 경우라면
꼭 application id를 force하여 종료시켜야 하며
OS에서의 pid를 kill하면 db2 전체가 shutdown 된다.

2008-12-30-15.09.05.193737+540 E383578A507        LEVEL: Severe
PID     : 2330652              TID  : 1           PROC : db2wdog 0 0
INSTANCE: db2instance        NODE : 000
FUNCTION: DB2 UDB, oper system services, sqloWatchDogMain, probe:20
MESSAGE : ADM0503C  An unexpected internal processing error has occurred.  ALL
          DB2 PROCESSES ASSOCIATED WITH THIS INSTANCE HAVE BEEN SHUTDOWN.
          Diagnostic information has been recorded.  Contact IBM Support for
          further assistance.

kill 하면 안된다는 사실을 잘 알고 있다 하더라도, 다른 원인으로 kill이 발행될 수 있는 경우가 많다.

예를 들어, db2 v8 LUW에서는
기존에 사용한 적이 있는 DMS Tablespace를 drop한 후
tablespace를 생성했었던 lv (Logical volumn)을 삭제하려고 할 경우,
db2를 restart하기 전까지 lv를 삭제할 수 없는 경우가 있다.
이럴 때, fuser -k 커맨드를 사용하여 file을 사용하는 process를 kill한다거나

Veritas VCS 솔루션에서 filesystem을 unmount하는 경우
강제로 unmount되면서 db2 process가 kill될 수 있다.

db2의 crash recovery로 거의 항상 정상적으로 복구되기는 하지만
production server에서는 매우 유의할 필요가 있다.
Posted by in0de
,