Kopie zapasowe bazy danych w Oracle - Wyeksportować bazę danych lub użyć innych narzędzi?

10

Jedną z „praktyk”, które widziałem podczas wykonywania przez DBA w mojej organizacji, jest traktowanie pełnego eksportu bazy danych za pomocą narzędzi takich jak exp/ expdpjako kopia zapasowa.

Czy to byłaby dobra praktyka? Jakie byłyby zalety korzystania z RMAN w porównaniu z tym podejściem?

Sathyajith Bhat
źródło
Duplikowanie bazy danych jest znacznie łatwiejsze przy użyciu RMAN
Sumnibot

Odpowiedzi:

7

Zaletą RMAN jest PITR - odzyskiwanie punktu w czasie. Możesz wykonać kopię zapasową plików DBF w RMAN i kopię zapasową zarchiwizowanych dzienników powtórzeń w RMAN i odzyskać bazę danych w dowolnym momencie do czasu ostatniej kopii zapasowej zarchiwizowanego dziennika. Wadą tego podejścia jest to, że jest bardzo gruboziarnisty - możesz odzyskać tylko na poziomie obszaru tabel.

Zaletą exp / expdp jest to, że masz spójną kopię bazy danych, którą możesz po prostu zaimportować do świeżo utworzonej pustej bazy danych. Nie można go jednak przenieść do przodu - w tym momencie jest to całkowicie osobna, niezależna baza danych bez logicznego związku z jej pierwotną wersją. Łatwo jest jednak odzyskać tylko jedną tabelę lub nawet kilka wierszy z eksportu.

Dobrym podejściem byłyby regularne pełne i przyrostowe kopie zapasowe plików danych RMAN, ciągłe kopie zapasowe zarchiwizowanych dzienników ponawiania (np. Jak tylko zakończy się tworzenie jednej kopii zapasowej archiwum, zacznij od razu następną, aby „przesyłać strumieniowo” dzienniki na taśmę), a następnie edukuj użytkowników przy użyciu exp / imp, aby mogli wykonywać własne „kopie zapasowe” (w przypadku potrzeby faktycznej kopii danych) i flashback (aby mogli wykonać własne odzyskiwanie w przypadku awarii DML).

Pamiętaj - kopia zapasowa jest przeznaczona dla DBA do odzyskania po katastrofalnej awarii sprzętu. Nie jest to z korzyścią dla użytkowników końcowych (lub poświęcisz cały czas na przywracanie do systemu testowego i kopiowanie kilku wierszy z powrotem do oryginału!).

Gajusz
źródło
5

Exp / Expdp jako rozwiązanie do tworzenia kopii zapasowych jest jak powiedzenie, że sklep z częściami samochodowymi jest twoim samochodem zapasowym. Technicznie sprawi, że wrócisz do działania, ale nie spowoduje nic poza bólem i cierpieniem.

Exp lub Expdp mogą być używane jako dodatkowa kopia zapasowa kopii zapasowych systemu plików na zimno lub rman hot lub cold backupów (inne oprogramowanie klienckie Oracle wykonuje zwykle tylko polecenia RMAN).

Typowa metodologia byłaby następująca:

1 cold backup weekly
1 hot backup daily

A jeśli naprawdę chcesz być ostrożny, okresowo transportuj zarchiwizowane dzienniki powtórzeń z serwera (co godzinę działa) lub ustaw zdalną lokalizację dla drugiego miejsca docelowego dziennika archiwum.

- RMAN * nowy -

Moja typowa sesja RMAN:

rman target=/

backup as compressed backupset database plus archivelog delete input;

delete obsolete;

exit

„Kopia zapasowa jako skompresowany zestaw kopii zapasowych ...”: Możesz także zrobić obraz, który jest bajtem dla bajtowej kopii plików danych. Byłoby to dobre jako cotygodniowa kopia zapasowa.

„... baza danych ...”: całkiem oczywiste

„... plus archivelogs ...”: daje nam punktowe odzyskiwanie czasu (i klonowanie w czasie [duplikowanie polecenia w rman])

„... usuń dane wejściowe”: usuń dzienniki archiwów, których kopie zapasowe utworzono. Możesz to również ustawić, aby usunąć te, których kopię zapasową utworzono co najmniej dwa razy itp.

„usuń nieaktualne”: gdy skonfigurujesz swoje zasady przechowywania rmana (moje to 5 dni), spowoduje to usunięcie kopii zapasowych poza tym oknem. To nie znaczy, że możemy odzyskać dopiero 5 dni temu. Nadal powinieneś mieć codzienne kopie zapasowe taśmy / serwera poza obszarem odzyskiwania flash. Oznacza to po prostu, że w trybie online będziesz mieć 5 dni odzyskiwania, a następnie będziesz musiał przywrócić elementy obszaru odzyskiwania flash z kopii zapasowej na taśmie / poza serwerem, a następnie zarejestruj je w rman, aby z nich skorzystać.

Oto rzeczywisty dziennik z sesji, nieznacznie zmodyfikowany dla ścieżki itp.:

