About this task
To configure XStream In in Talend Studio, do the following:
In the Repository tree view, set up a
database connection using OCI connection type to an Oracle database, and
then retrieve the schema of the target table to which data changes will
be replicated. In this example, the target table is PERSON_BAK. For detailed information about
how to set up a database connection and retrieve table schemas, see
Centralizing database metadata.
Right-click CDC Foundation under the
newly created Oracle database connection and select Create CDC from the contextual menu. The
Create Change Data Capture dialog
box opens up.
Select XStream mode in the Options area and click Show sample initialization script. The Sample Initialization Script dialog box
Note that this is only a sample script for configuring XStream on an Oracle 12c server, you need to update the username, password, and tablespace information according to your settings and run the statements and procedures in Oracle. For detailed information, see Prerequisites for the XStream mode.Click OK to close the Sample Initialization Script dialog box.Click Finish to create CDC and close the Create Change Data Capture dialog box.
Right-click the target table and select add
CDC from the contextual menu.
Right-click the target table and select Generate
XStreamsIn Script from the contextual menu. The XStreamsIn generation script dialog box
Fill in the XStreams server name
field with the inbound server name.
Fill in the Queue name field with the name of the inbound server's queue.Click Generate script. The XStream In script will be generated and displayed.
Click Execute to create the XStream
inbound server in Oracle.
Note that if the script execution fails, you can connect to the Oracle database as an XStream administrator and run the script in Oracle.
Connect to the Oracle database as an XStream administrator and check
the status of the inbound server by running the following
select apply_name, status from dba_apply;If the inbound server is disabled, start it by running the following statement:
exec DBMS_APPLY_ADM.START_APPLY('xin');If you need to remove an inbound server, run the following statements:
exec DBMS_XSTREAM_ADM.DROP_INBOUND('xin'); exec DBMS_XSTREAM_ADM.REMOVE_QUEUE('xin_queue'); exec DBMS_APPLY_ADM.DELETE_ALL_ERRORS(apply_name => 'xin');