Query on CDC

I need to create cdc table,I am using 'dbms_logmnr_cdc_publish.create_change_table' for it. we need cdc to capture the latest changes from the source for datawarehouse loading as timestamp column is not available.Problem is that, client is not allowing us to create cdc tables on the source database.
following code creates it in a different schema,I need in a different database. How do i alter my code to achieve this?
sql>exec dbms_logmnr_cdc_publish.create_change_table(owner => 'user1', -
change_table_name => 'cdc_table1', -
change_set_name => 'SYNC_SET', -
SOURCE_SCHEMA => 'user2', -
SOURCE_TABLE => 'table1', -
COLUMN_TYPE_LIST => 'class_id NUMBER, -
class_title VARCHAR2(30), -
class_instructor VARCHAR2(30), -
class_term_code VARCHAR2(6), -
class_credits NUMBER', -
CAPTURE_VALUES => 'both', -
RS_ID => 'y', -
ROW_ID => 'n', -
USER_ID => 'n', -
TIMESTAMP => 'y', -
OBJECT_ID => 'n', -
SOURCE_COLMAP => 'y', -
TARGET_COLMAP => 'n',-
OPTIONS_STRING => null);PL/SQL procedure successfully completed.
Thanks in advance

Dushyant,
In brief:
Which version of the database is the source running?
If the source is 9i then you can use distributed hot-log; if the source is 10g then you can use auto-log. You should read the Oracle Datawarehousing guide for a description of these versions.
http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14223/cdc.htm#i1028295
Either way you'll need to create a 10g (probably 10gR2 even) where the changes will be saved. On the source database you'll need to enable supplemental logging (see the SQL reference) to save primary key information to the redo log. This has performance impact!
Any more questions, just ask!
Cheers,
Colin

