Oracle CDC - Incorrect data in change tables

We are using Asynchronous autolog online CDC and the performance has been pretty good so far.
However, recently we have encountered an issue where there are a couple of invalid records in one of the change tables.
The change table seems to have update transactions on a record that had no updates made to it. In fact the updated records in the change table indicate a primary key that does not exist on the source table. Has anyone encountered a similar issue ? the data that has been brought over on one of the number columns is something like
xm<<1123.
gk

Thanks Justin. On digging further into metalink I found another bug 6454634 which appears to be similar. Both this and the bug mentioned by you are fixed in 10.2.0.4 patch 14. I will follow up further.

Similar Messages

  • Oracle CDC Not able Drop change table

    Hi ,
    we are trying to execute "DROP_CHANGE_TABLE" prcoedure inorder to drop the change table, However we are stuck with below error
    ORA-06550: line , column :
    ORA-06512: at "SYS.DBMS_CDC_PUBLISH", line 1014
    ORA-06512: at line 1
    06550. 00000 -  "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:
    exec DBMS_CDC_PUBLISH.DROP_CHANGE_TABLE ('SCHEMA_NAME' , 'TABLE_NAME', 'Y');
    Can someone please let me know what could cause this issue?

    Some of the CDC settings were corrupted we had to delete the data from the dictionary tables and then create the change sets and change tables again.

  • CDC - How to configure when to insert changed data in Change Tables

    Hi!
    I have the following situation: I need to capture changes from some source tables only when some columns of interest changed, not when any data from those tables changed.
    Is there a way to confidure that in CDC? I use Synchronous Publishing.
    Thank you in advance!

    What you can do is set up CDC to record both the before (UO) en after (UN) image of the updated row and then filter out the rows that have different before and after values for the columns that you want to check on.
    See e.g. http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/cdc.htm#i1025616, step 4, capture_values=>both. You can even delete rows from the change table directly, before consuming the change set result from the subscriber view.
    Best regards, Erik Ykema

  • Change Data Capture,Change Tables

    Hi,
    We installed Change Data Capture in our DB (10gR2),however there is a problem with change tables.Change tables are being cleaned somehow.According to text quoted below,the job which is cleaning change tables is cdc$_default_purge_job.However
    select log_date
    +, job_name+
    +, status+
    from dba_scheduler_job_log
    where job_name='CDC$_DEFAULT_PURGE_JOB';
    results no data. Also this morning i came across that data cleansing again, and run the query below.And again no result.
    select job_name
    +, session_id+
    +, running_instance+
    +, elapsed_time+
    +, cpu_used+
    from dba_scheduler_running_jobs;
    /*We didn't even use DBMS_SCHEDULER.SET_ATTRIBUTE procedure so far*/
    What is cleaning change tables and how can i control it?
    Tnx in advance
    Quotation:
    Change Data Capture creates a purge job using the
    DBMS_SCHEDULER package (which runs under the account of the publisher who created the first change table). This purge job calls the
    DBMS_CDC_PUBLISH.PURGE procedure to remove data that subscribers are no longer using from the change tables. This job has the name
    cdc$_default_purge_job. By default, this job runs every 24 hours. You can change the schedule of this job using
    DBMS_SCHEDULER.SET_ATTRIBUTE and set the
    repeat_interval attribute. You can verify or modify any other attributes with the
    DBMS_SCHEDULER package.

    Setting up CDC is a fairly complex process with different options. Setting just the filter in OWB is only a very small part.
    There is a blog post below on how to use code templates to do CDC which gives some insight;
    http://www.rittmanmead.com/2009/10/changed-data-capture-and-owb11gr2/
    Plus and older one illustrating how to use Oracle logs;
    http://www.rittmanmead.com/2006/04/asynchronous-hotlog-distributed-change-data-capture-and-owb-paris/
    Cheers
    David

  • Oracle CDC not capturing the changes

    Hi,
    I am pretty new to using Oracle CDC, we have setup Hot log (Async) Oracle CDC.
    Change Tables are created in one schema (Schema A) and change views are created in another schema (Schema B)
    Recently we added new set of tables (Around 300 new tables)  to the existing change set, from this point the change capture stopped working.
    All the steps like extend , Purge excutes without any errors but no data is getting populated in change views in Schema B reason beign change data is not getting populated in change  tables ?
    Can someone please suggest how can i resolve this issue?
    Thanks for your help.

    Hi again,
    Can you please give grand : execute_catalog_role" and the "DBA" roles to the user 
    And : give grant
    select any transaction
    select any table
    select on sys.v_$database
    select on sys.v_$logmnr_contents
    select on sys.v_$logmnr_dictionary
    select on sys.v_$logmnr_logfile
    select on sys.v_$logmnr_logs
    select on sys.v_$logmnr_parameters
    select on sys.v_$logmnr_session
    select on sys.v_$logmnr_transaction
    select on sys.v_$log
    select on sys.v_$logfile
    select on sys.v_$archived_log
    Thank you

  • Can a block in Oracle contain rows/data from multiple tables?

    Hi during my discussion with one of the DBAs, a point came up i.e. A block shouldn't have rows from multiple tables...
    Is that true? I read in one of the OTN thread (i don't exactly remember the thread name) that a block can have data from multiple tables. If it doesn't have, what's the table directory in block signifies?
    Please share your views.
    Thanks,
    CSM

    CSM.DBA wrote:
    Hi,
    As per the above link,
    Table directory
    For a heap-organized table, this directory contains metadata about tables whose rows are stored in this block. Multiple tables can store rows in the same block. (Logical Storage Structures)
    And by default Oracle creates heap organized tables only.(heap-organized table: A table in which the data rows are stored in no particular order on disk. By default, CREATE TABLE creates a heap-organized table.) (Glossary)
    So I can say a block can contain rows from multiple tables. Isn't it?
    CSM
    See Logical Storage Structures
    Given:  A segment is a set of extents allocated for a specific database object, such as a table.
    Given:  An extent is a set of logically contiguous data blocks

  • Oracle cdc change table column - cscn vs rsid

    Hi all,
    I am not able to understand the differences between the CSCN field vs the RSID field. Looking up internet guides it said:
    RSID is the Unique row sequence ID within this transaction.  The RSID$ column reflects an operation's capture order within a transaction, but not across transactions. The publisher cannot use the RSID$ column value by itself to order committed operations across transactions; it must be used in conjunction with the CSCN$ column value.
    Can anyone explain to me in simplier terms what the CSCN field stand for? Also, why cant we use the timestamp$ field to order the operations?
    Also, for a row in the change table, are we able to determine which column in the row changed first?
    Edited by: user8915380 on 04-May-2010 03:22

    Hi,
    you can wait for 11gR2 with CDC integration or build most of the code outside the owb. To use CDC you must do this things (http://www.oracle.com/technology/oramag/oracle/03-nov/o63tech_bi.html):
    1. Identify the source tables.
    2. Set up a publisher.
    3. Create change tables.
    4. Set up a subscriber.
    5. Subscribe to the source tables, and activate the subscription.
    6. Set up the CDC window.
    7. Prepare a subscriber view.
    8. Access data from the change tables.
    9. Drop the subscriber view, and purge the CDC window.
    10. Repeat steps 6 through 9 to see new data.
    You can do only a few of this inside owb, most of it must be done outside.
    Regards,
    Detlef

  • 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

  • Error while creating publisher change tables in CDC

    Hi,
    I am implementing Change Data Capture. I got getting following error while creating publisher change tables in Staging database. My database version is 10.2.0.2.0 .
    I appreciate your help.
    ERROR at line 1:
    ORA-29540: class oracle/CDC/PublishApi does not exist
    ORA-06512: at "SYS.DBMS_CDC_PUBLISH", line 611
    ORA-06512: at line 2
    Thanks,
    Venkat.

    This problem got fixed when I ran below script!!
    @$ORACLE_HOME/rdbms/admin/initcdc.sql;

  • Change data capture-staging table

    hi,
    while using change data capture in oracle 11g,r2.I used source table and target table in the mapping.[ both source and target are oracle].
    Do i have to use staging table for the mapping ,instead of target table.??
    if yes, then where and how do i create a staging table and put it in the code template mapping.
    Do i have to enable cdc in property editor for both the source and target tables?

    Could you explain your requirement?
    Where does change take place?

  • How to run insert/update/delete from CDC Change table to target using OWB

    I am planning to set up CDC and publish CDC change table as source data into to OWB. I have come across where I am confused how to apply changes from CDC change table to target database using OWB. For i.e. change tables is containing information like
    operation$, cscn$,commit_timestamp$,xidusn$,....,list of column name
    D,12323223,8/28/2008 1:44:32PM,24,.....,list of column value that have to be deleted from target
    UO,12323224,8/28/2008 1:45:23PM,24,.....,list of column value that have to be updated in target.
    Please advice or give me some hint. Thank you.

    Hi,
    you can wait for 11gR2 with CDC integration or build most of the code outside the owb. To use CDC you must do this things (http://www.oracle.com/technology/oramag/oracle/03-nov/o63tech_bi.html):
    1. Identify the source tables.
    2. Set up a publisher.
    3. Create change tables.
    4. Set up a subscriber.
    5. Subscribe to the source tables, and activate the subscription.
    6. Set up the CDC window.
    7. Prepare a subscriber view.
    8. Access data from the change tables.
    9. Drop the subscriber view, and purge the CDC window.
    10. Repeat steps 6 through 9 to see new data.
    You can do only a few of this inside owb, most of it must be done outside.
    Regards,
    Detlef

  • Data in the table changes when multiple users try to submit data

    I have a dynamic table. The table is created in the wdDoModifyView. The user can load data into the table from an excel file. So I have a "Load" button that loads the data from the selected excel file to the table. I also have a "Submit" button. This "Submit" button converts the data to an xml file and make a call to an oracle stored procedure for validation check. If there's an error it will be returned and displayed to the user. If none, a summary of data for posting will be displayed to the user. If the data is correct and the user hit the ok button, the same data will be return to oracle sp for loading in the table.
    The problem we encountered is when multiple users are loading and submitting at the same time, the data displayed in the dynamic tables changes after clicking the ok button. It is as if, the table displays the data being loaded by other user.
    This is an error that is difficult to recreate. This doesn't happen all the time. I hope you somebody could enlighten me why this is happening. I'm not sure if it has something to do with multithreading or session.
    Edited by: Marlyn Agco on Apr 14, 2009 3:57 PM

    Hi Armin,
    Did you mean storing view instances in static references and accessing them outside the wdDoModifyView is not a good idea? In wdDoInit the nodes are dynamically created according to the xml file being returned by the database. This node is stored in a static variable which is also used in wdDoModifyView to create the dynamic table.
    What do you suggest? We're still encountering same issue when multiple users are uploading data.

  • How to verify that the user has changed table row data before db update

    Hi all,
    Iam using Oracle ADF with EJBs.
    I have a single selection table that displays rows of data returned from a function of my data control.
    The columns of my table are editable so that the user can change the data. The user selects a row, changes the data in one or more columns of the row and saves the data by means of a submit button. The code in the submit button, identifies the row of the corresponding iterator that the user clicked on and updates the data in the database (using the 'mergeEntity' function of the EntityManager)
    Before saving the data, I want to put some logic to check whether the user has actually changed some data to avoid unnecessary updates in the database . But for this I need a technique to detect that the user has indeed changed some data in the table row.
    One technique I have been using so far was to isolate the iterator row of the table and then query the corresponding row in the database table and compare their values.
    Except from dummy, this technique is not efficient if the table contains many rows.
    Moreover, in my case I have observed that on successive updates on the same row , the query on the database returns the new values (user changed values) and not the actual values contained in the database table. This means that when the user updates an iterator row the cached data affect also the results of the SELECT statement from the actual database table!!! Isn't this strange ?
    Can somebody propose me a neat method to detect when the user has changed the the data of an iterator row ?

    Hey Alan,
    The below solution seems overly complicated to me and can not be implemented without a custom screen and/or the use of JavaScript. Also, if your main concern is that a user may accidentally loose all their data because they closed the browser window or the session times out before they hit the save button then this solution does not help you.
    There are a couple of simpler approaches you can take here:
    # If the use of JavaScript is permissible you can hook into the windows 'onUnload' event, and pop-up a message box which gives the user the opportunity to cancel closing the window and save their case if they haven't already.
    # Implement an autosave feature by hooking into one of events provided by web determinations. A simple (but rather naive) way of doing this would be to hook into the OnRenderScreenEvent and call save on the interview session every time the event fires. This guarantees that all the data the user has submitted will aways automatically be saved, thereby removing the need to make sure the user manually saves their data before closing the browser.
    Automatically making Web Determinations close a browser window has to be done using JavaScript. However, doing so means that a) it won't work for people who turn off JavaScript, which is commonly done for accessibility reasons b) you'll likely run afoul of the browser's security mechanism (they generally won't let you close a window that you didn't open and some really don't like you doing that at all).
    Thanks,
    Kristy

  • How to select data of sap tables through oracle backend

    I need to fetch the data from oracle Backend for SAP tables. I am new to this and don't know how to work in this manner, so can you please tell me step-by-step procedure for the same.
    Can you please help me, and can suggest for teh solution.
    Rgds, Krishan Raheja.

    > However, at my customer site they have some legacy systems which fetch data from SAP tables of the central ECC prod system using dblinks. Of course we have restricted the access to that user giving only select access. But still I think this is a major security concern. But is there any other way of doing it?
    Well, the legacy systems you mentioned should use a proper data interface instead of direct data structure (e.g. table) access instead.
    Something like RFC-calls for example.
    Or a XI-connector.
    Or a Web-Service.
    Or ... or ... or ...
    There are in fact many options.
    Just acessing the tables is by far the worst option to go.
    At the very least, I'd use views to ensure that only the required data is visible via this dblink and that the access structure (that is, how the views look like) remain the same, even if the SAP application changes in the background.
    Even better would be to provide PL/SQL access procedures.
    That way the legacy application could use a procedure call and wouldn't have to deal with the SAP table design.
    regards,
    Lars

  • How to backup flashback data archive enabled tables -oracle 11g?

    1) Whether the flashback data archive can be backed up using the following options in oracle? Any pointer from the documentation would be much appreciated.
         RMAN
         Data pump
    2) How to move the flashback data archive table from one database to another? The reason why I am asking this question is that the history data for flashback data archive table is managed by undo tablespace. In this case, if I simply export the flashback data archive enabled tables to another database, will I able to view the history information?
    Regards,
    Richard

    Hi Morgan,
    Thanks for your response. Our intention is that to configure the total recall feature in the reporting instance for historical data view. Let's say , we are mining the changed data from the OLTP instance to reporting instance via logical standby. In this case, the history data will be maintained in the reporting instance?
    Regards,
    Richard

Maybe you are looking for

  • Import from Aperture not working - Import Button Disabled?

    Hi I am trying to migrate my Aperture library to Lightroom 5.7.1 I open Lightroom and start the plug-in. It "thinks" for a while then stops; the Import button is disabled. I put a screenshot below. It is in Portuguese but you can see the Aperture Lib

  • Export and Import Users in UCM

    Hi, Does anyone know how to move all users, alias and role definitions from one ucm to another ucm? Thanks.

  • Cant boot after upgrade with conflicts

    hi always when i install arch and do: pacman -Syu i have error: failed to comit transaction (conflicting files) without that upgrade i cant install desktop manager so i try: pacman -Syuf pacman -Sc pacman -Syu and it finish upgrade without errors but

  • FMW MapViewer 10133 for WebLogic Server posted on OTN

    http://www.oracle.com/technology/software/products/mapviewer/index.html

  • Firewall is blocking iPad internet access

    Hello, my iPad is connected to the internet via WiFi and a DSL-Router/Modem with a build-in firewall. Unfortunately, some of the applications on the iPad have problems going through the firewall, e.g. Facetime, all of my configured EMail-Accounts or