From 2180641c3b656d4e6ad3004a4f783054345ae113 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Doma=C5=84ski?= Date: Thu, 18 Jun 2026 08:18:39 +0000 Subject: [PATCH] Jun 18, 2026, 10:18 AM --- inbox/ORACLE CZ/product.cz.txt | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/inbox/ORACLE CZ/product.cz.txt b/inbox/ORACLE CZ/product.cz.txt index 150596e..1b97734 100644 --- a/inbox/ORACLE CZ/product.cz.txt +++ b/inbox/ORACLE CZ/product.cz.txt @@ -5,6 +5,40 @@ # @redmine http://redmine.bisnode.cz/projects/exporty-a-replikace/ # @popis Export importnich dat neomagu na Public bez metadata(SPU) */15 7-17 * * 1-5 /srv/skripty/export_public_without_metadata.sh >>/srv/log/export_public_without_metadata.sh.log 2>&1 + +Skrypt służy do automatyzacji procesu eksportu danych z bazy Oracle (najprawdopodobniej z serwera product) i przesyłania ich na serwer zdalny (public.cekia.cz). Jest on zintegrowany z zewnętrznym systemem logowania i najprawdopodobniej uruchamiany z poziomu harmonogramu zadań (cron). + +🛠️ Główne kroki i logika działania: +Inicjalizacja środowiska: + +Skrypt określa swoją lokalizację (myPath) i nazwę (myScript). +Wczytuje (source) dwa zewnętrzne pliki: /usr/local/bin/init_sets.sh oraz /usr/local/bin/init_sets_db.sh. Pliki te prawdopodobnie definiują najważniejsze zmienne środowiskowe (np. ścieżki $dp_dir, dane logowania $CONNECT_RPLEXPORT, klucze SSH $sshreplcopy). +Zarządzanie logowaniem (Batch Logging): + +Wykorzystuje niestandardowe funkcje LOG_START_BATCH i LOG_END_BATCH do śledzenia statusu wykonania skryptu w jakiejś bazie lub pliku logów, przypisując mu unikalny identyfikator ($run_id). +Mechanizm blokady (Locking / Mutex): + +Sprawdza, czy w katalogu $repl_running_export istnieje plik z_done.dat. +Jeśli istnieje: Skrypt zakłada, że poprzedni proces eksportu nadal trwa. Loguje tę informację, zamyka proces logowania funkcji batch i przerywa działanie (exit). +Jeśli nie istnieje: Przechodzi do głównego bloku else i tworzy wspomniany plik blokady poprzez skopiowanie go z $dp_dir. +Wykonanie eksportu z Oracle: + +Uruchamia podproces logowania. +Ustawia flagę #h# w lokalnym pliku z_done.dat i nadaje mu maksymalne uprawnienia (chmod 777). +Łączy się z bazą za pomocą sqlplus i odpala skrypt SQL: export_run_without_metadata.sql, przekazując do niego ID procesu. Wyniki zapisuje w pliku logu. +Przetwarzanie i transfer plików: + +Po 5-sekundowym opóźnieniu (sleep 5), zmienia uprawnienia na 777 dla wygenerowanych plików dump (.dmp). +Kompresuje zrzuty za pomocą gzip. +Kopiuje pliki dump oraz plik flagi (z_done.dat) przez sieć używając protokołu SCP i klucza SSH na serwer public.cekia.cz. +Usuwa lokalne skompresowane pliki, uwalniając przestrzeń dyskową. +Zakończenie i sprzątanie: + +Przenosi bieżący plik logu do katalogu archiwalnego z datą w nazwie. +Usuwa plik blokady z_done.dat z katalogu $repl_running_export. +Zamyka główny proces logowania batcha wywołując LOG_END_BATCH. + + # # @id LOGON_UNAUTHORIZED_ACCES # @author pukl