konto usunięte

Temat: expdp/impdp zagwozdka

Migrowałem jeden schemat z 10g do 11gR2 i w trakcie potrzebowałem na chwilę włączyć listener. Jeden taki północny marek zdążył się zalogować i dorzucił parę rekordów a niestety eksport szedł już dłuższą chwilę i to bez opcji flashback_scn. Okazało się dziś, że w jednej z tabel trzeba dodatkowo dociągnąć 4 rekordy bo się FK nie waliduje. Tabela zawiera kolumnę
LONG co uniemożliwia wykorzystanie dblinka.

Próbowałem to zrobić za pomocą expdp/impdp i natrafiłem na problem:

Starting "US"."SYS_EXPORT_TABLE_01": us/******** tables=www_blobs query=www_blobs:"where id in (1044741, 1044740, 1044
742, 1044760)" DUMPFILE=www_blobs.dmp LOGFILE=www_blobs.log directory=DATA_PUMP_LOCAL EXCLUDE=STATISTICS
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 82.35 GB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/TRIGGER
. . exported "US"."WWW_BLOBS" 4.177 MB 4 rows

Eksport poszedł "śpiewająco. No i próbuję to zaimportować:

Master table "US"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "US"."SYS_IMPORT_FULL_01": us/******** directory=migr dumpfile=www_blobs.dmp logfile=www_blobs.log TABLE_EXISTS_ACTION=APPEND
Processing object type TABLE_EXPORT/TABLE/TABLE
Table "US"."WWW_BLOBS" exists. Data will be appended to existing table but all dependent metadata will be skipped due to t
able_exists_action of append
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. . imported "US"."WWW_BLOBS" 4.177 MB 0 out of 4 rows
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/TRIGGER
Job "US"."SYS_IMPORT_FULL_01" successfully completed at 10:03:10

No i jest zero ... WTF ?

Ostatecznie po paru próbach wróciłem do exp/imp i poszło bez problemów, ale powyższe
zachowanie bardzo mnie ciekawi ... znalazłem notkę 305819.1 ...jednak opisuje ona inne
zachowanie pomimo podobnych warunków wejściowych.

A może robię coś źle i przegapiłem jakiś dodatkowy parametr w impdp ?
Adam B.

Adam B. Oracle Certified
Master

Temat: expdp/impdp zagwozdka

Bardzo ciekawy problem zaraz zrobie taki sam test u siebie.
Jakub L.

Jakub L. Inżynier Systemów,
Admin i inne takie
różne fajne :)
Winu...

Temat: expdp/impdp zagwozdka

2 pomysły na gorąco:
- disable constraints/triggers przed importem
- wykonanie exportu wersją 11g (a nie 10g) expdp, zaś import normalnie 11g impdp

K.

-- update:
Ups, pomysł drugi jest chybiony :)
Wg. notki 553337.1 (i moich testów) nie da się tak podpiąć.Jakub L. edytował(a) ten post dnia 21.05.12 o godzinie 16:03

konto usunięte

Temat: expdp/impdp zagwozdka

Jakub L.:
2 pomysły na gorąco:
- disable constraints/triggers przed importem

Jedyny constraint to PK, ale tych ID i tak przecież nie było.
Wojciech Stryszewski

Wojciech Stryszewski Inżynier Systemowy,
Comarch SA

Temat: expdp/impdp zagwozdka

Krzyśku, a sprawdzałeś jak się zachowa import po zastosowaniu parametru TABLE_EXISTS_ACTION=REPLACE?

konto usunięte

Temat: expdp/impdp zagwozdka

Wojciech Stryszewski:
Krzyśku, a sprawdzałeś jak się zachowa import po zastosowaniu parametru TABLE_EXISTS_ACTION=REPLACE?

O w życiu ! Musiałbym o tym sprawdzeniu zarwać całą nockę :)

konto usunięte

Temat: expdp/impdp zagwozdka

Ja z doświadczenia mogę powiedzieć, że kolega Wojciech ma rację,
zgodnie z dokumentacją i praktyką jedyną słuszną metodą w Twoim przypadku i użycie DataPumpa jest REPLACE, który
najpierw DROP'uje, następnie tworzy i ładuje dane z pliku dumpa

Zerknij na dokumentację
( DataPump Import Parameter TABLE_EXISTS_ACTION [ID 1358280.1] )
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: expdp/impdp zagwozdka

Maciek D.:
Ja z doświadczenia mogę powiedzieć, że kolega Wojciech ma rację,
zgodnie z dokumentacją i praktyką jedyną słuszną metodą w Twoim przypadku i użycie DataPumpa jest REPLACE, który
najpierw DROP'uje, następnie tworzy i ładuje dane z pliku dumpa

Zerknij na dokumentację
( DataPump Import Parameter TABLE_EXISTS_ACTION [ID 1358280.1] )

Hmm, a dlaczego funkcjonalność wyeksportowania tylko kilku wierszy na źródle i dodania ich do istniejącej tabeli z milionem wierszy miałaby nie działać? :) Z notki to nie wynika.

konto usunięte

Temat: expdp/impdp zagwozdka

Maciek D.:
Ja z doświadczenia mogę powiedzieć, że kolega Wojciech ma rację,
zgodnie z dokumentacją i praktyką jedyną słuszną metodą w Twoim przypadku i użycie DataPumpa jest REPLACE, który
najpierw DROP'uje, następnie tworzy i ładuje dane z pliku dumpa

Zerknij na dokumentację
( DataPump Import Parameter TABLE_EXISTS_ACTION [ID 1358280.1] )

Czytałem dokumentację.

Ale chodzi o dołożenie czterech rekordów do istniejącej tabeli. Rekordy nie naruszały żadnego UK ani PK. exp/imp zadziałał, a expdp/impdp już nie.

Gdybym dał REPLACE to rano zamordowałoby mnie 300 osób :) ... Jakby tam zostały 4 rekordy .... to by był niezły numer.

Temat: expdp/impdp zagwozdka

Krzysztof P.:
Maciek D.:
Ja z doświadczenia mogę powiedzieć, że kolega Wojciech ma rację,
zgodnie z dokumentacją i praktyką jedyną słuszną metodą w Twoim przypadku i użycie DataPumpa jest REPLACE, który
najpierw DROP'uje, następnie tworzy i ładuje dane z pliku dumpa

Zerknij na dokumentację
( DataPump Import Parameter TABLE_EXISTS_ACTION [ID 1358280.1] )

Czytałem dokumentację.

Ale chodzi o dołożenie czterech rekordów do istniejącej tabeli. Rekordy nie naruszały żadnego UK ani PK. exp/imp zadziałał, a expdp/impdp już nie.

Gdybym dał REPLACE to rano zamordowałoby mnie 300 osób :) ... Jakby tam zostały 4 rekordy .... to by był niezły numer.

I co ? Czemu replace? APPEND chyba lepszy by był. Nie dziala?
Albo CONTENT = DATA_ONLY. Tez nie dziala?

konto usunięte

Temat: expdp/impdp zagwozdka

Jacek Tomaka:
I co ? Czemu replace? APPEND chyba lepszy by był. Nie dziala?
Albo CONTENT = DATA_ONLY. Tez nie dziala?

Teraz to już nie ma szans na powtórną próbę ... mój wątek powstał po prostu po kłopotach z weekendowej migracji. Zastosowałem "workaround" i ponownie nie powtórzę tego importu .

konto usunięte

Temat: expdp/impdp zagwozdka

Szansa zawsze jest - potrzeba chwili ;)

Jeżeli używasz klauzuli append to import powtórzy dane, które zostały już zaimportowane.

Tu jak rozumiem potrzeba jest zidentyfikować wiersze, które zostały zmodyfikowane poprzez jakiś warunek where i użyć tej klauzuli dla wyeksportowania wybranych rekordów i już.

Jeżeli potrafisz znaleźć taki warunek to poniżej zamieszczam przykład jak używać warunków w exportach

expdp scott/tiger DIRECTORY=my_dir DUMPFILE=expdp_q.dmp
LOGFILE=expdp_q.log TABLES=emp,dept QUERY=emp:\"WHERE ename LIKE 'A%'\"

Potem wykonujesz import tego wyselekcjonowanego eksportu w trybie append i tyle..

Temat: expdp/impdp zagwozdka

Maciek D.:
Tu jak rozumiem potrzeba jest zidentyfikować wiersze, które zostały zmodyfikowane poprzez jakiś warunek where i użyć tej klauzuli dla wyeksportowania wybranych rekordów i już.

Jeżeli potrafisz znaleźć taki warunek to poniżej zamieszczam przykład jak używać warunków w exportach


Chyba udało się to zrobić już w oryginalnym poście.

konto usunięte

Temat: expdp/impdp zagwozdka

Nie do końca się udało :)

Nie widać pełnego polecenia, dodatkowo nie ma tu informacji czy plik dump został usunięty, czy job expdp zakończyło się całkowicie?

Czy skończyło się z promptem i zniknęło z dba_datapump jobs?

". . . . imported "US"."WWW_BLOBS" 4.177 MB 0 out of 4 rows"

Takiego rodzaju sytuacje pojawiają się gdy usunie się plik dump i job exportu ciągle jeszcze pracuje.

Sugeruję ponownie wykonać export, po zakończeniu exportu wykonać selecta na dba_datapump_jobs i sprawdzić czy jest pusto, żeby być pewnym, że to zostało zakończone.

Wtedy dopiero wykonujemy import.

Proponuję wykonać takie czynności i jeżeli by dalej pojawiał się to wtedy trzeba by podesłać logi importu i exportu oraz całość polecenia importu i exportu.

konto usunięte

Temat: expdp/impdp zagwozdka

Maciek D.:
Proponuję wykonać takie czynności i jeżeli by dalej pojawiał się to wtedy trzeba by podesłać logi importu i exportu oraz całość polecenia importu i exportu.

http://www.goldenline.pl/forum/2915482/expdp-impdp-zag...

Następna dyskusja:

Oracle 12c EE (12.1.0.2) ex...




Wyślij zaproszenie do