Oracle. DBlink. Kopiowanie danych pomiędzy dwoma bazami

Witaj.

 

Mam spory problem nad którym głowie się już dłuższy czas, ale zupełnie nie mogę sobie z nim poradzić. Dlatego proszę Cię o pomoc.

 

Zadanie:

Zaprezentować możliwość kopiowania cyklicznego (np. co 5 minut) danych z jednej bazy danych do drugiej za pomocą DBLINKa.

 

Opis problemu:

Mam dwie bazy danych. (nie jestem tego pewny bo korzystam z darmowej wersji XE) Mam po prostu dwóch użytkowników. Mini i Lukas. Mam też połączenie dblink miedzy nimi z użytkownika mini o nazwie mini_lukas. DBLINK chyba działa bo mogę spokojnie dostać się z użytkownika mini do tabel użytkownika lukas. Nie mam jednak żadnego pojęcia jak skopiować z tabel użytkownika lukas danych do tabel użytkownika mini. Zwłaszcza cyklicznie co 5 minut.

 

I tutaj proszę o pomoc. Bo już nawet nie wiem gdzie o tym szukać jakichś informacji czy przykładów. Może znacie jakieś dobre kursy lub przykłady takich działań, z których można się tego nauczyć, a może ktoś umie mi to rozpisać i na podstawi tego przykładu zrozumiem jak to działa.

 

Tylko jest jeszcze jeden haczyk. W wymaganiach projektu mam poradzić sobie z konfliktami typów danych. Chodzi o to, że schematy baz danych nie są identyczne. Na przykład w tabeli użytkownika lukas mam imie i nazwisko (np. Jan Kowalski-Nowak), a w tabeli docelowej użytkownika mini mam tylko kolumnę osoba gdzie zapisuje jedynie pierwsza literę imienia, kropkę lub podkreślenie _ i nazwisko do 10 znaków. W tym przypadku j.kowalski-n.

 

Chce się tego nauczyć a po prostu nie wiem gdzie szukać. Włóczyłem się po internecie, ale większość przykładów czy kursów nie zawiera tak zaawansowanych przykładów z dobrym objaśnieniem.

 

Bardzo proszę o możliwe szybka i obszerną pomoc.

Z góry dziękuję

Łukasz

MajsteR8 , zapoznaj się, proszę, z tym tematem i stroną, a następnie - korzystając z przycisku Edytuj (na dole pierwszego posta po prawej stronie) i opcji Użyj pełnego edytora - popraw tytuł wątku tak, by mówił konkretnie o problemie. Poprawnie zatytułowany wątek zwiększa szansę na uzyskanie szybkiej pomocy. Zignorowanie tej prośby będzie skutkować przeniesieniem tematu do kosza.

 

Swoją drogą dobrze by było, gdybyś pokazał, co już masz zrobione, bo jeśli liczysz na gotowca, to możesz się nieco przeliczyć.

Pozdrawiam,

Dimatheus

Cykliczne wywoływanie załatwi scheduler: http://docs.oracle.com/cd/E11882_01/server.112/e25494/scheduse.htm#ADMIN034

Dane kopiujesz przy użyciu najzwyklejszego inserta: http://www.w3schools.com/sql/sql_insert_into_select.asp tylko dodajesz sufix “@mini_lukas” do nazwy “zdalnej” tablicy.

Bardzo dziękuje za zainteresowanie i chęć pomocy. Wszystkie uwagi przeczytałem i zapoznałem się z proponowanymi treściami. Udało mi się dzięki temu ukończyć mój projekt. Na wszystko świetnie odpowiedziałeś i chyba nie ma potrzeby abym się nad tym więcej rozpisywał. :slight_smile: Dzięki jeszcze raz.