내맘대로긍정이 알려주는
Oracle 23ai 신기능
무료 세미나 발표자료
OS환경 : Oracle Linux 7.6, Windows Server 2012 (64bit)
DB 환경 : Oracle Database 12.1.0.2, SQL Server 2012
방법 : Windows Server 2012 에 SQL Server 2012에서 Oracle Linux 7.6 에 12c R1 db 링크
Windows Server 2012 에 SQL Server 2012에서 Oracle Linux 7.6 에 12c R1 db 링크를 연결하는 방법을 설명함
환경정보
Oracle Linux 7.6 + Oracle Database 12.1.0.2 서버 호스트명, IP : oel7, 192.168.137.50
Windows Server 2012 + SQL Server 2012 서버 호스트명, IP : WIN-P5KNTBRVB79, 192.168.137.12
접속 방법에 대해 간단하게 설명하자면 MS to Oracle 연결을 위해선
Windows Server에 오라클 클라이언트를 설치하여
클라이언트의 tnsnames.ora 파일을 이용해 접속정보를 확인하고
OraOLEDB.Oracle 공급자를 이용해 DB 링크를 만들어 오라클DB로 접속함
오라클 DB에 테스트 데이터 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 | SQL> conn system/oracle Connected. SQL> create table test (c1 number); Table created. SQL> insert into test values (1); 1 row created. SQL> commit; Commit complete. |
Windows Server에 오라클 클라이언트 다운로드
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
접속하려는 Oracle DB 버전 확인 후 Microsoft Windows x64 버전 - See All 선택
Oracle Database Client - Download
클라이언트 설치파일 압축 해제 후 setup 실행
원하는 클라이언트 유형 선택 후 다음
Windows 내장 계정 사용 선택 후 다음
클라이언트 설치 경로 지정 후 다음
설치
설치중
설치 완료 후 닫기
클라이언트 설치 경로로 이동
1 | C:\app\client\Administrator\product\12.2.0\client_1\network\admin |
tnsnames 텍스트 파일 생성
tnsnames 파일 수정 후 저장
1 2 3 4 5 6 7 8 | ORACLE12 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.137.50)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORACLE12) ) ) |
오라클 DB 서버 IP와 sid 입력
폴더상단 - 보기 - 파일 확장명 체크
tnsnames.txt에서 tnsnames.ora 로 확장자 변경
예 선택
cmd 실행
tnsping 시도
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | C:\Users\Administrator>tnsping oracle12 TNS Ping Utility for 64-bit Windows: Version 12.2.0.1.0 - Production on 06-8월 - 2020 14:03:09 Copyright (c) 1997, 2016, Oracle. All rights reserved. 사용된 매개변수 파일: C:\app\client\Administrator\product\12.2.0\client_1\network\admin\sqlnet.ora 별칭 분석을 위해 TNSNAMES 어댑터 사용 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.137.50)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORACLE12)))에 접속하려고 시 도하는 중 확인(10밀리초) |
확인이 나오면 정상적으로 신호가 가는것
sqlplus 접속 테스트
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | C:\Users\Administrator>sqlplus system/oracle@oracle12 SQL*Plus: Release 12.2.0.1.0 Production on 목 8월 6 14:04:36 2020 Copyright (c) 1982, 2016, Oracle. All rights reserved. 마지막 성공한 로그인 시간: 목 8월 06 2020 14:04:25 +09:00 다음에 접속됨: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing opt ions SQL> select instance_name, version, status from v$instance; INSTANCE_NAME VERSION STATUS ---------------- ----------------- ------------ oracle12 12.1.0.2.0 OPEN |
정상적으로 oracle db에 접속됨
SQL Server Management Studio 실행
서버에 접속
서버 개체 - 연결된 서버 - 공급자 - OraOLEDB.Oracle 이 있는지 확인 후 속성 선택
Inprocess 허용 체크 후 확인
서버 개체(우클릭) - 새로 만들기 - 연결된 서버 선택
일반 탭 - 연결된 서버에 DB 링크 이름 입력 - 기타 데이터 원본에 Oracle Provider for OLE DB 선택
제품 이름, 데이터 원본에 tnsnames.ora에 적은 tnsname 입력(ORACLE12)
보안 탭 - 다음 보안 컨텍스트를 사용하여 연결 선택 후 오라클 유저명, 패스워드 입력
서버 옵션 탭 - RPC, RPC 내보내기 모두 True로 설정 후 확인
연결된 서버에 ORA_LINK 가 만들어진것을 확인가능함
쿼리 입력 및 결과 확인
1 | SELECT [C1] FROM [ORA_LINK]..[SYSTEM].[TEST]; |
정상적으로 결과가 나옴
쿼리 입력 및 결과 확인(오픈쿼리 이용)
1 | SELECT * FROM OPENQUERY(ORA_LINK, 'SELECT * FROM system.test'); |
정상적으로 결과가 나옴
개체 탐색기에서 다른 테이블들도 확인 가능함
참조 :
https://positivemh.tistory.com/626'ORACLE > Migration' 카테고리의 다른 글
오라클 10g R2 에서 오라클 11g R2 수동 업그레이드 마이그레이션 방법 (0) | 2024.08.05 |
---|---|
오라클 11g R2 에서 오라클 19c datapump schemas 옵션 이관시 주의사항 (2) | 2022.02.23 |
오라클 9i 에서 오라클 19c로 정통 export, import 마이그레이션 (1) | 2021.11.24 |
오라클 11g R2 에서 오라클 19c Datapump 마이그레이션 방법 (3) | 2021.06.09 |
Oracle Linux 7.6 에 12c R1에서 Windows Server 2012 에 SQL Server 2012 db 링크 (4) | 2020.07.17 |