I have a SQL Server 2005 replicating with an Oracle 11 subscriber.
After installing the OLEDB driver for Oracle 11, a minidump is created every time the distributor tries to connect to Oracle: Distrib.exe crashes with STACK_OVERFLOW exception.
The issue occurs while initializing the subscriber therefore as soon as it tries to connect to Oracle.
In addition to the information mentioned above, I also get the following error when i execute a query against the linked server to Oracle:
SELECT <all column names> FROM [xxxxx]..[xxxxxx].[MSREPL7]
Msg 7356, Level 16, State 1, Line 1
The OLE DB provider “OraOLEDB.Oracle” for linked server “xxxxx” supplied inconsistent metadata for a column.
The column “column_name” (compile-time ordinal 1) of object “”xxxxxx”.”MSREPL7″” was reported to have a “LENGTH” of 128 at compile time and 256 at run time.
This is caused by the fact that the distrib.exe stack size is 256 KB – hence the stack overflow.
WORKAROUND / SOLUTION:
Only known supported solution is to upgrade to SQL Server 2008: SQL Server 2008’s distrib stack is 1 MB.