advanced search
 
 FAQ  Q&A  
> 질의응답 > FAQ > Tmax FAQ
- tmboot 할 때 에러 발생(DB관련 에러)
 

 
제 품

Tmax

 

환 경

모든 플랫폼, Oracle

 

상세질문

 

tmboot 할 때DB관련 에러 발생의 원인과 조치사항을 알아본다.

 

첫번째 문의

 

1. 발생한 에러

(E) TMS2031 xa_open error XAER_INVAL (invalid arguments were given) [TMS0305]

(E) TMS2031 tx_open error: TX_FAIL (fatal error) [TMS0017]

(E) SVR2031 tx_open error:  

        TX_FAIL (fatal error) 

        XAER_INVAL (invalid arguments were given) 

        Oracle_XA+Acc=P/atms/atms/+SesTm=60 [SVR0022]

 

2. 고객의 Tmax 환경파일

*SVRGROUP

svg1         NODENAME = "kwb3"

svg2         NODENAME = "kwb3", DBNAME = ORACLE, TMSNAME = tms_ora, MINTMS = 1, 
           MAXTMS = 3, OPENINFO = "Oracle_XA+Acc=P/atms/atms/+SesTm=60"

 

 

두번째 문의

 

1. 발생한 에러

(E) SVR2031 tx_open error : 
        TX_ERROR (transient error) 
        XAER_RMERR (a resource manager error occurred in the transaction branch) 
        Oracle_XA+Acc=P/system/manager+SesTm=60 [SVR0022]
(E) TMS2031 xa_open error XAER_RMERR (a resource manager error occurred in the transaction branch) [TMS0305]
(E) TMS2031 tx_open error : TX_ERROR (transient error) [TMS0017]

 

 

답 변

첫번째 문의 답변

 

tx_open 에러는 xa관련 서버나 tms 가 기동시에 db에 연결하는 부분에서 에러가 발생하는 겁니다.
즉, tx_open이 xa에서 db connect를 담당하는 함수 입니다.
(non-xa를 예를 들면 EXEC SQL CONNECT 와 같은 기능을 하는 함수지요)

 

TMS2031 xa_open error XAER_INVAL (invalid arguments were given) [TMS0305]

이 에러는 tms가 발생시킨 에러이고, open시에 사용한 아규먼트가 부적당(invalid)해서 발생한 것입니다.


tx_open시에 사용하는 아규먼트는 tmax config에서 OPENINFO에 정의됩니다.

즉, OPENINFO = "Oracle_XA+Acc=P/atms/atms/+SesTm=60"
의 내용에서 오류가 있을 가능성이 큽니다.

 

DB 접속 유저의 패스워드 뒤에 / (슬래시)가 들어있습니다.
/를 뺀, atms/atms로 DB연결이 되는지 확인 부탁드립니다.

접속이 된다면, Tmax config 파일의 OPENINFO 값을 수정하시고, 컴파일, Tmax 시스템 종료, Tmax 시스템 기동 하시면 문제없이 기동 될겁니다.

 

 

두번째 문의 답변

 

1) 먼저 oracle에 이상없이 접속이 되는 지 확인합니다. (sqlplus 등을 이용)

    ex> sqlplus id/pw@ORA9

        

2) 정상적으로 oracle에 접속되는 상황이라면, tmax 환경파일의 OPENINFO의 내용을 확인합니다.  

    (계정/비밀번호/SID)

    ex> OPENINFO="Oracle_XA+Acc=P/id/pw+SqlNet=ORA9+SesTm=60+DbgFl=0x01

                                        +LogDir=/user/tmax/log/test2log",

 

3) 위의 두가지 상황이 모두 아니라면 해당 상황에서 Oracle에서 발생하는 SQL error code

    확인해 보아야 한다.

    xa_NULL07292003.trc 과 같은 trace 파일을 찾아 위의 에러가 발생하는 경우 생성되는

    Oracle sql error code가 무엇인지 확인해 봅니다.

 

  tpreturn을 사용한 메모리는 tpfree 안해줘도 됩니까?
  Tmax가 사용하는 공유메모리(shared memory)와 메모리량
▶ JEUS FAQ
▶ Tmax FAQ
▶ WebtoB FAQ
▶ Tibero FAQ