2025년 3월 28일 금요일

MSSQL - SQL Server에서 Oracle 연결

 

1) 개체 탐색기에서 서버 > 서버 개체 > 연결된 서버를 오른쪽 마우스 클릭하여 새 연결된 서버를 선택한다.


2) 일반 정보 설정
연결된 서버(N) : 연결명
공급자(P) : Microsoft OLE DB Provider for Oracle
제품 이름(U) : Oracle
(오라클인 경우에는 Oracle)
데이터 원본(D) : 오라클 서비스 네임 즉, sid
(orcl)
공금자 문자열(V) : 오라클 서비스 네임 즉, sid
(orcl)


3) 보안 설정
원격지 SQL Server의 접속 정보(원격로그인 / 암호)를 입력한다. 

4) 서버 옵션 설정
페이지 선택에서 서버 옵션을 선택합니다. RPC(Remote Procedure Call), RPC 내보내기를 True로 변경합니다. RPC는 원격 프로시져를 호출 할 수 있도록 하는 옵션입니다. 확인버튼을 눌러 DB 링크를 생성합니다. 생성을 하면 연결 테스트를 자동 수행합니다.


5) 확인버튼을 클릭하여 Linked Server 생성 완료하기. (자동으로 연결 테스트를 수행하여,테스트에 실패하면 오류가 발생한다.)

6) 로컬서버 > 서버 개체 > 연결된 서버를 보면 새로운 Linked Server 가 생성된 것을 확인할 수 있다.

※ 쿼리 사용법 (SELECT문)
-- Oracle은 dbo개념이 없기 때문에, FROM 절에서 dbo를 생략하여 .를 연속으로 2개 입력한다. (오타가 아님!) SELECT * FROM [Linked Server명]..[DB].[테이블명] EX) Linked Server명 : ORACLE, DB : TEST, 테이블명 : EMP 인 경우, EMP 테이블의 모든 데이터 조회하기 SELECT * FROM ORACLE..TEST.EMP;



[출처] https://m.blog.naver.com/sophie_yeom/220903408641




------------------------------------------------------------------------




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

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


설치사이트

64bit의 경우
https://www.oracle.com/kr/database/technologies/112010-win64soft.html


32bit의 경우

https://www.oracle.com/database/technologies/112010-win32soft.html

 

Oralce Client 설치


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

 

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

 

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

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

 

 

5.설치를 진행합니다.

 

MSSQL 설정

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

 

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..를 클릭합니다.

 

 

 

5General 내용을 작성합니다.

Linked server : DB링크 이름

Provider : Oracle Provider for OLE DB

Data source : TNS 이름

 

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

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

 

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

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

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

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

 

 

[출처] https://bae9086.tistory.com/128




MSSQL - MSSQL to Oracle (Migration)

 

0. 환경 구성

다음과 같이 MSSQL 2014 데이터를 Linux 환경의 Oracle 11g 옮기는 테스트 .

중간의 개인 PC 작업 환경에 SQL Developer 설치 되어 있어야 하며, SQL Developer에서 MS-SQL 접속하기 위하여 jtds 다운 받아야 .


 

1. SQL Developer Download

 

Download Site : http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html


윈도우 10 64bit 이므로 64bit SQL Developer 다운로드 받으며, JDK 포함된 버전으로 받음.



다운 받은 zip 파일을 후에 SQL Developer 기동해서 정상 동작 하는지 확인.

프로그램이 기동되면 + 단추를 눌러서 접속 가능한 DB 목록을 확인해 보면 Oracle 밖에 보이질 않는다.

 


 

 

2, MS-SQL 접속하기 위한 jTDS 다운로드

 

Download Site : https://sourceforge.net/projects/jtds/files/

 

사이트에 접속해서 jtds-1.3.1-dist.zip 최신 버전을 다운로드 한다. 작성 시점에는 1.3.1 최신 파일임.

압축을 풀어서 SQL Developer에서 사용할 있게 등록하면 된다.

 

Tools > Preferences > Database > Third Party JDBC Drivers > Add Entries... > 1-3-1.jar 추가

 


 

MS-SQL Server Sybase 추가된 것을 확인 있다.

 


 

 

3. Repository 설정

Windows 10 PC에서 마이그레이션에 사용할 Repository 설정을 준다.

 


 

접속을 추가 후에 Migration 사용할 유저를 생성한다. 유저 생성 권한을 주는데, 레파지토리 생성 에러가 종종 발생 하기도 해서 전체 권한을 .

connect , resource ,create view 권한만 주는 경우도 있으나, 그냥 전체를 주었음.

 

CREATE USER MIGRATION IDENTIFIED BY "migration"

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP;

 

GRANT ALL PRIVILEGES to MIGRATION ;

 


 

 

4. Repository 생성

생성한 migration 유저로 접속하는 접속을 하나 만든 해당 유저에 Repository 생성 한다.

 


 

생성 migration 접속에서 클릭을 후에 > Migration Repository > Associate Migration Repository 선택

 


 


 


 

테이블을 눌러 보니 테이블들이 생긴 것을 확인 있다.

 


 

 

5. Source MS-SQL접속 정보 추가

Source 서버인 MS-SQL 서버에 접속해 본다.

 

192.168.1.250   sa 정보를 입력 >  "테스트" > 데이터베이스 검색 > 마이그레이션을 원하는 DB 선택

 


 

6. Target Oracle 접속 정보 추가

Target 서버인 Oracle 서버에 접속해 본다.

 

192.168.10.130 system 정보 입력 > 테스트 > 저장

 


 

7. 마이그레이션 진행

Tools > Migration > Migrate....

 


 


 

이름은 MS_to_Oracle 했으며, 파일이 저장되는 디렉터리는 d:/temp 지정 .

 


 


 

이전 DB 선택

 


 


 

기본적으로 constraint , function, procedure, trigger , view 데이터가 기본으로 마이그레이션 된다.

 


 


 


 


 

 


 


 

8. 이전 데이터 확인

이전 데이터 확인

 



[출처] https://bstar36.tistory.com/333



MSSQL - SQL Server에서 Oracle 연결

  1) 개체 탐색기에서 서버 > 서버 개체 > 연결된 서버를 오른쪽 마우스 클릭하여  새 연결된 서버를 선택 한다. 2) 일반 정보 설정 연결된 서버(N) : 연결명 공급자(P) : Microsoft OLE DB Provider for O...