[oracle] tworzenie kopii baz danych online
Pedro44 - 17-03-2006 00:29
[oracle] tworzenie kopii baz danych online
Witam Mam taki problem do rozwikłania i prosiłbym o pomysły jakbyście się do tego zabrali. Nie będę może na początek pisał o tym co juz próbowałem a co nie żeby nie sugerować niczego.
Muszę opracować metodę (możliwie 100% automatyczną) tworzenia kopii produkcyjnych baz danych (jest ich ponad 50, ustandaryzowany setup, nazewnictwo itp itd) - w nocy, raz w miesiącu ma się dla każdej bazy produkcyjnej "odświeżać" baza testowa. Bazy testowe są na osobnych serwerach (ale w tym samym LANie), mają być 100% kopią, różniącą się tylko SIDem (np. P001 -> T001), tym co z SIDu wynika (niestety standard wymaga by SID był zaszyty we wszystkie nazwy plików) i kilkoma parametrami startowymi (noarchivelog choćby). Metoda musi być jak najbardziej idiotoodporna (mam tym uszczęśliwić kilkunastu administratorów, niektórych mocno niekompetentnych), jak najbardziej automatyczna, no i jak najszybsza. Bazy są na oraclu 92 standard edition, na windowsie, żadne upgrady nie wchodzę w grę. Z której strony byście sie do tego zabrali?
Z góry dziękuję za wszelkie pomysły, oczywiście odpowiem na wszelkie pytania pomocnicze ;-)
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Pedro44 - 17-03-2006 00:29
O jednej istotnej informacji już widze że zapomniałem - rozmiary. Bazy nie są bardzo duże, od kilku (powiedzmy 10GB) do 80-100GB. I bardzo raczej nie urosną.
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
news997 - 17-03-2006 00:29
> Muszę opracować metodę (możliwie 100% automatyczną) tworzenia kopii > produkcyjnych baz danych (jest ich ponad 50, ustandaryzowany setup, > nazewnictwo itp itd) - w nocy, raz w miesiącu ma się dla każdej bazy > produkcyjnej "odświeżać" baza testowa. Bazy testowe są na osobnych > serwerach > (ale w tym samym LANie), mają być 100% kopią, różniącą się tylko SIDem > (np. > P001 -> T001), tym co z SIDu wynika (niestety standard wymaga by SID był > zaszyty we wszystkie nazwy plików) i kilkoma parametrami startowymi > (noarchivelog choćby). Metoda musi być jak najbardziej idiotoodporna (mam > tym > uszczęśliwić kilkunastu administratorów, niektórych mocno > niekompetentnych), > jak najbardziej automatyczna, no i jak najszybsza. Bazy są na oraclu 92 > standard edition, na windowsie, żadne upgrady nie wchodzę w grę. Z której > strony byście sie do tego zabrali? > > Z góry dziękuję za wszelkie pomysły, oczywiście odpowiem na wszelkie > pytania > pomocnicze ;-)
Tylko RMAN, na dniach musze sie zmierzyc z podobnym problemem wiec moze powstanie jakis skrypt, ale dam znac...
dap -- polanski.biz xoops.pl
Pedro44 - 17-03-2006 00:29
> Tylko RMAN, na dniach musze sie zmierzyc z podobnym problemem wiec moze > powstanie jakis skrypt, ale dam znac... >
Oczywiście próbowałem klonowania rmanem - ale póki co czuję się mocno zniechęcony próbami automatyzacji tegoż (niesamowita kobyła a nie skrypt wychodzi, szczególnie że musi to działać na windows a ja nie jestem jakiś mocarz jeśli chodzi o pisanie w windowsowym shellu) i się zastanawiam czy aby nie ma jakiejś prostszej metody...
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
news997 - 17-03-2006 00:29
> Oczywiście próbowałem klonowania rmanem - ale póki co czuję się mocno > zniechęcony próbami automatyzacji tegoż (niesamowita kobyła a nie skrypt > wychodzi, szczególnie że musi to działać na windows a ja nie jestem jakiś > mocarz jeśli chodzi o pisanie w windowsowym shellu) i się zastanawiam czy > aby > nie ma jakiejś prostszej metody...
Cale bazy razem z danymi stystemowymi?
dap -- polanski.biz xoops.pl
news997 - 17-03-2006 00:29
> Z góry dziękuję za wszelkie pomysły, oczywiście odpowiem na wszelkie > pytania > pomocnicze ;-)
Popatrz tutaj http://www.orafaq.com/faq/how_does_o...base_with_rman
Cale wywolanie skryptu to rman cmdfile dupdb.rcv wiec moze spasuje do win (swoich prob jeszcze nie dokonczylem)
dap -- polanski.biz xoops.pl
Pedro44 - 17-03-2006 00:30
> Cale bazy razem z danymi stystemowymi? >
Niestety tak, jednym z powodów tego że mnie cisną na stworzenie nowego rozwiązania jest to że nie ma synchronizacji kont użytkowników między bazą produkcyjną a testową i admin aplikacji musi tworzyć konta dwa razy. Więc musi się kopiować/synchronizować dokładnie wszystko... Żeby nie to, to pewnie bym kombinował eksportem/importem, ale tak to jest strasznie upierdliwe... Choć już sam nie wiem co bardziej...
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Pedro44 - 17-03-2006 00:30
> > Popatrz tutaj > http://www.orafaq.com/faq/how_does_o...base_with_rman > > Cale wywolanie skryptu to rman cmdfile dupdb.rcv wiec moze spasuje do win > (swoich prob jeszcze nie dokonczylem) >
Dzięki, podobne to do moich dotychczasowych wypocin, niestety są dwa problemy:
1) ponieważ są i muszą być różnice w nazwach plików/ścieżce na serwerze produkcyjnym i testowym to dla każdego pliku musi być wpisane w skrypt "set newname for datafile". Czyli taki skrypt musi być zmodyfikowany ręcznie za każdym razem gdy do bazy produkcyjnej zostanie dodany nowy plik. Nie jest to wprawdzie sprawa częsta ale wolałbym tego uniknąć.
2) Są straszne jaja na windowsie żeby zmusić rmana do użycia pliku znajdującego się na zdalnym serwerze, jaja na tyle duże że moim zdaniem wyklucza to zautomatyzowanie procesu (przynajmniej przy moich umiejętnościach windows shell scriptowych) - a z kolei każdorazowe kopiowanie rmanowych backupów z serwera na serwer wprawdzie jest łatwiejsze do oprogramowania ale zaczyna być problem z miejscem na dysku, serwery testowe nie mają niestety ograniczoną przestrzeń dyskową...
Br, Pedro
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
news997 - 17-03-2006 00:30
>> Popatrz tutaj >> http://www.orafaq.com/faq/how_does_o...base_with_rman >> >> Cale wywolanie skryptu to rman cmdfile dupdb.rcv wiec moze spasuje do win >> (swoich prob jeszcze nie dokonczylem) >> > > Dzięki, podobne to do moich dotychczasowych wypocin, niestety są dwa > problemy: > > 1) ponieważ są i muszą być różnice w nazwach plików/ścieżce na serwerze > produkcyjnym i testowym to dla każdego pliku musi być wpisane w skrypt > "set > newname for datafile". Czyli taki skrypt musi być zmodyfikowany ręcznie za > każdym razem gdy do bazy produkcyjnej zostanie dodany nowy plik. Nie jest > to > wprawdzie sprawa częsta ale wolałbym tego uniknąć.
Ja dodalem na drugiej bazie parameter i jest ok. *.db_file_name_convert=('OEMREP','OEMREP2') wtedy podmienia wszystkie ciagi znakow z OEMREP na OEMREP2 i dziala.
A caly skrypt to CONNECT TARGET; CONNECT AUXILIARY sys/test@oemrep2;
run { duplicate target database to OEMREP2 LOGFILE GROUP 1 ('C:\oracle\oradata\OEMREP2\redo01a.log', 'C:\oracle\oradata\OEMREP2\redo01b.log') SIZE 200K REUSE, GROUP 2 ('C:\oracle\oradata\OEMREP2\redo02a.log', 'C:\oracle\oradata\OEMREP2\redo02b.log') SIZE 200K REUSE; }
> 2) Są straszne jaja na windowsie żeby zmusić rmana do użycia pliku > znajdującego się na zdalnym serwerze, jaja na tyle duże że moim zdaniem
Jaki plik masz na mysli? Pfile? U mnie siedzi on sobie w %ORACLE_HOME%/dbs ze kilkoma zmienionymi wartosciami i jest ok. Raz to zrobilem i juz bede na stale uzywal.
> wyklucza to zautomatyzowanie procesu (przynajmniej przy moich > umiejętnościach windows shell scriptowych) - a z kolei każdorazowe > kopiowanie rmanowych backupów z serwera na serwer wprawdzie jest > łatwiejsze > do oprogramowania ale zaczyna być problem z miejscem na dysku, serwery > testowe nie mają niestety ograniczoną przestrzeń dyskową...
Ale chyba przy duplicate on nie robi lokalnego backupu.
dap -- polanski.biz xoops.pl
Lucyna Witkowska - 17-03-2006 00:30
Pedro44 <pedro44@gazeta.skasuj-to.pl> napisał: > 1) ponieważ są i muszą być różnice w nazwach plików/ścieżce na serwerze > produkcyjnym i testowym to dla każdego pliku musi być wpisane w skrypt "set > newname for datafile". Czyli taki skrypt musi być zmodyfikowany ręcznie za > każdym razem gdy do bazy produkcyjnej zostanie dodany nowy plik. Nie jest to > wprawdzie sprawa częsta ale wolałbym tego uniknąć.
Nie zawsze trzeba to robic set newname. Zobacz paramter DB_FILE_NAME_CONVERT i przyklad w Backup and Recovery Advanced Users Guide.
> 2) Są straszne jaja na windowsie żeby zmusić rmana do użycia pliku > znajdującego się na zdalnym serwerze, jaja na tyle duże że moim zdaniem > wyklucza to zautomatyzowanie procesu (przynajmniej przy moich > umiejętnościach windows shell scriptowych) - a z kolei każdorazowe > kopiowanie rmanowych backupów z serwera na serwer wprawdzie jest łatwiejsze > do oprogramowania ale zaczyna być problem z miejscem na dysku, serwery > testowe nie mają niestety ograniczoną przestrzeń dyskową...
Nie bardzo rozumiem. Przetestowane - w 10g kopiowanie RMANem pod Windows dziala OK, nie wydaje mi sie, zeby ineczej bylo w 9i.
Pozdrowienia, LW
Pedro44 - 17-03-2006 00:30
> > 1) ponieważ są i muszą być różnice w nazwach plików/ścieżce na serwerze > > produkcyjnym i testowym to dla każdego pliku musi być wpisane w skrypt "set > > newname for datafile". Czyli taki skrypt musi być zmodyfikowany ręcznie za > > każdym razem gdy do bazy produkcyjnej zostanie dodany nowy plik. Nie jest to > > wprawdzie sprawa częsta ale wolałbym tego uniknąć. > > Nie zawsze trzeba to robic set newname. > Zobacz paramter DB_FILE_NAME_CONVERT i przyklad w Backup and Recovery > Advanced Users Guide.
O tym nie wiedziałem, i jeśli to rzeczywiście tak działa to chyba rozwiązuje ten problem! To by było niezłe przyznam... Sprawdzę.
> > > 2) Są straszne jaja na windowsie żeby zmusić rmana do użycia pliku > > znajdującego się na zdalnym serwerze, jaja na tyle duże że moim zdaniem > > wyklucza to zautomatyzowanie procesu (przynajmniej przy moich > > umiejętnościach windows shell scriptowych) - a z kolei każdorazowe > > kopiowanie rmanowych backupów z serwera na serwer wprawdzie jest łatwiejsze > > do oprogramowania ale zaczyna być problem z miejscem na dysku, serwery > > testowe nie mają niestety ograniczoną przestrzeń dyskową... > > Nie bardzo rozumiem. > Przetestowane - w 10g kopiowanie RMANem pod Windows dziala OK, nie wydaje > mi sie, zeby ineczej bylo w 9i.
Odpowiem wam obojgu: chodzi mi po prostu o plik z backupem rmanowym. Znajduje się on przecież fizycznie na dysku na serwerze produkcyjnym. Żeby z niego skorzystać na serwerze testowym należy go albo skopiować tam lokalnie (i zaczynają się problemy z przestrzenią dyskową) albo podmapować share. Niestety żeby rman robiacy klonowanie mógł skorzystać z pliku backupu znajdującego się na network share, serwis na którym chodzi baza testowa musi być wystartowany nie na koncie systemowym tylko na koncie z domeny (metalink docs: 152110.1 and 144485.1, możecie sobie wyobrazić ile się nakląłem zanim to znalazłem). A to nie jest rzecz do zautomatyzowania, poza tym jak się wystartuje serwis bazy nie na koncie systemowym to przestaje działać listener i zostaje tylko IPC lokalnie. Bagno po kolana jednym słowem...
Pytanie rzucone w przestrzeń: czy jest jakikolwiek sens zastosowania w moim celu mechanizmów związanych z tworzeniem bazy standby? Niestety jeśli chodzi o tą tematykę to jestem zielony i nie wiem czy jest sens się akurat w tej chwili zaczynać interesować. Jak myślicie?
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
dap - 30-03-2006 00:13
> Pytanie rzucone w przestrzeń: czy jest jakikolwiek sens zastosowania w moim > celu mechanizmów związanych z tworzeniem bazy standby? Niestety jeśli chodzi > o tą tematykę to jestem zielony i nie wiem czy jest sens się akurat w tej > chwili zaczynać interesować. Jak myślicie?
Da sie ale potrzebujesz EE i w bazach nic nie bedzie mozna zapisac.
dap
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.plmarcelq.xlx.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 |
|