database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 9247 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 9247
MIDDLEWARE:Tuxedo-Oracle connection과 관련된 정보
작성자
정재익(advance)
작성일
2002-01-05 11:49
조회수
7,240

MIDDLEWARE:Tuxedo-Oracle connection과 관련된 정보

 

원본 출처 : http://sh.hanarotel.co.kr/~ggola/telecom/oratips/middle/tuxedo.htm

 

-- 다음 테스트를 위해 힘써 주신 Cyberlogitec Middleware Team의 성수경님에게 감사를 드립니다. --

 

Middleware Tuxedo를 사용하는 환경에서 Application 과 Oracle Server과의 connect 과정을 살펴보고 제기된 문제를 추적한다.

 

문제 발생 : 특별한 이유로 인해 long time query를 하는 tuxedo service를 call한 후 data return 전에 비정상 종료시 해당 Tuxedo Server의 waiting이 매우 길어지는 현상이 나타나 service 사용이 어렵게 됨.

[b]테스트 환경 : [/b]
    DB Server : AIX 장비 A (Oracle 7.3.4.3)    
    TUXEDO : AIX 장비 B (Tuxedo 6.4)
    Client PC : PB Program (PB 5.0)

테스트 과정 :

Tuxedo Server를 띄우고 클라이언트에서 문제가 발생한 Service를 call하는데 Time-out을 1분으로 해 놓은 경우 다음과 같은 절차에 따라 Transaction이 처리된다.

 

1. Tuxedo Server를 띄우면 각 턱시도 서버당 2개의 Oracle Session이 생성되고 Oracle은 턱시도 서버 1개당 1개의 Server Process를 당한다.

 

2. 클라이언트에서 Service Call을 하면 WSL이 클라이언트 정보를 불리틴보드에 넣고 WSH가 불리틴보드를 참조하여 called service와 서버를 참조하여 적절한 턱시도 서버를 할당하여 (특정 서비스가 여러 개 존재한다면 그렇지만 서비스가 1개밖에 없다면 지체없이 해당 턱시도 서버가 연결된다) 할당된 Server의 지정된 서비스를 Tuxedo Queue에 쌓는다. 그러면 요청된 작업을 처리하기 위해 오라클에 새로운 session이 생성된다. 이 작업의 결과처리 즉, commit 이나 rollback은 해당 서버가 맺고 있는 최초 턱시도 서버가 생성될 때 맺게되는 두개의 Session이 처리한다.

 

3. 지정된 서비스 작업을 수행한 후 1분이 지나 Time out이 발생하면 그 트랜잭션이 종료되었음을 BBL이 감지하여 서비스를 종료한다.

 

4. 문제는 그 상태에서 Tuxedo Queue에 있던 서비스가 Queue에서 빠져나가는데 무려 5분이 걸린다는 점이다. 또한 그렇게 되면 해당 턱시도 서버는 종료된 서비스가 Queue에서 빠질때 까지 다른 요청작업은 수행을 못하고 Queue에 대기 시킴으로써 종료된 작업이 Queue에서 나가길 기다린다. 그러므로 그러한 작업의 결과로 발생한 상황을 기다리지 못하고 계속 작업을 돌리면 턱시도 Queue에는 계속 쌓이게 된다.

 

5. 그 상태에서 5분정도가 지나면 Queue에서 해당 작업이 빠지고 해당 작업이 맺고 있던 오라클 session status는 killed 상태로 바뀌고 약 1분후 session이 종료되어 사라진다.

 

6. 또한 time out setting 없이 비정상 종료(예를 들어 ctrl + atl + del key 사용등)를 시키거나 당하더라도 위와 똑 같은 절차를 거쳐 해당 작업이 깨끗이 clear 되는데 총 6분이 걸린다는 것이 확인되었다.

 

테스트 결과 : 그간에 나타났던 문제의 원인은 이러한 Tuxedo Queue에서의 Waiting의 문제가 반복됨으로써 해당 턱시도 서버에 대한사용이 불가능해 지는 문제로 나타났다.그 6분이라는 시간의 원인제공이 턱시도 인지 오라클인지는 양사의 주장이 다음과 같이 엇갈리고 있다. 턱시도 입장에서는 오라클의 XA Library를 사용함으로 자신들의 문제가 아닌 것으로 오라클 입장에선 오라클에 생성된session은 session을 맺은 쪽에서 close 정보를 받아야만 session을 제때에 종료 시킬 수 있다는 주장을 하는바 좀 더 자세한 내역은 아직 알 수가 없다. 다만, 턱시도 주장으론 오라클 8i에서는 바로 종료가 된다는 보고가 있다.

 

Tuxedo Service Call Simulation (Client와의 접속이 완료되면 그 이후 모든 data는 WSH와 통신을 통해 주고받는다)

 

[Top]
No.
제목
작성자
작성일
조회
9251SQL TRACE FACILITY 를 사용하여 APPLICATION TUNING 하는 방법
정재익
2002-01-05
5899
9249Firewall 안쪽의 Oracle NT Server에 connect가 않되나요
정재익
2002-01-05
5956
9248MIDDLEWARE:TP-monitor Concept and Tuxedo 개요 및 설명
정재익
2002-01-05
5317
9247MIDDLEWARE:Tuxedo-Oracle connection과 관련된 정보
정재익
2002-01-05
7240
9246IBM RS/6000 AIX 4.3.2 장비에서 Oracle V8.1.6 Install시 확인할 system patch 는?
정재익
2002-01-05
5197
9244리스너가 말을 듣지 않아요.
정재익
2002-01-05
5714
9243오라클 8i 데이터베이스 생성 방법
정재익
2002-01-05
12696
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다