주식회사 누리아이티

정보자산의 보안강화를 위한 3단계 인증 보안SW(BaroPAM) 전문기업인 누리아이티

▶ Tuxedo/오류 메시지(Tuxedo)

ORA-2049, ORA-1591

누리아이티 2010. 8. 16. 12:41

현상 : ORA-2049: time-out: distributed transaction waiting for lock
       ORA-1591: lock held by in-doubt distributed transaction ID 라는 ORACLE ERROR 발생.
 

원인 : TMS_ORACLE7 및DB를 사용하는 server들은 booting시 각각 ORACLE session을 2개 사용하는데 ($ sqlplus sys/manager에서 SQL> select sid,process,username from v$session; 으로 확인 가능. 또한 "xa_NULL092595.log" 화일에서 xaostart에서 xaoend까지가 한개의 ORACLE session을 의미함)
       다수의 client에서 많은 Transaction을 발생시키면 ORACLE session이 증가한다. 이 session은 tpcommit() 수행시 release되어야 하는데 ORACLE내에서 session 확보 측면에서 계속 가지고 있음 이런 상태가 계속되면 어느 순간에 "XAER_NOTA" 라는 에러가 발생되고, ORA-2049, ORA-1591 에러가 발생되어 서비스가 중단 됨 !
 

조치 : TMS_ORACLE7을 2개에서 3 ~ 5개로 늘려서 booting시키고,
       "{ubbconfig" 화일의 OPENINFO에서 SesTm=60 이상으로 설정. (client에서 tpbegin의 time-out 보다는 큰값을 설정).
       "$ORACLE_HOME/dbs/initORACLE7.ora" 화일에 정의되어 있는 process 수를 증가시킴.