MSSQL - 연결된 서버로 Oracle 연결하기 (Linked Server)

반응형

연결된 서버(Linked Server) 관련 글 보기

[ 연결된 서버 사용 방법] 

 

[ 연결된 서버에서 오픈 쿼리 사용 방법 ]

 

[ 다른 RDBMS를 연결된 서버로 연결하기 ]

 

[ 연결된 서버로 프로시저 실행하기 ]


개요

MS-SQL(SSMS)에서 오라클 DB 서버를 연결된 서버(Linked Server)로 접속해보자.
오라클 ODAC를 받으면 오라클 데이터베이스를 설치할 필요가 없다고는 하지만...
이상하게 내 컴퓨터에서는 ODAC 관련으로 오류 이슈가 발생하는 바람에

우선은 오라클 데이터베이스 자체를 설치해서 진행하였다.


Oracle 설치 및 설정

설치

오라클 공식 홈페이지에서 오라클 데이터베이스를 다운 받는다.
포스팅에서는 Oracle Database 21c XE on Windows를 다운 받아 설치하였다.
https://www.oracle.com/kr/database/technologies/oracle-database-software-downloads.html


ORACLE_HOME 환경 변수 등록

설치 시 환경 변수 'path' 에 오라클 데이터베이스의 경로가 추가되지만,
만약의 경우를 위해서 확인하는 것이 좋다.

  • 오라클 설치 위치 확인

 
 

  • 환경 변수 등록

 

  • 환경 변수 추가


TNS_ADMIN 환경 변수 등록

연결된 서버를 구성하기 위해서 'ODBC 데이터 원본'에 해당 서버를 등록해야한다.
그러기 위해서는 TNS_ADMIN 환경 변수 및 tnsnames.ora 라는 파일의 tns 설정 과정이 존재한다.
TNS_ADMIN 환경 변수의 경로는 오라클 설치 위치에서 network - admin 경로이다.

 

  • 환경 변수 추가
  • %ORACLE_HOME%\network\admin 으로도 가능하다.

 

%ORACLE_HOME%\network\admin

tnsnames.ora 파일 설정

tnsnames.ora 파일 생성

새로 만들기로 'tnsnames' 라는 이름의 파일을 생성 한 후, 확장자를 '.ora' 로 변경한다.
파일 위치는 오라클 설치 경로(ORACLE_HOME 환경 변수의 경로)에서 network - admin 이다.

 

tnsnames.ora 파일 작성

tnsnames.ora 파일의 역할은 데이터베이스에 접속하기 위한 접속 정보를 미리 정의하는 파일이다.
이 파일에서 정의된 데이터베이스 서버는 IP를 입력할 필요 없이 정의한 이름으로 접속할 수 있다.
아래의 tnsnames.ora 파일의 샘플 코드는 오라클 공식 문서에서 가져왔다.
tnsnames 파일에 대한 공식 문서는 아래의 링크에서 확인 가능하다.

net_service_name= 
 (DESCRIPTION= 
   (ADDRESS=(protocol_address_information))
   (CONNECT_DATA= 
     (SERVICE_NAME=service_name)))

 

# 예시
TESTDB = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.123)(PORT = 13443))
    (CONNECT_DATA = 
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )

오라클 ODBC 접속 설정 (ODBC 데이터 원본 관리자 설정)

  • 'odbc 데이터 원본' 프로그램 실행

 

  • 시스템 DSN 탭 - 추가

 
 

  • Oracle in OraDB21Home1 - 마침
    • 버전별로 뒤의 숫자는 다를 수 있다.

 
그러면 새로운 창이 뜰 것이다.
새로운 ODBC Oracle Driver Configuration 창에 설정한 오라클 TNS 정보를 입력해주자.

  • Data Source Name : 연결된 서버에서 사용할 데이터 원본 소스 이름
  • TNS Service Name: TNS 설정 중 tnsnames.ora 파일에 기재한 이름
  • User ID : 오라클 사용자명

정보 입력 후, 'Test Connection' 버튼 클릭

 
테스트 커넥션을 누르면 'Oracle ODBC Driver Connect' 창이 뜬다.
로그인할 계정의 이름과 비밀번호를 입력하고 OK 버튼을 눌러 접속이 되는지 확인해보자.

  • Service Name : tnsnames.ora 파일에서 기재한 이름
  • User Name : 오라클 DB에서 사용되는 사용자명
  • Password : 사용자 비밀번호

 
연결이 성공적이면 아래와 같이 'Connection successful' 이라고 출력된다.

 
연결 가능한 ODBC 데이터 원본이 생성되었다.


MS-SQL에서 오라클 연결된 서버로 연결하기 (Connecting Oracle to Linked Server)

Create New Linked Server

SSMS를 실행하여 Object Explorer(개체 탐색기)에서 연결된 서버를 만들어준다.

  • Server Objects - Linked Servers (우클릭) - New Linked Server
  • (한글일 경우)서버 개체 - 연결된 서버 (우클릭) - 연결된 서버


New Linked Server - General

  • Linked server : SSMS에서 사용할 연결된 서버의 별명
  • Provider : Oracle Provider for OLE DB
  • Data source : 위에서 설정한 ODBC 데이터 원본 관리자에서 설정한 이름

New Linked Server - Security

Be made using this security context 선택

  • Remote login : DB에 접속할 사용자명
  • With password : 사용자 비밀번


접속 확인

General과 Security의 정보를 모두 입력하였으면 하단의 OK 버튼을 누른다.
아무런 오류 문구 없이 Linked Server에 추가되면 접속이 성공한 것이다.

 

 

반응형