Five Stars

ORA-26914: Unable to communicate with XStream capture process

Hi,

 

I have been following this tutorial to set up CDC in Oracle XStream mode. 

https://help.talend.com/reader/0O6x_FDIIGrKz2Z2Wc91yQ/4MPNGBRIo_vfKGHe4_gYMQ

 

I have set up XStreamOut and XStreamIn database connections and was able to successfully connect through Oracle OCI. Was also able to addCDC and execute the initialization scripts. I can see both servers are enabled. 

 

image.png

I proceeded to configure a simple job in Talend Studio. I used tOracleCDC to extract the data changes. 

image.png

 

I used tOracleCDCOutput to replicate the data changes to a target table CX_PER_NAME. 

image.png

 

When I ran the job, I encountered an error on tOracleCDC. Can someone please help point out what I might be doing wrong here?   Thanks!

 

image.png

 

Here is the full logs: 

Starting job OracleXStreamCDC_POC at 22:05 11/09/2017.

[statistics] connecting to socket on port 3421
[statistics] connected
Exception in component tOracleCDC_1 (OracleXStreamCDC_POC)
oracle.streams.StreamsException: ORA-26914: Unable to communicate with XStream capture process "CAP$_XOUT_1" from outbound server "XOUT".

at oracle.streams.XStreamOut.XStreamOutReceiveLCRNative(Native Method)
at oracle.streams.XStreamOut.receiveLCR(XStreamOut.java:482)
at echidna.oraclexstreamcdc_poc_0_1.OracleXStreamCDC_POC.tOracleCDC_1Process(OracleXStreamCDC_POC.java:639)
at echidna.oraclexstreamcdc_poc_0_1.OracleXStreamCDC_POC.runJobInTOS(OracleXStreamCDC_POC.java:1140)
at echidna.oraclexstreamcdc_poc_0_1.OracleXStreamCDC_POC.main(OracleXStreamCDC_POC.java:966)
[FATAL]: echidna.oraclexstreamcdc_poc_0_1.OracleXStreamCDC_POC - tOracleCDC_1 ORA-26914: Unable to communicate with XStream capture process "CAP$_XOUT_1" from outbound server "XOUT".

oracle.streams.StreamsException: ORA-26914: Unable to communicate with XStream capture process "CAP$_XOUT_1" from outbound server "XOUT".

at oracle.streams.XStreamOut.XStreamOutReceiveLCRNative(Native Method)
at oracle.streams.XStreamOut.receiveLCR(XStreamOut.java:482)
at echidna.oraclexstreamcdc_poc_0_1.OracleXStreamCDC_POC.tOracleCDC_1Process(OracleXStreamCDC_POC.java:639)
at echidna.oraclexstreamcdc_poc_0_1.OracleXStreamCDC_POC.runJobInTOS(OracleXStreamCDC_POC.java:1140)
at echidna.oraclexstreamcdc_poc_0_1.OracleXStreamCDC_POC.main(OracleXStreamCDC_POC.java:966)
[statistics] disconnected
Job OracleXStreamCDC_POC ended at 22:08 11/09/2017. [exit code=1]

  • Data Integration
3 REPLIES
Five Stars

Re: ORA-26914: Unable to communicate with XStream capture process

Ran the following queries: 

 

-- To display the registered redo log files for each capture process:

COLUMN CONSUMER_NAME HEADING 'Capture|Process|Name' FORMAT A15
COLUMN SOURCE_DATABASE HEADING 'Source|Database' FORMAT A10
COLUMN SEQUENCE# HEADING 'Sequence|Number' FORMAT 99999
COLUMN NAME HEADING 'Archived Redo Log|File Name' FORMAT A20
COLUMN DICTIONARY_BEGIN HEADING 'Dictionary|Build|Begin' FORMAT A10
COLUMN DICTIONARY_END HEADING 'Dictionary|Build|End' FORMAT A10

SELECT r.CONSUMER_NAME,
r.SOURCE_DATABASE,
r.SEQUENCE#,
r.NAME,
r.DICTIONARY_BEGIN,
r.DICTIONARY_END
FROM DBA_REGISTERED_ARCHIVED_LOG r, ALL_CAPTURE c
WHERE r.CONSUMER_NAME = c.CAPTURE_NAME;

 

image.png

-- To view information on capture process

select *
from DBA_CAPTURE;

 

The status of the capture process was Aborted. 

The error Message was

"ORA-00308: cannot open archived log '/rdsdbdata/db/ORCL_A/arch/redolog-2598-1-942451380.arc'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
"

 

Looks more of an access privilege issue.  

 

 

 

Moderator

Re: ORA-26914: Unable to communicate with XStream capture process

Hi,

The link you are referring to is Talend Data Integration Studio User Guide 5.6. Is there any ACCESS limitation from your oracle DB?

It is recommended that you should create a case on talend support portal so that we can give you a remote assistance(webex) through support cycle with priority.

https://login.talend.com/support-login.php

Best regards

Sabrina

 

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Five Stars

Re: ORA-26914: Unable to communicate with XStream capture process

Thanks Sabrina.

 

I actually have Talend Studio 6.4.1 installed. Is there a newer tutorial that I should be looking at? That was the only one I found around CDC for Oracle 12c. 

 

I am currently evaluating the product with the 30 day trial license to determine if its suitable. I tried accessing the support portal but it says my account is not enabled for support yet. 

 

In any case, I did look into the issue further. The problem was actually on the database side. I am connecting to an Amazon RDS oracle database. By default, the database did not retain the redo logs, so the Capture Process aborted, which was why the tOracleCDC component errorred out. I have increased the log retention now and dropped and recreated the Outbound Server,  so that a new capture process is created. This made sure the SCN is set to a number where the redo logs still physically exists. 

 

I've run into another problem now, that is RDS related. Lack of privileges. Have Amazon support looking into this. 

 

I did want to ask if anyone has tried using Talend Studio 6.4.1 to do CDC with Oracle 12c (on Amazon RDS)? 

 

Thanks!