Kopiowanie duzej tabeli

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
zurex
Posty: 26
Rejestracja: wt lis 11, 2014 6:59 am
Has thanked: 1 time
Been thanked: 4 times

Kopiowanie duzej tabeli

Post autor: zurex »

Witam bardzo,
jest pilna potrzeba utworzenia kopii tabeli ADRU (Tabela zastosowań komunikacji) .
Jak Waszym zdaniem mozna to efetywnie wykonac biorac pod uwage kilka milionow rekordow i potrzebe minimalnego obciazenia serwera podczas operacji kopiowania (tworzenia blizniaczej tabeli).
ps. nie moze oczywiscie miec miejsca zastosowanie typu:
select * from a into itab1.
insert b from table itab1.

Pozdrawiam bardzo
Lukasz
dominik.tylczynski
Posty: 8353
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1924 times
Been thanked: 1477 times
Kontakt:

Re: Kopiowanie duzej tabeli

Post autor: dominik.tylczynski »

Po co chcesz kopiować tę tabelę?

Sent using Tapatalk
zurex
Posty: 26
Rejestracja: wt lis 11, 2014 6:59 am
Has thanked: 1 time
Been thanked: 4 times

Re: Kopiowanie duzej tabeli

Post autor: zurex »

Witaj Dominik,
walczymy z SAP Supportem z dubletami w tej tabeli, ktore powstaja przy uruchamianiu raportow korekty danych na tej tabeli. (Raporty SAPSupport)

Nakazali zrobic nam backup'a/kopie tej tabeli i nastepnie wykonac SQL statement.
Mam odgorne polecenie wykonania kopii tej tabeli ADRU->ZADRU
dominik.tylczynski
Posty: 8353
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1924 times
Been thanked: 1477 times
Kontakt:

Re: Kopiowanie duzej tabeli

Post autor: dominik.tylczynski »

Napisz zatem prosty raport, który odczyta całą tabelę do tablicy wewnętrznej. Zrób pętlę po tej tablicy, insert każdego rekordu i commit co np. 1000 rekordów.
Puść jako zadanie w tle i niech się kręci nawet całą dobę.

Sent using Tapatalk
zurex
Posty: 26
Rejestracja: wt lis 11, 2014 6:59 am
Has thanked: 1 time
Been thanked: 4 times

Re: Kopiowanie duzej tabeli

Post autor: zurex »

Taki też był mój pierwszy pomysł.
Obawiam sie jednak błędu, z którym spotkałem sie już wcześniej w podobnej sytuacji .
Błąd ..._PAGE_ALLOC_FAILED -
(You attempted to extend an internal table, but the required space was
not available.)
Czy przy 15 mln rekordów moje obawy są uzasadnione ?
dominik.tylczynski
Posty: 8353
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1924 times
Been thanked: 1477 times
Kontakt:

Re: Kopiowanie duzej tabeli

Post autor: dominik.tylczynski »

Jest takie niebezpieczeństwo. Jednak trudno to uzależnić wprost od ilości rekordów. Rolę gra tutaj też wielkości pojedynczego rekordu oraz ilość dostępnej pamięci, którą ustala się parametrem systemowym.
Sprawdź po prostu. Najwyżej się wyłyżwi.

Sent using Tapatalk
zurex
Posty: 26
Rejestracja: wt lis 11, 2014 6:59 am
Has thanked: 1 time
Been thanked: 4 times

Re: Kopiowanie duzej tabeli

Post autor: zurex »

Jeden rekord to 152 bajty.
Przy 15mln rekordów to ponad 2GB.
Dostępnej pamięci mamy 8GB.
Wygląda obiecująco, może sie nie "wyłyżwi" :)

Więc spróbuje to uruchomić.
Dziękuję.
dominik.tylczynski
Posty: 8353
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1924 times
Been thanked: 1477 times
Kontakt:

Re: Kopiowanie duzej tabeli

Post autor: dominik.tylczynski »

Daj znać czy zadziałało.

