3

In our system we have a running advanced replication between two databases(11g release 2) and want to use pump import to import a backup on one site. However the imported data is not replicated to the other site. All following changes get replicated as usual.

Edit for calification: Replication is active and both sites have the same data. I then import something into the primary site. These imported changes are NOT replicated. The second site still has the "pre-import" data. When something in the primary site changes after the import, these changes get still replicated. So the replication itself is still active. The pump import seems not to trigger the replication of the imported data.

I could not find anything about this in the oracle documentation. Is it even supported or is there something missing from our import and export commands?

expdp <connection data> dumpfile='xyz.dmp' SCHEMAS=XYZ EXCLUDE=USER NOLOGFILE=Y REUSE_DUMPFILES=Y

impdp <connection data> DUMPFILE='xyz.dmp' NOLOGFILE=y IGNORE=y INCLUDE=table_data TABLE_EXISTS_ACTION=skip
  • For clarity - are you saying that you want it so that the import happens on the first but not the second site? Or that you've tried the import on the primary and you're finding that the changes are not being replicated? It's not clear. – Phil Sumner Nov 28 '14 at 11:27
  • The second case. The imported data does not get replicated. – MatF Nov 28 '14 at 11:52
  • 1
    Do you have force logging enabled? Datapump will/may use direct path inserts, which bypass the normal redo creation process. Must say that I don't know much about replication, but I assume it mines the redo stream for changes. – Phil Sumner Nov 28 '14 at 12:01
  • From where do you import. What do you mean by import a backup? – miracle173 Nov 28 '14 at 15:57
  • We tried with force logging enabled but the DB seems to be hanging after the import. Afaik the advanced replication does not use streams. – MatF Dec 1 '14 at 8:19
1

Basically Advanced Replication works with materialized views, materialized view logs and triggers. To replicate data from one side to another, you need to have INSERT, UPDATE or DELETE statements to make the replication mechanism recognize that there is new/changed data. When you import data with direct path method you skip all this stuff. This means you need conventional path method to import data.

DataPump chooses the method by itself on a set of conditions. These conditions can be found here: http://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_overview.htm#SUTIL804

I'm not 100% sure which method is being used in your case but i doubt that it is conventional path.

Oracle does not tell how to force conventional path method but you could try to import the data with the old imp utility. When the export is done with DIRECT=N the imp should be done in conventional method.

Maybe someone else has experiences with Advanced Replication and DataPump. My experiences are limited since Oracle pushes Golden Gate as the future replication technology.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.