oracle@prodserver[PROD]$ rman target=/

Recovery Manager: Release 10.2.0.4.0 - Production on Wed Jan 5 21:00:00 2011

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: PROD (DBID=randomnumber)

RMAN> backup
2> as compressed backupset
3> database
4> include current controlfile
5> plus archivelog delete input;
6> backup spfile;
7> delete obsolete;
8>

Starting backup at 05-JAN-11
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=291 devtype=DISK
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=743 recid=743 stamp=739623589
input archive log thread=1 sequence=744 recid=744 stamp=739623940
input archive log thread=1 sequence=745 recid=745 stamp=739624712
input archive log thread=1 sequence=746 recid=746 stamp=739625380
input archive log thread=1 sequence=747 recid=747 stamp=739659606
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210008_6lb8kb4o_.bkp tag=TAG20110105T210008 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:26
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_743_6l95ckxx_.arc recid=743 stamp=739623589
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_744_6l95plo2_.arc recid=744 stamp=739623940
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_745_6l96gpok_.arc recid=745 stamp=739624712
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_746_6l973l32_.arc recid=746 stamp=739625380
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_747_6lb8k57v_.arc recid=747 stamp=739659606
Finished backup at 05-JAN-11

Starting backup at 05-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u02/oradata/PROD/system01.dbf
input datafile fno=00005 name=/u02/oradata/PROD/software.dbf
input datafile fno=00003 name=/u02/oradata/PROD/sysaux01dbf
input datafile fno=00002 name=/u02/oradata/PROD/undotbs01.dbf
input datafile fno=00004 name=/u02/oradata/PROD/users.dbf
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnndf_TAG20110105T210135_6lb8n0y4_.bkp tag=TAG20110105T210135 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:45
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_ncsnf_TAG20110105T210135_6lb8qblm_.bkp tag=TAG20110105T210135 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 05-JAN-11

Starting backup at 05-JAN-11
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=748 recid=748 stamp=739659803
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210323_6lb8qf3l_.bkp tag=TAG20110105T210323 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_748_6lb8qcrr_.arc recid=748 stamp=739659803
Finished backup at 05-JAN-11

Starting backup at 05-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnsnf_TAG20110105T210329_6lb8qlnm_.bkp tag=TAG20110105T210329 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 05-JAN-11

RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 5 days
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set           55     30-DEC-10        
  Backup Piece       55     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp
Backup Set           56     30-DEC-10        
  Backup Piece       56     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp
Backup Set           57     30-DEC-10        
  Backup Piece       57     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp
Backup Set           58     30-DEC-10        
  Backup Piece       58     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp
Backup Set           59     31-DEC-10        
  Backup Piece       59     31-DEC-10          /u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp recid=55 stamp=739141227
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp recid=56 stamp=739141323
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp recid=57 stamp=739141326
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp recid=58 stamp=739141331
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp recid=59 stamp=739227610
Deleted 5 objects


Recovery Manager complete.
REW
źródło
1
W dzisiejszych czasach naprawdę nie trzeba nawet myśleć o zimnych kopiach zapasowych. Jaki sens ma gorąca kopia zapasowa, jeśli nie tworzysz również kopii zapasowych zarchiwizowanych dzienników powtórzeń !?
Gajusz
Jeśli potrzebne są dalsze szczegóły, chętnie bym je rozwinął, w przeciwnym razie większość artykułów na temat rmana dotyczy również archiwizowania kopii zapasowej dziennika powtórzeń. Jest to różnica między: „kopią zapasową bazy danych” i „kopią zapasową bazy danych plus archiwum”, oczywiście z wszystkimi dodatkowymi odmianami pomiędzy nimi.
REW
Proszę, przekaż swoją odpowiedź!
Sathyajith Bhat
Dzięki @REW za szczegółową odpowiedź, szkoda, że ​​nie mogę dać ci +1
Sathyajith Bhat
4

Zalety RMAN są następujące:

  • Automatyczne zasady przechowywania kopii zapasowych wdrożone przy użyciu pojęcia systemu Windows. Możesz określić liczbę dni przechowywania kopii zapasowych i wybrać zasadę ich przechowywania: są one usuwane natychmiast po wygaśnięciu lub są usuwane, jeśli nie ma już wolnego miejsca na nowe kopie zapasowe
  • Korzystanie z kanałów w celu poprawy wydajności podczas zapisu na nośniku lub korzystania z kilku kontrolerów dysków
  • Łatwe przywracanie - w zasadzie po prostu wyświetlasz listę posiadanych kopii zapasowych i określasz, z którego chcesz wykonać przywracanie bazy danych
  • RMAN może zapisać swoje metadane kopii zapasowej w niezależnej tabeli zwanej repozytorium RMAN, która może przechowywać naprawdę dużą liczbę rekordów wszystkich wykonanych kopii zapasowych, w przeciwieństwie do pliku kontrolnego
  • Możesz określić domyślną liczbę kopii zapasowych, ponadto te ostatnie można zapisać na różnych dyskach fizycznych (nośnikach)
Yasir Arsanukaev
źródło