SQL Server 2005 - Oracle 10g Distributed Transaction Error 7391

Hello
I'm trying to run a simple transaction from SQL Server 2005 to an Oracle 10g Linked Server:
BEGIN DISTRIBUTED TRANSACTION
SELECT COUNT(*) FROM FAC_DRP..DROITPROD.HOR_SESSION
COMMIT TRAN

And I get this error:

Msg 7391, Level 16, State 2, Line 5
The operation could not be performed because OLE DB provider "MSDAORA" for linked server "FAC_DRP" was unable to begin a distributed transaction.

The Select statement alone works fine. The MSDTC service is running on the cluster node where SQL Server is running. I've read many posts, but I did not find any solution. Any hint would be welcome, thanks.
Pierrot

siufAsked:
Who is Participating?
 
Raja Jegan RConnect With a Mentor SQL Server DBA & ArchitectCommented:
Ideally you may face errors in Linked Servers in two places:

1. MSDTC
2. Firewall

As per your statements, MSDTC is running and Firewall is disabled. Then you dont have any issues other than Security privileges used to connect the Destination Server. Other than that there should not be any problems in this process.
0
 
Raja Jegan RSQL Server DBA & ArchitectCommented:
Check whether MSDTC is enabled or not in both the machines.
Further info on MSDTC configurations here:

http://support.microsoft.com/kb/839279

Exclude TCP port 135 on both the machines Firewall
Kindly disable Firewall Service on both the Machines and Try issuing the query again.
This should work
0
 
siufAuthor Commented:
What do you mean when you say "Check whether MSDTC is enabled or not on both machines" ? The Oracle server is a Linux one (Red Hat 3), there is no MSDTC afaik.
0
Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

 
Raja Jegan RSQL Server DBA & ArchitectCommented:
Yes you are correct. In Oracle on Linux Platform doesn't has MSDTC.
But make sure that in your Windows machine, MSDTC service is up and running.

Disable Firewall and test it once from SQL Server
0
 
siufAuthor Commented:
OK, I configured the MSDTC as described at http://support.microsoft.com/kb/839279, the firewall is disabled on the SQL Server machine. But the Oracle one is behind a firewall and I don't know what port to open, because the Select statement alone works fine. Just when I add BEGIN TRAN/COMMIT TRAN I get the error 7391.
0
 
Raja Jegan RSQL Server DBA & ArchitectCommented:
Just open up the ports 135 for MSDTC in both machines.
TCP port 1433 and UDP Port 1434 needs to be opened in both the machines.
0
 
siufAuthor Commented:
The firewall is disabled on the SQL Server machine, and we opened all from this machine to the Oracle server, but no chance, still the same message.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.