2009년 8월 13일 목요일

[BPEL] stale된 instance log 확인하기

Oracle SOA Suite 에서 BPEL 을 재 deploy 하게 되면, 기존의 cube_instance 의 state 가 stale 상태가 된다. (CUBE_INSTANCE Table 의 STATE 컬럼의 값이 9 가 됨)

이 상태에서는 BPEL Console 로 instance log 를 확인할 수가 없으나, 방법은 있다. CUBE_INSTANCE 테이블에서만 state 가 9로 변경되었을 뿐 SYNC_TRAIL, AUDIT_DETAILS 에는 여전히 남아있으므로 이 2개의 테이블을 이용하면 된다.

SYNC_TRAIL, AUDIT_DETAILS 의 BIN 컬럼에 log trail data 가 들어있으나, 이 컬럼의 data type 은 BLOB 이므로 확인하기가 쉽지는 않다.

따라서, 일단 이 BLOB 를 우리가 사용하기 편리한 XMLTYPE 으로 변경하자.



확인하고자 하는 instance 의 id (cikey) 를 BPEL Console 을 통해 확인한다. 아래 그림에서 보면 회색으로 표시된 instance 가 stale 상태이며, 여기서 앞의 빨간 네모 안의 34466122 등이 cikey 이다.



cikey 를 확인후, 다음 query 를 실행하면 XMLTYPE 형태의 instance log 를 확인할 수 있다. (blob_to_xmltype 은 이 포스트 를 참고한다.)

 

SELECT blob_to_xmltype (tt.bin, 'audit-trail')
  FROM orabpel.sync_trail tt
 WHERE tt.cikey = 34466122

 

댓글 없음:

댓글 쓰기