#programowanie #oracle #bazydanych #sql Hej mirki. Potrzebuję kogoś kto pomoże mi ogarnąć bazę Oracle. Mam skrypt tworzący cold backup bazy danych https://pastebin.com/Rz7CGByd Jest on tworzony na osobnym dysku sieciowym z tego skryptu w każdą sobotę. Baza danych waży ok. 130 GB(kopia robi się 4-5h). Potrzebuję przywrócić tą kopię na innym serwerze. Do tej pory albo się to nie udawało, albo udało się raz i przy drugiej próbie przywrócenia Oracle wariował i trzeba było przywracać snapshota maszyny. Tu przykładowy skrypt przywracania: https://pastebin.com/RWX5Y1gB
Z tego co czytałem to te skrypty wyglądają mniej więcej dobrze. Nie wiem w czym problem i pomysły mi się kończą. Jak trzeba będzie to wrzuce logi błędów bo nie mam pod ręką.
@cinek181992: skrypt do restore nie wyglada prawidlowo. Odtworzenie od zera jest kilkuetapowe i na poczatku zdecydowanie nie moze byc startup mount. W skrocie 1. Startup nomount 2. Restore spfile 3. Restore controlfile. 4. Shutdown 5.
@Qrystus: co masz na myśli pisząc "manualnie" ? @maniac777: niestety nie mogę zmienić skryptu backupującego, a osoby, które się tym zajmują są przekonane, że jest dobry
@cinek181992: Jeżeli to jest baza produkcyjna to sposób backupowania jest słaby co sugeruje że osoby zajmujące się backupami nie do końca wiedzą co robią. Nie zamieściłeś komunikatów błędów, ale przypuszczam, że może Ci lecieć "database neds more recovery" i jeżeli tak to ten backup jest tak generalnie o dupę rozbić.
Co do wykonania kopii bazy danych dla deweloperów to ja najczęściej lecę z wykorzystaniem DUPLICATE DATABAASE - to jest chyba
@maniac777: przykładowe błędy: - media recovery requesting unknown archived log for thread 1 with sequence 16038 and starting SCN of 116922983195 - RMAN-06023: no backup or copy of datafile 1 found to restore
@cinek181992: No właśnie o tym piszę. To czy taki backup jest odtwarzalny czy nie zależy w pewnej mierze od szczęścia i tego jak się uda. W Twoim wypadku są najprawdopodobniej przeważnie bezużyteczne i równie dobrze mogłoby ich nie być. Dodatkowo datafile 1 to najpewniej system tablespace bez którego i tak nie otworzysz żadnego innego tablespace - to tak gdybyś chciał ratować z bazy którykolwiek tablespace.
@maniac777 ja nie, ale firma której to są dane raczej tak, ale o tym jeszcze nie wiedzą ( ͡°ʖ̯͡°) musiałbym jakoś porządnie uargumentować, ze te dumpy są złe(niestety moja wiedza na to nie pozwala) bo oni będą sie zapierać że są dobre do czasu pierwszej utraty danych
@cinek181992: To ta firma ma Backup Schrodingera: jego stan nie jest znany dopóki go nie odtworzy. :)
Możesz im powiedzieć, że odtwarzalność tak robionego backupu jest zależna od zbiegu okoliczności podczas jego robienia. Da się go odtworzyć tylko wtedy gdy ostatnia transakcja rozpoczęta przed jego uruchomieniem zakończy się przed jego końcem, a wszystkie bloki które modyfikowała znajdą się w datafiles (czasem może się to dziać ze znacznym opóźnieniem w stosunku
@cinek181992: To częściowo zależy od tego co robi ta apka i jak jest napisana. Widziałem już różne błędy programistów łącznie z takim, w którym ktoś stwierdził, że idealnie będzie rozpoczynać transakcję zaraz po zamknięciu poprzedniej czekając aż będzie potrzebna do obsługi kolejnego żądania - nie pytaj ;) Poza tym w przeciwieństwie do PHPów aplikacje w Java często mają zaprojektowane jakieś swoje własne schedulery które poza godzinami pracy realizują jakieś zadanie
Hej mirki. Potrzebuję kogoś kto pomoże mi ogarnąć bazę Oracle. Mam skrypt tworzący cold backup bazy danych
https://pastebin.com/Rz7CGByd
Jest on tworzony na osobnym dysku sieciowym z tego skryptu w każdą sobotę. Baza danych waży ok. 130 GB(kopia robi się 4-5h). Potrzebuję przywrócić tą kopię na innym serwerze. Do tej pory albo się to nie udawało, albo udało się raz i przy drugiej próbie przywrócenia Oracle wariował i trzeba było przywracać snapshota maszyny.
Tu przykładowy skrypt przywracania:
https://pastebin.com/RWX5Y1gB
Z tego co czytałem to te skrypty wyglądają mniej więcej dobrze. Nie wiem w czym problem i pomysły mi się kończą. Jak trzeba będzie to wrzuce logi błędów bo nie mam pod ręką.
1. Startup nomount
2. Restore spfile
3. Restore controlfile.
4. Shutdown
5.
@maniac777: niestety nie mogę zmienić skryptu backupującego, a osoby, które się tym zajmują są przekonane, że jest dobry
Co do wykonania kopii bazy danych dla deweloperów to ja najczęściej lecę z wykorzystaniem DUPLICATE DATABAASE - to jest chyba
- media recovery requesting unknown archived log for thread 1 with sequence 16038 and starting SCN of 116922983195
- RMAN-06023: no backup or copy of datafile 1 found to restore
no i też:
- database neds
W mojej ocenie ta polityka
Możesz im powiedzieć, że odtwarzalność tak robionego backupu jest zależna od zbiegu okoliczności podczas jego robienia. Da się go odtworzyć tylko wtedy gdy ostatnia transakcja rozpoczęta przed jego uruchomieniem zakończy się przed jego końcem, a wszystkie bloki które modyfikowała znajdą się w datafiles (czasem może się to dziać ze znacznym opóźnieniem w stosunku
poza tym powodzenia życzę. Zmień narzędzie do backupu ze skryptu na coś ogarniętego (sugeruję veeam).
Trudno sie nie zgodzić ( ͡° ͜ʖ ͡°)
Poza tym, to nie ja robie backupy:/