Similar Messages

  • A query regarding CDC

    I have setup CDC on around 80 source tables to capture before and after values.
    For data versioning purposes, I want to put a label/marker on CDC tables at a logical breakpoint.
    so I want to have a entry in CDC table when there is no change in the source table data.
    I am writing script that will read a row from each source table and update the row with the SAME data.so the CDC table will have entry for this update but the source table data remains same.
    I was a wondering if there is table level SQL that I can execute, which will not change any data in source table but will create an entry in CDC table.
    something similar to the TOUCH unix command which just updates timestamp without altering file content.
    Any suggestions/better approaches are welcome.
    Thanks in advance.

    From what I understand , you are selecting changed rows from tableB and inserting them into tableA. You want to insert a PLACEHOLDER row (probably with a timestamp) even when no data has changed in tableB.
    If it is custom sql, I would do something like this:
    Insert into table A
    select * from TableB where <changed data>
    Then use SQL%rowcount to check the rows inserted. If the value is zero,
    then send another insert like this:
    Insert Into tableA
    Values (Timestamp, <other information for logging>)

  • Orace CDC tables (built in package)

    Hi,
    Currently I am working on a project about the CDC(Change Data Capture) tables: after I enable the cdc tables in the oracle database for some tables, I need to query some data from these cdc tables. since this related to very complex pl sql, so I am wondering are there some built in packages which allow me to use directly to query some useful data from the cdc tables?
    Please let me know if you know something, thank you very much.
    here is a simple example:
    there are several tables about a users application to some program:
    the online application form will be saved in the table: application
    Now I enable the cdc table of application table, and now I have the cdc table: application_cdc
    this cdc table will record any changes of the application table that the applicant made,
    Now I need to get some table from table: application_cdc,
    is there some good built in functions or procedure that i can use directly?

    Hi,
    Thank you for the information, and sorry for the confusion, yes, I am looking for the packages that allow me to get some information from those cdc tables(I already have cdc tables with change records in it). what you told me about the DBMS_CDC_UTILITY package is useful, but it is too general(high level) that I can not use.
    For the CDC tables I have, there are many changes records over there, I just need some useful records(rows), now it is difficult for me to write plsql to get it directly.
    The Oracle DB I am using is 11g, Synchronous, and related to the subscriber, and I have the dw_.._cdc tables already, if there are not so many built in package for me to query the dw_.._cdc tables, what I can do is:
    (1) to write complex plsql directly to query these cdc tables
    or
    (2)recreate the cdc tables(many original tables combined to one table): to modify the publisher part to make the data(for subscriber) more related to what I want
    Im new to the cdc concept, please give me some advise, Thank you.

  • CDC table Count Mismatch

    Hi,
    We have CDC enabled for some tables in sql server 2008 R2. We are using this CDC table for incremental load on daily basis by providing From date(11/20/2014 12:00:000 AM) and To date(11/21/2014 00:00:000 AM). However, we see that there is a count mismatch
    when we query the cdc table between the same time frame after the increamental load completed. Count mismatch is not due to the multiple records beacuse of Operation Flag, We are considering only the distinct Primary Key for taking count.
    Kindly do the needful.

    Hi Visakh,
    PFB the query logic,
    ;WITH CTE
    AS (
    SELECT ROW_NUMBER() OVER (PARTITION by CAST(sys.fn_cdc_map_lsn_to_time(__$start_lsn) AS DATE),<PrimaryKey> ORDER BY __$start_lsn DESC,__$seqval DESC,__$operation DESC) [ROWNUMBER],
    sys.fn_cdc_map_lsn_to_time(__$start_lsn) [TRAN_DT],
    FROM cdc.fn_cdc_get_all_changes_DBO_<Tablename>(
    (SELECT sys.fn_cdc_increment_lsn(sys.fn_cdc_map_time_to_lsn('smallest greater than', '11/20/2014 12:00:00 AM'))),
    (SELECT sys.fn_cdc_map_time_to_lsn('largest less than or equal', '11/21/2014 12:00:00 AM')),'all update old')
    SELECT * FROM CTE WHERE ROWNUMBER = 1
    Are you sure count difference is not because of all update old?
    When you use all update old it returns two rows for each update ie one with old and one with new values.
    see
    http://msdn.microsoft.com/en-IN/library/bb510627.aspx
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Change Data Capture, insert+delete instead of update

    Hello everyone,
    I'm having an odd issue, that I need some help understanding.  I've got a number of tables enabled for Change Data Capture, but I've noticed some behavior that doesn't make sense.
    I am utilizing CDC to populate an ODS via SSIS packages, and have noticed a few instances where I'm getting a delete operation come through, but the source record still exists.  In the source system, I can query 'cdc.fn_cdc_get_net_changes_...'
    and see combinations of 1 (delete) and 4 (update new) for the __$operation.
    __$start_lsn, __$operation, TableId, ...
    0x000BB75700002F250005, 1, 1938241
    0x000BB75700002F250005, 4, 1938241
    Also, if I query the cdc.<Table>_CT table directly, I see pairs of 1 and 2 (insert) for the same __$start_lsn and __$seqval.  How can this happen?  If I get *net* changes, shouldn't I only get one record back per the primary
    key of the source table?
    __$start_lsn, __$seqval, __$operation, __$update_mask, TableId, ...
    0x000BB75700002E7C0005, 0x000BB75700002E7C0003, 1, 0x0FFF, 1938241
    0x000BB75700002E7C0005, 0x000BB75700002E7C0003, 2, 0x0FFF, 1938241
    0x000BB75700002F250005, 0x000BB75700002F250003, 1, 0x0FFF, 1938241
    0x000BB75700002F250005, 0x000BB75700002F250003, 2, 0x0FFF, 1938241
    Let me say, I've got a trace going to see if I can find the command(s) that is causing the duplicate results, but has anyone ever seen this before? 
    Thanks in advance for your time and help!
    Jarret

    This is called a deffered update. It is the way that some tables are updated - ie a delete followed by an insert.
    See if the behavior still occurs when using trace flag 8201, ie
    DBCC TRACEON (8207, -1)
    looking for a book on SQL Server 2008 Administration?
    http://www.amazon.com/Microsoft-Server-2008-Management-Administration/dp/067233044X looking for a book on SQL Server 2008 Full-Text Search?
    http://www.amazon.com/Pro-Full-Text-Search-Server-2008/dp/1430215941

  • Extracting delta's with ODP-data source 0MATERIAL_ATTR from SAP ECC

    We are using ODP-replication to extract data from SAP ECC to a MS SQL-database by SAP BusinessObjects Data Services.
    For extracting Material-data we use the standard data source 0MATERIAL_ATTR in SAP ECC.
    This data source delivers a full load with all Materials in it.
    In the properties of this data source (tab attributes) we saw that this data source is Delta_Extractor_Capable.
    Therefore we set the extraction mode from 'Query' to CDC (= Change Data Capable) and did a new initial load to get all Materials again.
    After changing a Material in ECC, we did a delta-load, but unfortunately we received ZERO records.
    Is there anyone with experience on extracting delta's with data source 0MATERIAL_ATTR or another standard masterdata data source in ECC?
    Thank you for your reaction in advance,
    Best regards,
    Jan-Hendrik

    Hi,
    You can check the delta records in RSA3 see teh article. in https://wiki.sdn.sap.com/wiki/display/profile/Surendra+Reddy
    Checking the Data using Extractor Checker (RSA3) in ECC Delta Repeat Delta etc...
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/80f4c455-1dc2-2c10-f187-d264838f21b5&overridelayout=true 
    Data Flow from LBWQ/SMQ1 to RSA7 in ECC and Delta Extraction in BI
    http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/business-intelligence/d-f/data%20flow%20from%20lbwq_smq1%20to%20rsa7%20in%20ecc%20and%20delta%20extraction%20in%20bi.pdf
    Delete the Queue in LBWQ/RSA7 and then freshly load Init and Check the Delta.
    Once you load the Init then if there are no new records then it won't get any data. so 0 records
    Check in SM37 in ECC why the job is terminated. See in ST22 also.
    Thanks
    Reddy

  • Error While enahling CDC(Change data capture) on Table.

    I am enabling Change data capture (CDC) on SQL server 2012 Enterprise edition(11.0.2100.60)
    . I am able to enable it on Database level with below SQL, but failed to enable on Table level.
    Use DatabaseName
    GO
    Exec sys.sp_cdc_enable_db 
    GO
    EXEC sys.sp_cdc_enable_table @source_schema = N'dbo',
                @source_name = N'TableName', @role_name = NULL
    GO
    Got Error like,
    'msg 22832, Level 16, State 1, Procedure sp_cdc_enable_table_internal, Line 623
    Could not update the metadata that indicates table [dbo].[TableName] is enabled for Change Data Capture. 
    The failure occurred when executing the command '[sys].[sp_cdc_add_job] @job_type = N'capture''. 
    The error returned was 22836: 'Could not update the metadata for database DatabaseName to indicate that a Change Data Capture job has been added. 
    The failure occurred when executing the command 'sp_add_jobstep_internal'. 
    The error returned was 14234: 'The specified '@server' is invalid (valid values are returned by sp_helpserver).'. 
    Use the action and error to determine the cause of the failure and resubmit the request.'. 
    Use the action and error to determine the cause of the failure and resubmit the request.'
    Would anyone help me to out of this?
    Thanks in advance..!!

    Related thread:
    http://social.technet.microsoft.com/Forums/sqlserver/en-US/fa0c2a52-63b5-4a39-9f35-fe6f0eb21d1d/change-data-capture-on-table?forum=sqldatawarehousing
    Make sure SQL Server Agent is running.
    Kalman Toth Database & OLAP Architect
    SQL Server 2014 Design & Programming
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • CDC synchronization - how to make it perform

    For synchronization between a transactional database and a data warehouse we've been using synchronous CDC. Performance is still somewhat an issue.
    The situation is as follows (simplified):
    EMP table. This is a large table (40 million + records) with a lot of mutations. The CDC log table contains about 3 million entries (records) each day, which are used to update the data warehouse. About 50% of the changes consists of updates.
    The data of the describer view looks something like
    operation$;empno;name
    I;1;John
    UU;1;John
    UN;2;John
    Since PK updates are allowed, all data manipulations needs to be processed to the data warehouse (to another EMP-like table). At this moment this is done via an old-fashioned for loop.
    Since PK updates are allowed (and an additional functional identifier is not an option at this point in time) the mutations need to be processed sequential. Is there a faster 'bulk' option to do just this?

    Maybe you can try something like this:
    MERGE INTO emp e
       USING (SELECT   cep1.operation$, cep1.empno, cep1.NAME,
                       TO_NUMBER (NULL) chg_empno, TO_CHAR (NULL) chg_name
                  FROM cdc_v_emp cep1
                 WHERE cep1.operation$ = 'I'
              UNION ALL
              SELECT   cep2.operation$, cep1.empno, cep1.NAME, cep2.empno,
                       cep2.NAME
                  FROM cdc_v_emp cep1, cdc_v_emp cep2
                 WHERE cep1.cscn$ = cep2.cscn$
                   AND cep1.rsid$ = cep2.rsid$
                   AND cep1.operation$ = 'UU'
                   AND cep2.operation$ = 'UN'
              ORDER BY cep1.cscn$, cep1.rsid$) c
       ON (e.empno = c.empno)
       WHEN MATCHED THEN
          UPDATE
             SET e.empno = c.chg_empno, e.NAME = c.chg_name
       WHEN NOT MATCHED THEN
          INSERT (e.empno, e.NAME)
          VALUES (c.empno, c.NAME);:)
    PS: Note that I changed the order (and name) of some columns in the "USING" query.
    .

  • How to ignore SDO_GEOMETRY but capture with CDC

    Hi,
    Is it possible to set up a table with an SDO_GEOMETRY for CDC, ignoring the SDO_GEOMETRY columns but capturing the remaining data?
    Im using ODI to deploy the CDC and underlying apply + capture processes, I've tried removing the column in question from the ODI metadata, so for all intents its ignored in any generated code (supplemental log groups etc) but my DBA_CAPTURE view is not surprisingly showing the following :
    "ORA-26744: STREAMS capture process "CDC$C_EBIZ_AR" does not support "DGDW_TEST"."HZ_LOCATIONS" because of the following reason:
    ORA-26783: Column data type not supported
    So can I somehow ignore the problem column but capture the rest ?
    Thanks in advance,
    Alastair

    Hi,
    First check whether the given object is supported by streams are not by querying DBA_STREAMS_UNSUPPORTED.
    If it is supported then we can set the negative rule to avoide the problematic column.
    Thanks and Regards,
    Satish.G.S
    http://gssdba.wordpress.com

  • Need helps with getting ODI CDC to work

    Hi, I'm new to ODI. I'm trying to get the ODI CDC to work and for now I'm only interested in seeing that the changes are captured correctly.
    I've set the d/b to archivelog mode and granted all the rights I can think of to the d/b user. I've defined the CDC in Consistent Mode for the model, defined the CDC for my tables, started the journal, etc.
    When I right-click on the table and do Change Data Capture/Journal Data... I get ORA-00904 Table or View not found (stack trace below)
    What is missing? Thanks for your assistance.
    See com.borland.dx.dataset.DataSetException error code: BASE+62
    com.borland.dx.dataset.DataSetException: Execution of query failed.
         at com.borland.dx.dataset.DataSetException.a(Unknown Source)
         at com.borland.dx.dataset.DataSetException.queryFailed(Unknown Source)
         at com.borland.dx.sql.dataset.QueryProvider.a(Unknown Source)
         at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source)
         at com.borland.dx.dataset.StorageDataSet.refresh(Unknown Source)
         at com.borland.dx.sql.dataset.QueryDataSet.refresh(Unknown Source)
         at com.sunopsis.graphical.frame.a.jb.dj(jb.java)
         at com.sunopsis.graphical.frame.a.jb.<init>(jb.java)
         at com.sunopsis.graphical.frame.a.jd.<init>(jd.java)
         at com.sunopsis.graphical.frame.a.je.<init>(je.java)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
         at java.lang.reflect.Constructor.newInstance(Unknown Source)
         at com.sunopsis.graphical.frame.bb.b(bb.java)
         at com.sunopsis.graphical.tools.utils.swingworker.v.call(v.java)
         at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
         at com.sunopsis.graphical.tools.utils.swingworker.l.run(l.java)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
         at java.lang.Thread.run(Unknown Source)
    Chained exception:
    java.sql.SQLException: ORA-00942: table or view does not exist
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:503)
         at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:965)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1051)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2984)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3026)
         at com.borland.dx.sql.dataset.o.f(Unknown Source)
         at com.borland.dx.sql.dataset.QueryProvider.e(Unknown Source)
         at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source)
         at com.borland.dx.dataset.StorageDataSet.refresh(Unknown Source)
         at com.borland.dx.sql.dataset.QueryDataSet.refresh(Unknown Source)
         at com.sunopsis.graphical.frame.a.jb.dj(jb.java)
         at com.sunopsis.graphical.frame.a.jb.<init>(jb.java)
         at com.sunopsis.graphical.frame.a.jd.<init>(jd.java)
         at com.sunopsis.graphical.frame.a.je.<init>(je.java)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
         at java.lang.reflect.Constructor.newInstance(Unknown Source)
         at com.sunopsis.graphical.frame.bb.b(bb.java)
         at com.sunopsis.graphical.tools.utils.swingworker.v.call(v.java)
         at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
         at com.sunopsis.graphical.tools.utils.swingworker.l.run(l.java)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
         at java.lang.Thread.run(Unknown Source)
    java.sql.SQLException: ORA-00942: table or view does not exist
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:503)
         at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:965)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1051)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2984)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3026)
         at com.borland.dx.sql.dataset.o.f(Unknown Source)
         at com.borland.dx.sql.dataset.QueryProvider.e(Unknown Source)
         at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source)
         at com.borland.dx.dataset.StorageDataSet.refresh(Unknown Source)
         at com.borland.dx.sql.dataset.QueryDataSet.refresh(Unknown Source)
         at com.sunopsis.graphical.frame.a.jb.dj(jb.java)
         at com.sunopsis.graphical.frame.a.jb.<init>(jb.java)
         at com.sunopsis.graphical.frame.a.jd.<init>(jd.java)
         at com.sunopsis.graphical.frame.a.je.<init>(je.java)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
         at java.lang.reflect.Constructor.newInstance(Unknown Source)
         at com.sunopsis.graphical.frame.bb.b(bb.java)
         at com.sunopsis.graphical.tools.utils.swingworker.v.call(v.java)
         at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
         at com.sunopsis.graphical.tools.utils.swingworker.l.run(l.java)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
         at java.lang.Thread.run(Unknown Source)

    Update...
    I traced it to the Start Journal step issue. The Operator shows that step 8 - Journalizing - xxxx - Create Change Set, produces Oracle error ORA-00600. What does this means? The SQL that it tries to execute is:
    ==============================================
    BEGIN
         DBMS_CDC_PUBLISH.CREATE_CHANGE_SET(
         change_set_name     => 'TID_SOURCE',
         description     => 'Sunopsis change set for model : TID_SOURCE',
         change_source_name     => 'HOTLOG_SOURCE',
         begin_date     => sysdate
    END;
    ==============================================
    The strack trace is as follows:
    600 : 60000 : java.sql.SQLException: ORA-00600: internal error code, arguments: [kcbgcur_9], [8388665], [23], [25165824], [8388608], [], [], []
    ORA-06512: at "SYS.DBMS_CAPTURE_ADM_INTERNAL", line 121
    ORA-06512: at line 1
    ORA-06512: at "SYS.DBMS_CDC_PUBLISH", line 560
    ORA-06512: at line 1
    java.sql.SQLException: ORA-00600: internal error code, arguments: [kcbgcur_9], [8388665], [23], [25165824], [8388608], [], [], []
    ORA-06512: at "SYS.DBMS_CAPTURE_ADM_INTERNAL", line 121
    ORA-06512: at line 1
    ORA-06512: at "SYS.DBMS_CDC_PUBLISH", line 560
    ORA-06512: at line 1
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:633)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1086)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2984)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3057)
         at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execStdOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)

  • Technical document for ORCL 9i CDC

    Hello,
    Where can our developers get technical documentation on using the 9i CDC in our custom application? Is there an OCI set for our apps to extract the CDC information?
    Thank you,
    Alex

    By CDC are you referring to Change Data Capture?
    If so, do a search on "Change Data Capture" at http://tahiti.oracle.com, where all the Oracle documentation lives, and you'll get plenty of information. The change data is exposed in a series of tables, so there's no special client-side API-- just querying the appropriate tables & views.
    Justin

  • Change Data Capture (CDC) now capturing default values

    Hi,
    I am using SQL Server 2012 and to me a part of data captured by CDC is not making sense.
    I have a table called 'Schema.Table1', and I enabled CDC on it by running 'sys.sp_cdc_enable_table'. I see that a table called 'cdc.Schema_Table1_CT' got created which now gets an entry when ever I Insert, Update or delete a record in the original table.
    Till this point every thing works fine.
    My original Table has a NOT NULL INT column called 'AuditTrackerUserID' with a default value of 1996. My application does not provides a value for this column, but because the column itself has a default value, records get inserted without error.
    When I try to execute the following Query I see multiple records with __$operation of 3 and 1.
    SELECT * from cdc.Schema_Table1_CT where AuditTrackerUserID IS NULL
    My expectation is that I should not ever see any record returned by this query because AuditTrackerUserID is a not null column, but I do.
    Can anyone please explain this behavior>
    -Vivek.

    Hi did in the right forum, no replies yet.
    For every expert, there is an equal and opposite expert. - Becker's Law
    My blog
    My TechNet articles

  • Change Data Capture (CDC) - Best Approach

    Hi,
    I am new to BODI and currently trying to design a change data capture approach.
    In other ETL tools i have used, the last session run timestamp is stored as a parameter and can be called within a mapping. So the mapping updates this parameter everytime it runs. Therefore when implementing CDC the load_date on the table has to be compared to this parameter.
    Is there a similar concept in BODI?
    I appreciate your help.
    Thanks
    Azeem

    Yes, there is such a concept, you have to build it yourself. e.g. https://wiki.sdn.sap.com:443/wiki/display/BOBJ/Inititialize-End+Script
    When you use a CDC enabled datastore however, the database wants to keep track of the data read, that's part of their CDC API. So it is not DI is querying all changes since yesterday, it is a "select * from CDC table" and the database returns just the rows since the last read. Push vs. Pull.

  • CDC and using OdiWaitForLogData

    Hello,
    I am trying to set up CDC through ODI by following the Rittmann ODI guide(An Introduction to Real Time Data Integration :http://www.oracle.com/technology/pub/articles/rittman-odi.html)
    I have had ODI go through and successfully do the CDC setup, if I poke around the source schema I can see the CDC views and I can see the change set that ODI created, on my source schema ( named CDC_SOURCE_PUB ), I can query
    select set_name, set_description, change_source_name, apply_name, queue_name, queue_table_name
    from change_sets
    where publisher = 'CDC_SOURCE_PUB';
    and it returns this record:
    Set Name q
    SAMS_INTEG_SOURCE     Sunopsis change set for model : SAMS_INTEG_SOURCE     HOTLOG_SOURCE     CDC$A_SAMS_INTEG_SOURCE     CDC$Q_SAMS_INTEG_SOU     CDC$T_SAMS_INTEG_SOU

    Hello,
    I am trying to set up CDC through ODI by following the Rittmann ODI guide(An Introduction to Real Time Data Integration :http://www.oracle.com/technology/pub/articles/rittman-odi.html)
    I have had ODI go through and successfully do the CDC setup, if I poke around the source schema I can see the CDC views and I can see the change set that ODI created, on my source schema ( named CDC_SOURCE_PUB ), I can query
    select set_name, set_description, change_source_name, apply_name, queue_name, queue_table_name
    from change_sets
    where publisher = 'CDC_SOURCE_PUB';
    and it returns this record:
    Set Name q
    SAMS_INTEG_SOURCE     Sunopsis change set for model : SAMS_INTEG_SOURCE     HOTLOG_SOURCE     CDC$A_SAMS_INTEG_SOURCE     CDC$Q_SAMS_INTEG_SOU     CDC$T_SAMS_INTEG_SOU

  • Can you explain what exactly cdc mean in data services......?

    Hello!
    I would like to know  what exactly change data capture (cdc) mean in data services......?

    Hi sudheer kore
    CDC is basically a technical term - Change data capture. We use a few approaches to work capture changed data during ETL process. This can be called incremental approach/ delta loading of data.
    Source Based CDC
    -Using a timestamp, date, datetime, or int column to uniquely identify the next "band" of rows to be loaded into the delta process in combination with a status table, global variable, and where clauses of the query transform. This is demonstrated in the Tutorial file provided with Data Services in the CDC chapter.
    -Using the Database native CDC functionality, available in Oracle, SQL Server and I believe Attunity
    Changes are replicated to change tables in the source, marked as insert/update/delete. Data Services can natively read these tables through the use of CDC Datastore objects and Map_CDC_Operation transform.
    Target Based CDC
    -Must be used if the methods above are not available. The Table_Comparison transform is capable of comparing all source records to the target table to determine if an INSERT or UPDATE is required for that row.
    Few links that would explain this better
    Source Versus Target Based Change Data Capture
    Map_CDC_Operation in Data Services
    http://sapsimplified.com/sap-bods/map-cdc-operation-transformation/
    Regards
    Anil Kumar Mehar G

Maybe you are looking for

  • How-To upgrade PI 1.4 -- 2.2?

    Hey Guys! Is there anyone who knows, if there is a How-To-document in the www that treats an upgrade from PI 1.4 to PI 2.2? I think I need a little help...

  • Jdev11 Tab selection and Enable User Customization on Session bug.

    When you have enabled User Customization for duration of session then what ever user changes on a page it remains the same through out the session, ie. Disclosed panel boxes, advanced query criteria, visible columns of tables in panel collections etc

  • Want to charge VAT on export order.

    Hi we are doing intercomanpy orders, the order are raised in Ireland, delivered from UK, they want to use the triangulation VAT, so we need to charge on the customer invoice at the current irish VAT rate 21% (even though this is an export order) the

  • Allocation error - Unable to communicate with the server

    Hello experts,   I am trying to run a simple allocation scenario in NW 7.5 sp3 version. Script logic: *RUNALLOCATION *FACTOR USING/TOTAL *DIM P_ACCT1 WHAT= CE0004010; WHERE=BAS(CE0004000); USING=CE0004030; TOTAL=<<< *DIM P_CC WHAT= US; WHERE=<<<; USI

  • Stack Exception

    Hi., =>I am using jdev11.1.5 =>I had created a view link between two tables fin_periods (EO) and apl_accts (VO) =>When i tried to navigate my page i am getting this exception Error: (oracle.jbo.TooManyObjectsException) JBO-25013: Too many objects mat