오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

MSSQL에서 Oracle의 정보를 가져와야 할 일이 생겨 DB link가능 여부를 체크하고 테스트했던것을 정리하는 글입니다.

참고 사이트 : www.sqlshack.com/link-sql-server-oracle-database/

Link a SQL Server to an Oracle database - SQL Shack

In this article, you will find explanation how to link a SQL Server to an Oracle database and will see how to install the mandatory libraries and tools.

www.sqlshack.com

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

테스트환경 :
MSSQL 2008 (64bit)
Oracle 11.2.0.1 (64bit)

사전준비 사항
MSSQL이 설치된 서버에 서버의 bit수와 동일한 Oracle Client가 설치되어 있어야 합니다.

Oralce Client 설치


1.Oracle Client를 MSSQL 서버에 설치합니다.(Custom에 놓고 Next를 합니다)

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

2.언어선택인데 저는 English를 선택 후 Next를 했습니다.(Korean이 있으면 해도 무방합니다)

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

3.ORACLE_BASE와 ORACLE_HOME을 선택하는 창입니다. Default로 하고 Next를 누릅니다.

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

4.필요한 부분을 선택합니다. 이부분이 가장 중요합니다.

Oracle Database Utilities

SQL*Plus

Oracle JDBC/THIN interfaces

Oracle Call Interface(OCI)

OracleNet

Oracle ODBC Driver

Oracle Counters for Windows Perfoemance Monitor

Oracle Objects for OLE

Oracle Provider for OLE DB

Oracle Data Provider for .NET

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

5.설치를 진행합니다.

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

MSSQL 설정

1. DB접속 후 Server Objects -> Linked Servers -> Providers에 OraOLEDB.Oracle이 있는지 확인해줍니다.

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

2.Client의 SQLNET.ora를 수정합니다.

아래의 내용 추가

SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAMES)
SQLNET.EXPIRE_TIME = 30

3.Client의 TNSNAMES.ORA에 Oracle DB의 접속정보를 추가합니다.

YSBAE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.58)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ysbae)
    )
  )

tnsping ysbae와 sqlplus test/test@ysbae를 통해서 접속 테스트를 진행하여도 됩니다.

4. DB LINK를 생성합니다. New Linked Server..를 클릭합니다.

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

5General 내용을 작성합니다.

Linked server : DB링크 이름

Provider : Oracle Provider for OLE DB

Data source : TNS 이름

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

6. Security 내용을 작성합니다.

Remote Login,With password칸에 Oracle DB의 스키마 이름과 비밀번호를 입력합니다.

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

7.Server Options내용을 작성합니다.  설정이 완료되었으므로 OK를 클릭 후 테스트를 진행합니다.

RPC RPC Out을 TRUE로 설정합니다.

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

8. Oracle의 sysdate를 구하는 쿼리로 테스트를 진행합니다.

select * from OPENQUERY(DBLINK_TEST,'select sysdate from dual');

오라클 MSSQL 연결 - olakeul MSSQL yeongyeol

끝.