개요
Gateway는 Tibero 서버에서 Oracle 서버와의 데이터베이스 연결을 중계하는 중요한 역할을 하며, $TBGW_HOME 환경 변수를 기준으로 설정 파일을 읽고 로그 파일을 기록합니다. Gateway 정보 및 수행 프로세스에 대해 안내합니다.
방법
$TBGW_HOME 디렉토리 구성
$TBGW_HOME
+-- <DBMS Vender명>
|-- config // gateway 설정 파일 생성 위치
|-- tbgw.cfg
|-- log // gateway와 관련된 로그 파일 생성 위치
|-- Log File
SQL
복사
gateway 방식
구분 | Local 방식 | LISTENER 방식 |
적용 대상 | Tibero와 Oracle이 동일 서버에 존재 (UNIX 계열만 가능) | Tibero와 Oracle이 다른 서버에 존재 (UNIX, WINDOW) |
특징 | - Gateway 미리 기동 불필요
- 세션 연결 시마다 Gateway 프로세스 생성
- 세션 종료 시 프로세스 자동 종료 | - Gateway를 사전에 수동 기동 필요
- Multi-Thread 방식으로 여러 요청 처리
- Listener를 별도 서버에 구성 필요 |
Gateway character set 관련 옵션
옵션명 | 위치 | 설명 |
CHARACTER_SET | tbgw.cfg | - tbgw.cfg 파일에 명시적 설정 없으면 TB_NLS_LANG 참조
- TB_NLS_LANG도 없으면 Tibero 기본 Charset 사용 (Tibero6: MSWIN949 / Tibero7: UTF8) |
SKIP_CHAR_CONV | tbgw.cfg | Y : Oracle로부터 데이터 전달 시 TB_NLS_LANG 포맷 변환 후 Tibero에 전달
N : Tibero 서버의 캐릭터 셋으로 Oracle 서버에 데이터 요청 |
BYTES_CHARSET | tbdsnr.tbr | - Java Gateway 전용
- BYTES_CHARSET=Oracle 캐릭터 셋 선언 시 Tibero와 Oracle의 캐릭터 셋이 달라도
Gateway 인코딩과 Tibero 서버 캐릭터 셋과 무관하게 Oracle 캐릭터셋 문자열로 처리하여
Tibero에서 확인 가능 |
_ALLOW_DIFF_CHARSET_INSTANCE | $TB_SID.tip | - Gateway와 Tibero 인스턴스의 Charset이 달라도CTAS 정상 수행 허용 (Y/N) |
DBMS 밴더별 Gateway 정보
아래 표는 Tibero에서 데이터베이스 링크 기능을 지원하고 있는 다른 DBMS의 종류와 Gateway 바이너리명 입니다.
참고
각각의 Gateway 바이너리는 DBMS의 버전에 따라 다를 수 있으므로, 버전에 알맞은 Gateway 바이너리를 사용할 것을 권장합니다.
gateway 수행 프로세스
•
tbsql → Gateway : Tibero DB 클라이언트(tbsql)가 Gateway로 요청 전달
•
Gateway → oracle : Gateway가 Oracle로 질의 전달 후 결과 수신
[tbsql] <--> [gateway] <--> [oracle]
[8629] <--> [ 9999 ] <--> [ 1521 ]
SQL
복사
Gateway 통신 흐름
1.
Tibero 서버에서 다른 DBMS에게 요청한 질의를 Gateway에 전달
2.
Gateway에서 요청한 질의를 원격지 DB 쿼리로 변경 (Oracle JDBC)
•
Gateway는 Target DBMS로 연결하여 Tibero 서버로부터 전달 받은 질의를 수행 요청
3.
Target DB는 요청한 질의에 대한 결과를 Gateway에 전달
4.
Gateway에서 응답 받은 데이터를 요청 DB의 포맷으로 변경하여 Tibero에 전달
[그림 1] Gateway 통신 흐름
참고
에러 발생 시 참고할 수 있는 사항 입니다.
오류 코드 | 발생 원인 | 대처 방법 |
TBR-2131: Generic I/O error. | gateway 프로세스 종료 | Gateway 재기동 필요 (gw4orcl) |
TBR-130092:(ORA-12541)
TNS:no listener | oracle 리스너가 종료되었거나 연결 불가 | Oracle 리스너 상태 확인 및 재기동 |