검색결과 리스트
2009/03/24에 해당되는 글 1건
글
db2 - lock wait application infomation gathering
서비스 운영
2009/03/24 21:31
db2 운영중 아래의 쿼리를 이용하면 현재 lock 이 풀리기를 대기하는 어플리케이션에 대한 정보를 얻을 수있습니다.
이상의 3개의 커맨드를 입력하여 얻을 수도 있는 정보이지만, 아래의 쿼리를 이용하면 좀더 간단하게 원하는 결과값을 얻을 수 있습니다.
(물론 db2pd 를 이용해서 간단한 쉘이나 프로그램을 만드는 것이 더욱 좋은 방법이라고 생각합니다. 아래의 방법보다 더 자세한 결과를 얻을 수 있기 때문이죠. 물론 snapapp_info 뷰를 이용하면 좀더 데이터를 얻을 수 있기는 합니다.)
결국 본인이 사용하기 쉬운 방법을 이용하는게 좋을 것 같습니다.
쉘을 이용한 프로그램은 다음에~... :-) 사실은 잘 못해서... ㄷㄷ
db2pd -d <dbname> -lock wait show detail : trans_id 확인
db2pd -d <dbname> -lock tran show detail : agent_id 확인
db2 get snapshot for application agentid <agentid> : 해당 appl 정보 추출
db2pd -d <dbname> -lock tran show detail : agent_id 확인
db2 get snapshot for application agentid <agentid> : 해당 appl 정보 추출
이상의 3개의 커맨드를 입력하여 얻을 수도 있는 정보이지만, 아래의 쿼리를 이용하면 좀더 간단하게 원하는 결과값을 얻을 수 있습니다.
(물론 db2pd 를 이용해서 간단한 쉘이나 프로그램을 만드는 것이 더욱 좋은 방법이라고 생각합니다. 아래의 방법보다 더 자세한 결과를 얻을 수 있기 때문이죠. 물론 snapapp_info 뷰를 이용하면 좀더 데이터를 얻을 수 있기는 합니다.)
SELECT
L.DB_NAME,
L.AGENT_ID,
L.APPL_NAME,
L.LOCK_OBJECT_TYPE,
A.APPL_NAME,
A.APPL_STATUS,
A.TPMON_CLIENT_USERID,
A.TPMON_CLIENT_WKSTN,
A.TPMON_CLIENT_APP,
A.TPMON_ACC_STR,
L.AGENT_ID_HOLDING_LK,
L.LOCK_WAIT_START_TIME,
L.LOCK_NAME,
L.LOCK_MODE
FROM
SYSIBMADM.LOCKWAITS L
INNER JOIN
SYSIBMADM.SNAPAPPL_INFO A
ON
L.AGENT_ID = A.AGENT_ID;
L.DB_NAME,
L.AGENT_ID,
L.APPL_NAME,
L.LOCK_OBJECT_TYPE,
A.APPL_NAME,
A.APPL_STATUS,
A.TPMON_CLIENT_USERID,
A.TPMON_CLIENT_WKSTN,
A.TPMON_CLIENT_APP,
A.TPMON_ACC_STR,
L.AGENT_ID_HOLDING_LK,
L.LOCK_WAIT_START_TIME,
L.LOCK_NAME,
L.LOCK_MODE
FROM
SYSIBMADM.LOCKWAITS L
INNER JOIN
SYSIBMADM.SNAPAPPL_INFO A
ON
L.AGENT_ID = A.AGENT_ID;
SELECT
L.DB_NAME,
L.AGENT_ID_HOLDING_LK,
L.APPL_NAME,
L.LOCK_OBJECT_TYPE,
A.APPL_NAME,
A.APPL_STATUS,
A.TPMON_CLIENT_USERID,
A.TPMON_CLIENT_WKSTN,
A.TPMON_CLIENT_APP,
A.TPMON_ACC_STR,
L.AGENT_ID,
L.LOCK_WAIT_START_TIME,
L.LOCK_NAME,
L.LOCK_MODE
FROM
SYSIBMADM.LOCKWAITS L
INNER JOIN
SYSIBMADM.SNAPAPPL_INFO A
ON
L.AGENT_ID_HOLDING_LK = A.AGENT_ID;
L.DB_NAME,
L.AGENT_ID_HOLDING_LK,
L.APPL_NAME,
L.LOCK_OBJECT_TYPE,
A.APPL_NAME,
A.APPL_STATUS,
A.TPMON_CLIENT_USERID,
A.TPMON_CLIENT_WKSTN,
A.TPMON_CLIENT_APP,
A.TPMON_ACC_STR,
L.AGENT_ID,
L.LOCK_WAIT_START_TIME,
L.LOCK_NAME,
L.LOCK_MODE
FROM
SYSIBMADM.LOCKWAITS L
INNER JOIN
SYSIBMADM.SNAPAPPL_INFO A
ON
L.AGENT_ID_HOLDING_LK = A.AGENT_ID;
결국 본인이 사용하기 쉬운 방법을 이용하는게 좋을 것 같습니다.
쉘을 이용한 프로그램은 다음에~... :-) 사실은 잘 못해서... ㄷㄷ