Sent using Tapatalk
zurex
Posty: 26
Rejestracja: wt lis 11, 2014 6:59 am
Has thanked: 1 time
Been thanked: 4 times

Re: Kopiowanie duzej tabeli

Post autor: zurex »

zadanie zakończone sukcesem (nie wyłyżwiło się) :)
Użyłem SAPowego raportu IUUC_COPY_DB_TABLE_CONTENT.
Dla bezpieczeństwa podzieliłem zadanie na paczki po 700k rekordów.
Dziękuję
RKISIEL
Posty: 583
Rejestracja: pn lut 14, 2011 9:10 pm
Has thanked: 422 times
Been thanked: 263 times

Re: Kopiowanie duzej tabeli

Post autor: RKISIEL »

dominik.tylczynski pisze:Napisz zatem prosty raport, który odczyta całą tabelę do tablicy wewnętrznej. Zrób pętlę po tej tablicy, insert każdego rekordu i commit co np. 1000 rekordów.
Puść jako zadanie w tle i niech się kręci nawet całą dobę.

Sent using Tapatalk
Czasami proste jest piękne :D
Rafał Kisiel
RKISIEL
Posty: 583
Rejestracja: pn lut 14, 2011 9:10 pm
Has thanked: 422 times
Been thanked: 263 times

Re: Kopiowanie duzej tabeli

Post autor: RKISIEL »

zurex pisze:Jeden rekord to 152 bajty.
Przy 15mln rekordów to ponad 2GB.
Dostępnej pamięci mamy 8GB.
Wygląda obiecująco, może sie nie "wyłyżwi" :)

Więc spróbuje to uruchomić.
Na szczęście są tacy, którzy liczą :D
Próbowałem namówić konsultantów na proste obliczenia ale szczęśliwcy analizowali system deweloperski bez analizy systemu produkcyjnego z ekstrapolacją wzrostu liczby i "objętości" danych. Potem zonk i zdziwienie....
Rafał Kisiel
dominik.tylczynski
Posty: 8353
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1924 times
Been thanked: 1477 times
Kontakt:

Re: Kopiowanie duzej tabeli

Post autor: dominik.tylczynski »

RKISIEL pisze:Próbowałem namówić konsultantów na proste obliczenia ale szczęśliwcy analizowali system deweloperski bez analizy systemu produkcyjnego z ekstrapolacją wzrostu liczby i "objętości" danych. Potem zonk i zdziwienie....
No cóż, to mnie specjalnie nie dziwi. Zastanawia mnie natomiast jak i dlaczego tacy fachowcy nadal funkcjonują na rynku kasując "sapowskie" stawki.
aszymanski
Posty: 72
Rejestracja: pt lip 11, 2014 1:01 pm
Lokalizacja: Kraków
Has thanked: 11 times
Been thanked: 28 times

Re: Kopiowanie duzej tabeli

Post autor: aszymanski »

zurex pisze:zadanie zakończone sukcesem (nie wyłyżwiło się) :)
Użyłem SAPowego raportu IUUC_COPY_DB_TABLE_CONTENT.
Dla bezpieczeństwa podzieliłem zadanie na paczki po 700k rekordów.
Dziękuję
Cześć,
z ciekawości pytam co to za system?
Sprawdzałem na kilku systemach u klientów i nigdzie nie widzę takiego raportu...
zurex
Posty: 26
Rejestracja: wt lis 11, 2014 6:59 am
Has thanked: 1 time
Been thanked: 4 times

Re: Kopiowanie duzej tabeli

Post autor: zurex »

Cześć,
SAP ERP.

Pozdrawiam bardzo
dominik.tylczynski
Posty: 8353
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1924 times
Been thanked: 1477 times
Kontakt:

Re: Kopiowanie duzej tabeli

Post autor: dominik.tylczynski »

Ten program jest zawarty w komponencie DMIS. Zatem jeśli w systemie SAP ERP nie jest zainstalowany ten komponent, to raport nie jest dostępny.
ODPOWIEDZ