이슈 : Oracle7과 Oracle8의 XA 구현 비교
*----------------------------------------------------------------------------------------------------*
| 내용 | Oracle 7.x | Oracle 8.x | 비고 |
|--------------------------------+-------------------+------------------------------+----------------|
| XA를 통한 사용자??꼭 권한을 | sys.v$xatrans$ | sys.v$xatrans$ | |
| 부여해야 되는 XA 관련 View | | sys.dba_pending_transactions | |
|--------------------------------+-------------------+------------------------------+----------------|
| tpopen() 시에 Session 수 | 2 개 | 1 개 | 7.x에서는 처음 |
| | | | SQL을 처리시에 |
| | | | 세션이 추가 됨 |
|--------------------------------+-------------------+------------------------------+----------------|
| Oracle Parameter | | | |
| - Process 수 | (XA+NXA)서버수*1 | (XA+NXA)서버수*1 | |
| - Session 수 | XA서버수*3+a | XA서버수*1 | |
| | NXA서버수*1 | NXA서버수*1 | |
|--------------------------------+-------------------+------------------------------+----------------|
| OPENINFO에서 SesCashSZ 값 | Default = 20 | 필요없음 | |
| | Resource가 부족할 | 이유) Session이 1개로 관리됨 | |
| | 경우 Oracle에서 | | |
| | 0으로 설정할 것을 | | |
| | 권장하지만 속도 | | |
| | 저하 유발할 수도 | | |
| | 있다고 함. | | |
*----------------------------------------------------------------------------------------------------*
조치 : DBMS가 Oracle 8.x인 경우 참조/주의해야 할 사항
1.DB Link를 사용하는 Logic을 XA Interface를 통해서 트랜잭션 제어를 받아야 하는 경우에는 관련된 Oracle
Instance의 환경을 MTS 방식으로 설정이 되어 있어야 함(Oracle 7.x도 동일함).
2.Oracle 8.0.4에서는 Oracle child process 메모리 증가, Cursor를 통한 Fetch 중에 다른 서비스를 호출하는 경우
오류 등 검증 안된 문제점이 있는 것으로 보이므로 고객에 Oracle 8.0.5로 Upgrade할 것을 요청할 것
3.Oracle 8.x에서는 EXEC SQL... 문을 수행한 후 결과가 실패(sqlca.sqlcode < 0)인 경우 Signal을 발생시키므로
SQL문 다음에 서비스를 호출하는 경우 플?六?"TPSIGRSTRT"를 설정한 후 서비스 호출을 하여야 함.
그렇지 않은 경우 서비스 호출 시에 "TPGOTSIG" 오류가 발생함.
4.Oracle 8.x에서는 Oracle 7.x보다 XA 관련 View(v$xatrans$, dba_pending_transactions)에 대해서 Lock이
자주 발생하기 때문에 TMS server booting 시에 오랜 시간이 걸려도 start 되지 않는 경우에 view에 Select query를
보내어서 결과를 Check할 것.
운영중에 Tuxedo admin이 Kill signal 또는 IPC를 통해 XA 관련 Server process를 비정상적으로 Shutdown 했을 때
두 View에 Lock 발생빈도가 높은 것으로 보임.
'▶ Tuxedo > 이슈' 카테고리의 다른 글
Tuxedo FML Buffer Reallocation (0) | 2010.05.23 |
---|---|
long과 char에 대한 대응 Jolt data type 정의 시 (0) | 2010.05.02 |
GTT full과 MAXTRANTIME (0) | 2010.05.02 |
Domain config의 BLOCKTIME과 Transaction timeout의 관계 (0) | 2010.05.02 |
Tuxedo 6.x와 7.x의 연동성 (0) | 2010.05.02 |