[Oracle 9i] replikacja lub coś podobnego
Mirek - 01-07-2006 00:57
[Oracle 9i] replikacja lub coś podobnego
Witam, Jest system działający na dosyć dużej bazie Oracle 9i. Chciałbym mięć drugą bazę zawierającą niektóre dane z tej dużej, byłaby ona zasilana danymi raz na tydzień. Jak opłaca się to wykonywać czy przez replikację, czy może export/imort do XML, a może zapytanie wyciągające dane z pierwszej bazy i wpisujące do drugiej? Prosiłbym o jakieś porady, ewentualnie linki.
Pozdrawiam
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Lucyna Witkowska - 01-07-2006 00:57
Mirek <mirek.netWYTNIJTO@op.pl> napisal: > Jest system działający na dosyć dużej bazie Oracle 9i. Chciałbym mięć drugą bazę > zawierającą niektóre dane z tej dużej, byłaby ona zasilana danymi raz na tydzień. > Jak opłaca się to wykonywać czy przez replikację, czy może export/imort do XML, > a może zapytanie wyciągające dane z pierwszej bazy i wpisujące do drugiej? > Prosiłbym o jakieś porady, ewentualnie linki.
Jesli chcesz isc z postępem to zdecydowanie XML ;-) Jesli chcesz by to dzialalo i wszystko w zasadzie wykonywaly bazy to replikacja (i tu za malo danych zeby powiedzic jaka). Jesli mozna co tydzien kasowac i tworzyc od nowa tabelę w drugiej bazie to bedzie dobry nawet export/import albo zdalny select.
Pozdrowienia, LW
=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 01-07-2006 00:57
Mirek wrote: > Jest system działający na dosyć dużej bazie Oracle 9i. Chciałbym mięć > drugą bazę zawierającą niektóre dane z tej dużej, byłaby ona zasilana > danymi raz na tydzień. Jak opłaca się to wykonywać czy przez replikację, > czy może export/imort do XML, a może zapytanie wyciągające dane z > pierwszej bazy i wpisujące do drugiej? Mało danych, ale jeśli miałbym zgadywać, to pewnie najprościej będzie Ci użyć materialized views, a do tego co piszesz wystarczą w zupełności.
A swoją drogą zastanów się czy na pewno potrzebujesz drugiej bazy do tego co chcesz osiągnąć. Jest duża szansa, że wystarczy osobny schemat (albo i to nie) i wtedy całą sprawę będziesz mógł pewnie załatwić operacjami na partycjach tabel.
-- Michał Kuratczyk
Szczepan Marchewka - 01-07-2006 00:57
=?iso-8859-2?Q?Re:_[Oracle_9i]_replikacja_lub_co=B6_podobnego?=
Jesli system ma momenty, gdy nie jest wykorzystywany lub wykorzystanie jest male (np. w nocy), a ilosci danych do przeslania nie sa jakies astronomicznie duze, to mozna stworzyc DBLINK z jednej bazy do drugiej, napisac pakiety/procedury kopiujace co trzeba poprzez DBLINK, ustawic je w JOBACH cyklicznie wykonywanych (np.w nocy) i po sprawie. Trzeba wziac pod uwage kwestie aktualnosci i spojnosci danych oraz obciazenie systemu w czasie. Odrebna kwestia jest sposob kopiowania tych danych poprzez DBLINK (tabela->tabela, tabela->XML->tabela itp itd).
Moze to tez zalatwic skrypt powloki systemu operacyjnego, wykonujacy operacje export/import na bazie danych. Moze to bedzie rozwiazanie dzialajace niekiedy szybciej, ale to zalezy tez od specyfiki danych, ich ilosci itp.
Szczepan@Marchewka.info.pl ----- In the beginner's mind there are many possibilities, but in the expert's mind there are few. (Shunryu Suzuki 1905-1971)
=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 01-07-2006 00:57
Szczepan Marchewka wrote: > Jesli system ma momenty, gdy nie jest wykorzystywany lub wykorzystanie > jest male (np. w nocy), a ilosci danych do przeslania nie sa jakies > astronomicznie duze, to mozna stworzyc DBLINK z jednej bazy do drugiej, > napisac pakiety/procedury kopiujace co trzeba poprzez DBLINK, ustawic je w > JOBACH cyklicznie wykonywanych (np.w nocy) i po sprawie. Trzeba wziac pod > uwage kwestie aktualnosci i spojnosci danych oraz obciazenie systemu w > czasie. To wszystko załatwia widok zmaterializowany. Po prostu definiuje się zapytanie wybierające dane, które chcemy mieć i uruchamia się DBMS_MVIEW.REFRESH, żeby zrobić aktualizację.
Jak się zapłaciło za Oracle, to warto korzystać z tego co on oferuje, a nie pisać wszystko samemu. :-)
-- Michał Kuratczyk
dap - 02-07-2006 00:14
Michał Kuratczyk wrote: > Mirek wrote: >> Jest system działający na dosyć dużej bazie Oracle 9i. Chciałbym mięć >> drugą bazę zawierającą niektóre dane z tej dużej, byłaby ona zasilana >> danymi raz na tydzień. Jak opłaca się to wykonywać czy przez replikację, >> czy może export/imort do XML, a może zapytanie wyciągające dane z >> pierwszej bazy i wpisujące do drugiej? > Mało danych, ale jeśli miałbym zgadywać, to pewnie najprościej będzie Ci > użyć materialized views, a do tego co piszesz wystarczą w zupełności.
W Oracle replikacja bazuje na materialized views :)
>> A swoją drogą zastanów się czy na pewno potrzebujesz drugiej bazy do tego co >> chcesz osiągnąć. Jest duża szansa, że wystarczy osobny schemat (albo i to >> nie) i wtedy całą sprawę będziesz mógł pewnie załatwić operacjami na >> partycjach tabel.
O ile ma wersje EE.
Dla pelnego przegladu mozliwosci dodam jeszcze, jako opcje dla wersji Enterprise mozliwosc uzycia logicznej bazy sandby, oraz transportable tablespaces. Jest to najszybsza i najmniej obciazajaca procesor metoda zajmuje prawie tyle czasu co skopiowanie plikow :)
mzsp
dap
-- ,= ,-_-. =. gnu.org ((_/)o o(\_)) polanski.biz `-'(. .)`-' xoops.pl \_/
Mirek - 02-07-2006 00:15
Wszystkie te propozycje są bardzo ciekawe ale właściwie nie wiem dalej co będzie najlepsze. Może opisze problem trochę dokładniej. Baza główna przechowuje dane (wszystkie dane) pewnej uczelni, dlatego już sam dostęp do bazy będzie małym problemem. Ja muszę mieć bazę-kopię, która będzie zawierać tylko dane na temat stypendiów i właściwie tylko do odczytu. Być może baza-kopia będzie na zupełnie innym serwerze ze względów bezpieczeństwa oraz wydajności. Być może będzie też konieczność aby baza-kopia była np. w MySql. Myślę jakie rozwiązanie było by optymalne żeby nie ingerować za bardzo w bazę główną i żeby rozwiązanie było w miarę uniwersalne.
Pozdrawiam Mirek
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
dap - 02-07-2006 00:15
Mirek wrote: > Wszystkie te propozycje są bardzo ciekawe ale właściwie nie wiem dalej co będzie > najlepsze. Może opisze problem trochę dokładniej. > Baza główna przechowuje dane (wszystkie dane) pewnej uczelni, dlatego już sam > dostęp do bazy będzie małym problemem. Ja muszę mieć bazę-kopię, która będzie > zawierać tylko dane na temat stypendiów i właściwie tylko do odczytu. Być może > baza-kopia będzie na zupełnie innym serwerze ze względów bezpieczeństwa oraz > wydajności. Być może będzie też konieczność aby baza-kopia była np. w MySql. > Myślę jakie rozwiązanie było by optymalne żeby nie ingerować za bardzo w bazę > główną i żeby rozwiązanie było w miarę uniwersalne.
Ok czyli troche jasniej. W takim wypadku napisz mala procedure exportuja ca do plikow tekstowych i bedzie ok. Albo moze uzyj skryptu do sqlplus, z opcja spool, czyli:
sqlplus us/pa@db spool stypendia.txt select imie || ', ' || nazwisko || ', ' || stypendium from studenci ; spool off
:) dap
-- ,= ,-_-. =. gnu.org ((_/)o o(\_)) polanski.biz `-'(. .)`-' xoops.pl \_/
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
Oracle 19g +Insert +Insert +Insert...
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
=?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
zanotowane.pldoc.pisz.plpdf.pisz.plmorebeer.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|