Replication with only changed data?

We want to transfer changed data from Oracle to SQL server for Data Warehouse solution. It is one-way replication (from Oracle 10 g 2 to SQL server 2005). We are having about 100 tables that must be replicated with SQL server, but only changed(Insert,Update,Delete) data will be replicated.

Please let me know if you have any suggestions on how can I perform this replication and what tools I use.

Of course, the major challenge will identify changed lines. Assuming that you don't have a way to make his already (i.e. a LAST_UPDATED_DATE column in all tables, a table of audit, changes, etc.), Oracle provides a few different technologies to do this. For heterogeneous replication, I tend to focus on Oracle Change Data Capture (CDC), which publishes the changes in a table that your replication process can subscribe to. That also tends to be more conducive to the load of nightly standard an DW. You can also use Oracle Streams either using streams and heterogeneous services or by writing your own code to apply the XML representation of a CRL to the SQL Server database. If you need real-time data, it is probably the best solution, but for most applications of data warehouse, it is probably overkill.

Once you can identify changed lines, - hand replication logic coding usually isn't too difficult. You can spawn probably most among the definitions of table on both sides (assuming these definitions to match). If you want to go out and buy an ETL tool, there are probably tools who can subscribe to CDC and push the changes to SQL Server. Oracle Data Integrator (ODI) would be the tool I'd look at first like most likely to be able to do. There are also third-party (i.e. Golden Gate) that sell software that mines redo logs and applies changes to all databases, but which tends to be quite expensive and a bit complex to install / configure / administer.


Tags: Database

