안녕하세요 MMSQL 에서 Openquery 로 Orale Database 에 분산 트랜잭션을 하려고 하는데
오류로 인해 처리가 되지 않아 도움을 요청 드립니다.
mssql 2012 R2 STD
LINUX ORACLE 11G
=== 쿼리 문 ====
SET XACT_ABORT ON
BEGIN DISTRIBUTED TRANSACTION
select * from openquery([서버명],'select * from [ORACLE 테이블]')
COMMIT TRAN
SET XACT_ABORT OFF
==============
MSSQL 오류 메시지
연결된 서버 "xx"의 OLE DB 공급자 "OraOLEDB.Oracle"이(가) 메시지 "Unable to enlist in the transaction."을(를) 반환했습니다.
메시지 7391, 수준 16, 상태 2, 줄 9
연결된 서버 "xx"의 OLE DB 공급자 "OraOLEDB.Oracle"이(가) 분산 트랜잭션을 시작할 수 없으므로 요청한 작업을 수행할 수 없습니다.
확인 및 처리 한 내용
WINDOWS MSSQL 서버 방화벽 및 방화벽 135,5000 - 5200 포트 OPEN
LINUX ORACLE 서버 방화벽 135, 5000-5200 포트 OPEN
LINKED 서버 RPC, RPC 내보내기 TRUE 설정
WINDOWS DTCPING TEST 시 오류 발생 (원인 모르겠음)
Problem:fail to invoke remote RPC method
Error(0x6BA) at dtcping.cpp @303
-->RPC pinging exception
-->1722(The RPC server is unavailable.)
RPC test failed