Avamar: Kopia zapasowa Oracle kończy się niepowodzeniem z komunikatem "przekroczono limit 0 uszkodzonych bloków dla pliku"
Summary: Artykuł z bazy wiedzy (KB) zawierający rozwiązanie problemów z kopiami zapasowymi Oracle spowodowanych uszkodzonymi blokami.
Symptoms
Tworzenie kopii zapasowej jest wyświetlane w oknie aktywności jako zakończone niepowodzeniem, ale można je przywrócić w konsoli administratora Avamar lub interfejsie użytkownika Avamar (AUI). Jest to szczególnie ważne, jeśli w zestawie danych jest włączona opcja "Utwórz kopię zapasową dzienników archiwum".
Tworzenie kopii zapasowej Oracle może zakończyć się niepowodzeniem z komunikatami o błędach podobnymi do następujących:
avoracle Error <7934>: Snapup of EBSP aborted due to rman terminated abnormally - check the logs
...
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 11/19/2015 20:52:52
ORA-19566: exceeded limit of 0 corrupt blocks for file E:\ORACLE\EMC\DB\AVAMAR\DATABASE.DBF
Recovery Manager complete.
Cause
Plik bazy danych, o którym mowa, zawiera uszkodzone bloki danych.
Można to potwierdzić, uruchamiając następujące polecenie:
SQL> select * from v$database_block_corruption;
Resolution
Należy przeprowadzić odzyskiwanie uszkodzonych bloków przy użyciu wtyczki Oracle Recovery Manager (RMAN), aby przywrócić uszkodzony plik bazy danych do dobrego stanu.
Zgodnie z podręcznikiem użytkownika DELL Avamar for Oracle najpierw należy skonfigurować bazę danych w celu odzyskiwania uszkodzonych bloków. Odbywa się to poprzez ustawienie parametru inicjalizacji DB_BLOCK_CHECKSUM na wartość TYPICAL dla bazy danych Oracle. To ustawienie parametru umożliwia wykrywanie uszkodzeń fizycznych i logicznych w module RMAN.
Następnie postępuj zgodnie z instrukcjami zawartymi w podręczniku użytkownika programu DELL Avamar for Oracle , aby przywrócić bazę danych do pierwotnego klienta. W polu Recovery Type wybierz opcję "Corrupt blocks".
Jeśli odzyskiwanie uszkodzonego bloku nie powiedzie się, użyj polecenia SET MAXCORRUPT , aby ustawić całkowitą liczbę uszkodzeń dozwoloną w pliku. Wartość domyślna to zero, co oznacza, że RMAN nie toleruje żadnych uszkodzonych blokad.
Jeśli limit MAXCORRUPT zostanie przekroczony, gdy RMAN napotka uszkodzony blok podczas tworzenia kopii zapasowej, RMAN zakończy tworzenie kopii zapasowej. W przeciwnym razie RMAN zapisuje uszkodzony blok w kopii zapasowej ze specjalnym nagłówkiem wskazującym, że blok jest oznaczony jako uszkodzony.
Numer referencyjny: https://docs.oracle.com/cd/B28359_01/backup.111/b28273/rcmsynta043.htm#RCMRF153 (łącze zewnętrzne)
Jednak kopie zapasowe przy użyciu konsoli administratora Avamar nie mogą skorzystać z tego obejścia. W związku z tym należy tworzyć kopie zapasowe w wierszu poleceń przy użyciu skryptów Oracle Recovery Manager (RMAN). Postępuj zgodnie z sekcją "Tworzenie kopii zapasowych i przywracanie za pomocą Oracle RMAN" w podręczniku użytkownika Avamar Oracle.
Aby trwale naprawić problemy z uszkodzonymi blokami danych (zalecane), należy zaangażować pomoc techniczną Oracle w celu dalszego rozwiązywania problemów.