Witam drogich zainteresowanych,
ostatnio natknałem się na dość oczywisty, choć dopiero po przemyśleniu , przypadek.
Zgodnie z procedurą dodawania węzła do Multi-Master Replication w pierwszym kroku miałem za zadanie odtworzyć strukturę obiektów które będą replikowane. Do tego celu , pomyślałem , że najłatwiej użyć DataPump expdp w trybie exportu METADANYCH.
Stąd na maszynie źródłowej:
expdp system/oracle DIRECTORY=DATA_PUMP_DIR DUMPFILE=junit_t1.dmp CONTENT=METADATA_ONLY SCHEMAS=JUNI INCLUDE=TABLE,INDEX
A na maszynie docelowej :
impdp userid=system/oracle directory=DATA_PUMP_DIR dumpfile=junit_t1.dmp FULL=Y
Po wykonaniu kolejnych kroków przyszedł czas na wyrównanie danych przed włączeniem replikacji na nowym Master Site (zgodnie z oficjalną procedurą podczas dodawania tabeli replikowanej zawierającej klucz główny) :
Również do tego idealnie nadaje się narzędzie expdp w trybie DATA_ONLY , umożliwiając podanie SCN do którego chcemy uzyskać spójność danych (wymagane przy procedurze dodawania węzła bez wyciszania grupy replikacyjnej)
expdp system/oracle DIRECTORY=DATA_PUMP_DIR SCHEMAS=JUNI DUMPFILE=junit_scn.dmp CONTENT=data_only FLASHBACK_SCN=513950
Na maszynie docelowej:
impdp userid=system/oracle directory=DATA_PUMP_DIR dumpfile=junit_t1.dmp FULL=Y
I tu niespodzianka:
Starting “SYSTEM”.”SYS_IMPORT_FULL_01″: userid=system/******** directory=DATA_PUMP_DIR dumpfile=junit_t1s2
.dmp FULL=Y
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
ORA-31693: Table data object “JUNIT”.”BONUS” failed to load/unload and is being skipped due to error:
ORA-02291: integrity constraint (JUNIT.BONUS_SAL2_FK) violated – parent key not found
Przyzwyczajony, że podczas normalnych operacji exportu/importu używając narzędzi DataPump nie martwię się o CONSTRAINTY , byłem dość mocno zdziwiony … Czytaj dalej