Similar Questions

  • A Mac mini, purchased in the UNITED Arab Emirates can be used in the USA with only change the power cord?

    A Mac mini, purchased in the UNITED Arab Emirates can be used in the USA with only change the power cord?


    the voltage may vary from 100-240 V AC.

  • streaming of netflix with only cell data

    Can I stream Netflix from my phone to the tv using only cell data. I have no internet service or wi - fi. I've got data unlimited phone data.

    zahk72 wrote:

    Can I stream Netflix from my phone to the tv using only cell data. I have no internet service or wi - fi. I've got data unlimited phone data.

    Good question to ask Netflix or look at their support site, based on the wifi experience is necessary.

  • Lightroom export - original file with the Lightroom change data

    Hello, Hello!

    I imported a file, for the sake of arguments, some JPEG files, TIFF and DND in Lightroom photos, leaving the files in place and just linking them to the library of the Lightroom Catalog. I then did a bunch of 'changes' to photos in Lightroom (the data of these changes are stored in the Lightroom catalog file, right?).

    Now can I export some of the photos from Lightroom so that the file that comes out is, in the same/different file format (e.g. JPEG/TIFF/DNG) and have the change Lightroom incorporated (perhaps in the EXIF data) data from the exported file? Can I then open it with a 'normal' program and have it show the original? Can I open it with Lightroom/Photoshop (?) so it shows the original with the change data applied?

    Thank you very much! :-))

    Now can I export some of the photos from Lightroom so that the file that comes out is, in the same/different file format (e.g. JPEG/TIFF/DNG) and have the change Lightroom incorporated (perhaps in the EXIF data) data from the exported file?

    Yes, but you must not export. Simply press Ctrl / Cmd + S to save metadata. the metadata will be incorporated into files. Note that the image will not be altered. In other words, if you view the jpeg format in an external viewer, you will not see adjustments made in Lightroom. Only Adobe products can interpred those.

    Can I then open it with a 'normal' program and have it show the original?


    Can I open it with Lightroom/Photoshop (?) so it shows the original with the change data applied?

    Yes. When you open in Photoshop, and it's a non - RAW (such as JPEG or TIFF) file, there is an option somewhere in Camera RAW to be used for the opening no-RAWs. The point is, those who must go through Camera RAW, instead opened directly in Photoshop, to correctly interpret metadata.

  • How can I get a screen with only nested handlers for scrolling?

    I have a single screen with only nested boxes that does not scroll. No fields or buttons, just displaying data.

    The funny thing is, the screen does not scroll at all.

    I tried a combination of:

                    | Manager.NO_HORIZONTAL_SCROLLBAR
                    | Manager.NO_HORIZONTAL_SCROLL);

    Any thoughts on why the screen is not Ahmed with only the data displayed?

    The screen does not scroll because he has no reason to scroll. BlackBerry auto-parchemins the field to receive the focus (or, more specifically, the focus of the field - field text rectangle has this rectangle around their position of slider, for example). There is no other mechanism of scrolling integrated for non touchscreen devices.

    If you have no Focus field, you can scroll through your Manager / screen programmatically with setHorizontalScroll() / setVerticalScroll(). Decide in what way is more acceptable to you.

    If you want to display some text (help screen?), put it in one (descendant of) TextField, FOCUSABLE and READONLY and let the user navigate through the text with the cursor. Remember - even if you can't change RichTextField, you can make it active and allow the user it work very well.

    Good luck!

  • My screen iphone6 is cracked and in my country, they can only change the iphone with a new one and with a very high price. Is there anyway that I could replace just the screen?

    My screen iphone6 is cracked and in my country, they can only change the iphone with a new one and with a very high price. Is there anyway that I could replace just the screen?

    No, if you want to keep all rights to the service or support from Apple. Not to mention the fact that it then will be bork Touch ID and make the phone unusable if ever, you restore or update of iOS.

    Apple doesn't sell parts of the iPhone. There is no legitimate sources for replacement screens.

  • Changing data in a tabular view with Oracle MAF


    I need to change data in the table view, which component you would recommend me?

    I use the "TABLE LAYOUT" component, but it is very uncomfortable when I try to change data on each row because it has lost focus on the selection.


    There is no component entry in table form in the CRG at this stage. The disadvantage - as you mentioned - the use of tabular layout with an iterator is that you must follow and set the current line in the link layer


  • Synchronization between two databases with only 2% of the data; Please help me

    Hi all

    I have two oracle databases in 2 different servers PROD and TEST instances. the two databases are in gr 10 2 in linux servers.

    My PROD database contains about 300 GB of data and is dedicated for production area.
    My Test database is dedicated to Spanish test for PROD database. (small server in terms of space and RAM comparing to PROD db)
    I would like to synchronize every week TEST db with PROD db with only 2% of the data and all the structures
    Could someone tell me, if you use a datapump export I can import only 2% of the amount of data and the structures ot theere is another way to do it?
    Thank you very much

    best regards,

    I'm not really sure what you're talking about. There is no option, expdp and impdp x % of the data, is that? And if Oracle can sovle repositories inetegrity (PK, FK), it cannot be assumed which tables are lookup table (to be entirely exported) and can not assume the logical data integrity.


  • PSD in lightroom, edited in lightroom. When the changed data ('Edit Original'), returns to lightroom with original lightroom edits lost


    It is a change, I've noticed since the upgrade to 2015 CC LR and PS 2015.

    My process usually looks like this:

    1) modify the RAW in lightroom (leave uncropped image)

    (2) with LR edits done, edit RAW file externally in Photohop (cloning, patching, etc.).

    (3) save PS edit, back to Lightroom to find new PSD alongside old RAW, with PS changes.

    (4) new DSP harvest at the end

    (5) fact

    Every now and then, I noticed that I forgot to do something in photoshop and bring back the PSD in the PS, choose when you are prompted to "modify the Original.

    Before the update LR and PS to the CC 2015 versions, I'd be able to do everything I wanted the PSD in PS, and when I got back to lightroom, LR would have kept the culture I had done in the PSD before resuming in photoshop (so I wouldn't have to redo a culture I can done in the PSD in step 4 above).

    Lately, since I've upgraded LR and PS to CC2015 I noticed that when I take a PSD already edited out of LR in the PS, he returned with the new PS made adjustments but the harvest of LR (step 4) are all lost, and I need to redo any cropping, I could have done.

    Is this a bug? Is it a setting I need to change? This is a feature that was simply lost in the latest versions of PS/LR?

    Any help?

    Thanks in advance


    I think I know what is different with my configuration of LR and what is the cause of the problem. I don't have 'include develop settings in metadata in JPEG and TIFF, PNG, PSD files"checked in the settings of my catalog? Do you have?

    I just tested this with "Including developing parameters in the metadata in JPEG, TIFF, PNG and PSD files" checked. Using "Manual" "save metadata to file" ("Automatically write changes into XMP" unchecked), I lose my LR changes when back and forth if I have not updated the metadata with the latest development changes. LR resembles returned PS 'Original Edition' file and bed in XMP changes rather than changes in the catalog. Even when you use "Automatically write changes into XMP" it mast be a delay in LR update metadata file with the latest changes to LR.

    If I do the new changes in LR to 'Edit in PS' TIFF and then try to do another edition in PS > edit the Original I get the following message below. If I choose "Settings Overwrite" TIFF opens in PS without the LR settings as expected. When the file is saved in the PS and returned to LR LR changes are applied.

    If you do not see the message below check "reset all warning dialog boxes" in LR preferences > general tab. It should be shaded below when all warnings are activated.

  • Where with to_date returns only the data a month

    SELECT col1, col2 FROM bill WHERE
    trunc (TO_DATE(time_stamp, 'yyyy/mm/dd HH:MI:SS AM') = trunc (TO_DATE('2012/01','yyyy/mm');

    This only returns data for the first day of the month data and the need for a month.

    user2002208 wrote:
    Tank (14) and the sample data 20120204103342 and 20120204152550

    IMPERFECT, not professional & fully amateur 'design '!

    NEVER store DATE in the column of type CHAR, VARCHAR2 or NUMBER!

    SELECT col1, col2 FROM bill WHERE substr (time_stamp, 1, 6) = '201201';

  • Is it possible to change data in a cell 'mirror' + RESEARCH questions?

    Hi all!

    The idea is the following:

    I have an accounting base numbers document implemented that automates the process of encoding of individual invoices, clients, with their price + coupons service announcements and summarizes the accounting.

    Information boards is implemented for individual receipts, or a nicer individual record to customer research with the research

    That's where I met 3 barriers:

    (1) I was wondering if it was possible for a field in one datasheet to other mirrored? :

    -L' idea is NOT to have a simple '= A$ $1 ' or ' = LOOKUP (REF., range, content) not allowing editing. "

    -It is a cell on A page SHARE the SAME content in another cell in the spreadsheet b: change in the sheet A or B would automatically change the field of mirror in the other sheet. It would be a very neatly to create a form for the encoding of the data! Somehow, I have my doubts about what is a feature of the numbers, but I was wondering if anyone knew a workaround? In other words: a field at several places.

    (2) instead of a SEARCH function that the problem of data modified in the original table (example: a Bills (past) sheet being affected by changes made to a price list): is there an equivalent of 'paste values' to that?

    (3) I have a 'General' Journal (and a table) to display financial data from my "bills", but the info is basically just a table with the "' values sought my table"bills ". It works very well with the "auto-fill" when I manually adjust the size of the table, as the invoice automatically filled when increasing the size of the table. I was wondering if there was a) an easier way to do what I know and b) a way for the "accounting" array to dynamically adjust its size according to the number of invoices (same result as one)).

    ANY help is greatly appreciated!


    Hi Christian,

    Brief answers to three questions:

    1. # Research reports are always a sense - entered into a data cell can be collected by a formula in a cell of the second, but the data entered into the second cell will not create a change in the first cell. A cell can contain a "fixed" value, which can be changed manually in this cell, or it may contain a formula that combines the data of one or more other cells and eventually made some calculations before displaying the result.
      A cell that contains a formula of edition replaces the formula with the data entered.
    2. The formulas are always "live". If the result of the formula is based on data specific to a cell, then a change in the data (e.g. a price) in this cell will change the result calculated by the formula and displayed in the cell. The result can be 'fixed' (made to the remain the same, not "fixed") using values of dough (renamed paste formula results), but this can be done by using a formula.
    3. Size (number of rows) of the table 'accounting' (or ' table on the "journal") can not be adjusted automatically depending on the size (number of rows) of the table "bills". In the "accounts" table formulas are automatically added as every cell in the column of the first row header not the above one row being added contains the same formula. Replacing any copy of this formula with the calculated results by that copy breaks the chain and the formula prevents fill automatically new lines added at the end of the table.

    Some general considerations:

    All data should be entered only once.

    Data entry must be separated from the calculation to avoid the accidental destruction of the formulas.

    Data 'Immutable' (eg. current prices, data on clients) may be imposed and looked up from lookup tables.

    This has the potential of growth to a large set of data. Numbers are known to slow down considerably with the large data sets (and 'big' happens quite quickly).

    With regard to price changes:

    Use the INDEX and MATCH the prices of research allowed the transaction date to control the INDEX column will return a price. Each price change (or set of price changes) is entered in a new column, marked with the data hence these prices are in effect. Price unchanged compared to the previous date of change should also be included in the new column.

    Kind regards


  • problem with the backup data in text file


    The problem I am facing wihile, saving the data in the text file is that everytime when I'm slecting the path of the façade, data that are recorded are added with the previous data, not only in the new text, the new data set is saved but also, is there any previuos run for the program , the corresponding data is also present in this text file.

    However, when I change the same ''(file path) to 'constant' in the control block diagram, and then add the path of the file, it doesn't have this problem. Basically, changing the "file path" constant in the diagram of control block (so that it is displayed in the front panel) is at the origin of the problem.

    Help, please!

    Thank you

    Your shift on the loop Register For is not initialized. It will keep the value of the string since the last time that he performed. That initialize and it should solve your problem.

  • How Golden Gate will use change data Capture (CDC) in SQLserver2008R2

    How Golden Gate will use change data Capture (CDC) in SQL server 2008 R2. How much space it will occupy for each table when it erases the data and what will be the retention period for the tables of the CDC.

    So, here's what happens next. Normally, when a tranlog backup occurs, SQL Server may decide to release the tranlog space after the backup of the log, for transactions that have been committed and saved.

    When you activate a form any replication, like with OGG and allowing TRANDATA, you need to eat this truncation periodically. So with your configuration, even if the log backup occurs over 15 minutes, data in the journal are not allowed to be released after the log backup until the log backup that occurs after the 4th consecutive time of work.

    It is fine if you are not concerned about the lack of free newspaper in 4 hours. Just something to keep in mind.

  • Indexes on columns with only "Y" and "n".

    Our transaction table has about 100 mn lines. Of these latter on 60 minutes the lines are not actively used.

    We have composite index on multiple columns, including dates, and these are used to regular queries.

    Will be adding a status = 'y' or ' don't column and the creation of an index on this column is useful to increase the performance of the query?

    For example, will add a condition like

    OÙ......... AND ACTIVE_FLAG = 'Y '.

    help increase the performance of queries?

    Creating such a column and adding a help index?
    What type of clue do you recommend?

    The alternative advocated by some members of the staff is the archiving of INACTIVE lines in a separate table. This will have a big impact on business processes. But we might be able to pull it off.

    Is there another solution.

    I am a beginner full performance although I am familiar with PL/SQL and queries.
    I'm on the constraints of very tight timetable for the first level of back. I'll have more time as soon as I know the direction in which to go.

    Forgive me if I broke a tag forum. I'm new on the forum too.

    Thanks for providing this information. This gives a much clearer picture of what you are facing.

    I will try to give you my answer your questions afterwards.

    You have indicated your data volumes have steadily increased and performance made that decline.
    Even if you do not say (I forgot to ask) but it may be that the number of users increases as and.
    so typical, many users use the system of the time.

    For me it's indicative of a systemic problem. In other words, the problem is not due to a
    a thing or a part of the system.

    There are two main components of a server: the instance and the database. This link sums up the difference
    between the two - and here is a link to recent forum
    for reference Re: difference between Oracle Instance and Database.

    To paraphrase, an instance includes background processes and structures of memory (SGA, PGA, etc.)
    Oracle uses.

    The symptoms you describe could mean that your instance is more configured size not set correctly
    for your current workload are originally strain throughout the system. Maybe the memory is too limited.
    Maybe your sorts are growing with addional data.

    I suggest that you start the new thread to ask for help in the evaluation and optimization of your instance. Use this
    as a starting point:
    Question/title - how to evaluate the State of health / instance and tune

    Our facility has a problem of increasing return.

    How can we collect and provide assessment of workload and configuration information, so you can help determine
    possible solutions such as: memory sizing, temp and segment again sizing, sort the issue.

    Statement of the problem
    1 oracle Version is? ?. ?. ?

    2. gradually return was degrading with more and more data. The UI response suffers and
    batch processing is also in hours. We expect volumes to only continue to grow.

    3. the volumes have continued to increase over the years and gradually performance issues
    accumulate over the past 2 years. Data volumes began to increase faster
    last year 1 due to changes in the company.

    4. the data in OLTP system is a combination of assets of 40% and 60% relatively inactive (financial history).

    5. a complete system near-live replecation on several sites. In my opinion, using streams.

    6. notice of the tech team is a few tables have too many lines. We know that our demands can be suboptimal.


    Now to your question:
    1. I do not know the index on the existing columns are not fully exploited. In the meantime can but, we still get some benefits from adding
    a 'Y' and the null column? What will be improved?

    It is unlikely the benefits you need. It's putting the cart before the horse. The first step is to identify a specific problem.
    Only then can examine you and evaluate solutions. for example by adding a new column or index.

    There are several reasons, this isn't the right solution; certainly not at the moment
    A. any new column and index, BY DEFINITION, maybe even this does not use except if one or more current
    queries are changed. This is obvious since no existing query could possibly refer to a column that does not exist.

    (B) to try to obtain the Oracle to use the new index column / single lease request must be changed.

    C. in my opinion, you should never modify a query of production without knowing which allows to obtain the amendment
    a well-defined objective. You must evaluate the current execution plan to identify what changes, IF ANY,
    can improve performance.

    D. it can be and given your systemic problem is likely to be, some ripe fruit on the performance. That
    is that there may be ways to tune the query to use existing indexes or add a new index on an existing column
    improve things.

    E. assuming that none of the above does the work adding a new column and an index to identify
    a 40/60 split (40% of assets) is unlikely to be used by Oracle (see response of Centinui).

    2. notes that this calculation 'Y' is not negligible. I can easily reproduce this with a WHERE condition on the existing columns. We can have
    to run a batch on the weekend to check row groups and mark them as 'Y '. So it is not only the advantage of indexing on 'Y', but also some benefits of prior calculation.
    Given this info doing now more logic to have a 'Y' and the null column?
    My answer is no – there is no sense to have a Y/N Y/NULL column.

    A. certainly not for reasons of performance - as noted above above it is unlikely help

    Certainly not for commercial reasons.
    The calculation of your "non-trivial" is to demonstrate a business rule: identify groups of lines that have earned.
    If you perform this calculation, the result must be saved significantly. One way is to create a new
    column called 'DATE_NETTED_OUT '. This column name have meanings, and can be used as a boolean DATE/NULL type. This
    It would be much better that Y/NULL which is not really enter the business sense of the value.

    3 partitioning speed up queries on the minutes 40 active and slow queries on the full 100 minutes?
    Probably not to have one influence on the other. Allocation decisions are usually made to ensure easier data management and often
    have little, if any, a performance impact. All existing applications are unlikely to accomplish the any
    differently just because the table is partitioned. There are exceptions of course. If you partition on DATE
    and an existing query has a DATE filter, but there is no index on the DATE column, it will do a full table scan
    of the whole picture. If the table is partitioned on this DATE column that oracle would probably make a partition full
    Scan just the 40% or 60% of the table according to the value DATE. It would be so much faster.

    But if there is already an index on the column DATE I do not expect the performance to change much. It comes
    just speculation since it is based on data, the factor of grouping the data, and the existing queries.

    1. I still need to a particular column of partion, I do not?
    Yes, you do. Unless you use HASH Partitioning that don't really benefit your use case. You too
    says that "...". staff advocate is the archiving of INACTIVE lines in a separate table "."
    Partitioning can be used as part of this strategy. Partition by MONTH or by QUARTER on your
    new column "DATE_NETTED_OUT." Keep 1 or 2 years of data online as you do now and when a partition
    becomes more than 2 years you can 'transport' it to your archiving system. This is part of the partition
    management, which I mentioned earlier. You can simply disconnect the oldest partition and copy it to archive.
    This will not affect your applications other than the data not being is not available.

    2. "adds a column' or ' cut-and - paste lines of table created by copy" the worst idea?
    I don't know what that means.


    It is premature to consider alternatives until you know what the problems are. Only then you can try to
    determine the applicable solutions.

    I do it in this order:

    1. upgrading to a newer version of Oracle you are on an older (you said 9i which is not
    longer supported)

    2 assess the health and configuration of your instance. You may be able to significantly improve things
    by adjusting the parameters of configuration and instance. Post a new question, as previously mentioned. I don't
    have the expertise to advise you in details on that and the gurus tuning of the Forum the Forum can
    not to notice this thread (indexes on columns with only 'Y' and 'n') than even know you need help.

    3. identify the ripe fruits for performance problems. Is this one of your batch process? An individual
    request? You mentioned UI soon - that could be a problem of front end, middle tier or application
    not a database one.

    4. don't it make changes architecture (add columns) until you have tried everything first.

  • How to change data objects and update the corresponding task and task forms?

    Hi all

    I modified this thread because I found that I had many questions to ask.

    I'm quite new to OBPM and would like to know how to change data - for clarity objects add a new attribute "Dependents of the Client" "Customer care" - and therefore update the task that uses the 'customer information' what makes via data binding - I get an error message here - or via the data about the data Task-The chosen tab it does not appear to be linked to my approach in some sort.

    Will be the task form that I generated earlier in < 1 > update automatically? Is it possible to update manually if the task has been clearly customized?

    What are the objects of project data? They do not store values in my process. They are for the arguments only - like reusable process?

    Thanks in advance,

    Kind regards


    Hi Yanius,

    (1) assume that you start from scratch. First, you declare your data object structure. To do this, you must go to the BPM project Naviagtor, right-click on 'Catalogue of trades' and create a new Module. Then you can right click on the module you created and select the new object of trade. Add all the attributes you need. It is the same to declare a class in Java. Second, you must declare a variable of the type process you have created: select the process, go to the Structure display (if you don't go and activate it in menu view Jdev-> Structure). Right click on the Process data object and create your variable. It's like setting a variable in Java. In short, answering your question, make the path opposite: find in your process of type "Customer Details", then go to your catalog Business, right click and change the definition to add what you need.

    (2) the human task will not update automatically (annoying). If you change the object itself, so you don't need to change your mappings because actually there the same object you are through the task as in / out argument. There are two things here: the human task and form associated with it (where probably change you the subject i.e. customer details). Go to the form (.jspx) - click on the tab links (by default, you are in the Design). In the links page, there is a link on top: "Page Définition File" (something like proj/pageDef/...xml). Open the XML file and go to the source. There you can add manually now all the attributes you need and that were not available before (i.e. dependent Client). It's a little complicated, but at least you don't have to recreate it. particularly useful if you have already implemented and subsequently form, you need to add more things (business is very good to say otherwise, "I would like to see something else in the form" ;)

    (3) project data objects are visible by all processes that you have in the project rather than the object of process data that are visible only to the method where you set the variable to. This means that you declare an object of data of the project once and then it will be available to all processes. Keep in mind that each process has a copy of it. In other words, it is not like a global variable that everyone sees. If edit you in a single process, other processes will not see the new value.

    I hope that I have answered your questions.
    See you soon,.

Maybe you are looking for