[ Oracle Gateway 사용 하기 ]

 

출처:http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=42&MAEULNO=17&no=20&page=1SQL Server 와 Oracle 을 통합 운영하는 데 SQL Server에서 Oracle과의 통합 운영은 연결된 서버나 Oracle 게시자 복제, Oracle 구독자 복제 등 다양한 형태를 제공합니다. 그렇지만 Oracle에서 제공하는 SQL Server로의 접근은 Oracle Gateway Service를 통해야만 가능합니다.

이러한 기능을 제공하고 있지만 워낙 비싼 라이센스를 지불해야 하므로 사실상의 효율성을 없지만 많은 분들이 궁금해 해서 다음과 같이 간략하게 Oracle Gateway Service For Microsoft SQL Server를 구성하는 방법에 대해서 설명합니다.

 

1) Transparent Gateway

Oracle은 이기종과의 연결 작업을 위해서 Gateway Service 기능을 제공합니다. Oracle9i 이전 버전에는 TG4MSQL이라는 이름으로 별도로 제공되던 제품이 Oracle9i 버전부터 제품 CD에 포함되어 있습니다. , 설치 및 사용을 위해서는 반드시 별도의 라이센스를 구매해야만 합니다.다음에서 Oracle Transparent Gateway For Microsoft SQL Server(이하 TG4MSQL)를 구성하고 TG4MSQL을 통해서 SQL Server와 통합된 쿼리를 사용하는 방법에 대해서 살펴봅니다.

TG4MSQL 구성은 원본 Oracle 인스턴스 및 TG4MSQL 인스턴스, 그리고 연결 대상 SQL Server로 구성되며 다음 다섯 단계로 진행하여 설치 및 구성을 완료합니다.

 

 Oracle Universal Installer를 통한 Transparent Gateway For Microsoft SQL Server 설치 및 설정

 SQL Server 및 원본 Oracle 인스턴스에서 각각 TG4MSQL용 계정 생성 및 권한 부여

 TG4MSQL 인스턴스 리스너 구성

④ 원본 Oracle 인스턴스에서 TG4MSQL 인스턴스에 대한 tnsname.ora 파일 구성

⑤ 원본 Oracle 인스턴스에서 TG4MSQL 인스턴스에 대한 데이터베이스 링크 구성

⑥ 원본 Oracle 인스턴스에서 데이터베이스 링크를 통한 연결 대상 SQL Server로 쿼리 수행

 

2) TG4MSQL 설치

다음과 같이 Oracle Universal Installer를 실행하고 사용 가능한 제품 구성 요소 선택 페이지에서 Oracle Transparent Gateway For Microsoft SQL Server를 선택하고 [다음] 버튼을 누릅니다.

 

 

 

이어 지는 설치 과정에서 다음과 같이 연결하고자 하는 SQL Server 이름과 데이터베이스 이름을 입력합니다.

 

 

 이 사항은 TG4MSQL을 설치 완료한 뒤 %ORACLE_HOME% tg4msql\admin 폴더의 initTG4MSQL.ora 초기 파라미터 파일에서 수정할 수 있습니다. 주의 사항은 명명된 인스턴스의 경우에는 TG4MSQL이 인식하지 못하므로 SQL Server Configuration Manager에서 서버의 별칭을 생성하여 접속해야 합니다.

 

3) TG4MSQL 인스턴스 리스너를 구성

 

설치가 완료되면 다음과 같은 내용을 추가하여 TG4MSQL 인스턴스 리스너를 구성합니다.

TG4MSQL 인스턴스 리스너에 다음과 같은 내용을 추가합니다.

 

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = tg4msql) <--지정한 SID

(ORACLE_HOME = G:\oracle\ora92)<-- 설치 시 지정한 홈 폴더

  (PROGRAM = tg4msql)

)

)

 

4) 원본 Oracle 인스턴스에서 TG4MSQL 인스턴스에 대한 클라이언트 구성 설정

 

원본 Oracle 인스턴스에서 TG4MSQL 인스턴스에 대한 tnsname.ora 파일을 다음과 같이  구성합니다.

 

 

TG4MSQL =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = home1)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = tg4msql)

    )

    (HS = OK) ß 이 부분 추가 확인

)

 

 


Net Manager를 사용하는 경우에는 서비스 이름으로 [TG4MSQL]을 지정하고 서비스 ID의 고급 버튼을 누른고 이기종 서비스 체크 박스를 선택합니다.

 

 

 

5) 원본 Oracle 인스턴스에서 TG4MSQL 인스턴스에 대한 데이터베이스 링크 구성

 

원본 Oracle 인스턴스에서 TG4MSQL 인스턴스에 대한 다음과 같이 데이터베이스 링크를 생성합니다.

 

CREATE PUBLIC DATABASE LINK [LINK]

CONNECT TO [계정명] IDENTIFIED BY [패스워드]

USING '[GATEWAY 서비스명]'

 

 


이때 해당 계정은 Oracle 원본 인스턴스와 대상 SQL Server에 모두 존재해야 합니다.

 

6) TG4MSQL 구성 확인

다음과 같이 TG4MSQL을 통해서 Oracle 원본 인스턴스에서 SQL Server로 쿼리를 수행하여

TG4MSQL이 올바르게 구성되었음을 확인합니다.

 

SELECT  * FROM table_name@db_link_name ;

 

 

 


다음은 SQL Server 2005 Adventureworks.Person.AddressType 테이블에 테스트 쿼리를 수행한 결과입니다.

 

'(DB) Oracle > Object & Utility' 카테고리의 다른 글

Oracle - SQL*PLUS  (0) 2017.01.21
Oracle - Sequence  (0) 2017.01.21
Oracle - Export/Imprt  (0) 2017.01.21
Oracle - DB Scheduler_스케쥴러  (0) 2017.01.21
Oracle - DB Link  (0) 2017.01.21
Posted by 농부지기
,