Uruchamianie RMAN DUPLICATE / RESTORE w innej wersji niż wersja źródłowa bazy danych.

  • Cornelius Paul
  • 0
  • 4859
  • 296

Problem

1. RMAN DUPLICATE nie działa, jak poniżej:

kopia pliku danych wejściowych recid = 22 znaczek = 717598749 nazwa_pliku = / temp_datavol / clone_files / DUPTEST1 / datafile / largetbl.298.684694005 datafile 24 przełączono na plik danych kopiowanie danych wejściowych kopiowanie pliku danych recid = 23 znaczek = 717598749 nazwa_pliku = / temp_datavol / data_files / audbl_data .449.690377511 plik danych 25 przełączony na kopię pliku danych kopiowanie danych wejściowych kopia pliku danych recid = 24 pieczęć = 717598750 nazwa_pliku = / temp_datavol / clone_files / DUPTEST1 / datafile / largetbl.988.713432115 zawartość skryptu pamięci: Zmień bazę danych klonów otwórz resetlogs;  wykonywanie błędu segmentacji skryptu pamięci

Dziennik alertów dla wystąpienia pomocniczego wygląda następująco w momencie wystąpienia błędu:

… Thu Apr 29 12:59:16 2010 Błędy w pliku /u01/app/oracle/product/10.2/ora_10g/rdbms/log/duptest1_ora_10277.trc: ORA-00704: błąd procesu bootstrap ORA-39700: baza danych musi zostać otwarta za pomocą Opcja UPGRADE Thu 29 kwietnia 12:59:16 2010 Wystąpił błąd 704 podczas otwierania bazy danych, zamykania bazy danych. USER: kończenie instancji z powodu błędu 704. Oczekiwanie na zakończenie procesów Thu Apr 29 12:59:26 2010 Terminacja instancji nie spowodowała zabicia jednego lub więcej procesów Instancja zakończona przez użytkownika USER, pid = 10277 ORA-1092 zasygnalizowana podczas: zmień otwarte bazy danych resetlogs… 

LUB

2. Po przywróceniu / odzyskaniu ALTER DATABASE OPEN RESETLOGS kończy się niepowodzeniem z następującymi błędami (jak widać w alert.log):

ORA-00704: błąd procesu ładowania początkowego ORA-39700: baza danych musi być otwarta z opcją UPGRADE

Powód

1. Próba zduplikowania, gdy jest zainstalowany inny docelowy poziom zestawu poprawek i pomocniczy. Przykład: Oracle w wersji 10.2.0.2.0 i instancja pomocnicza używa Oracle w wersji 10.2.0.1.0 (lub odwrotnie). DUPLICATE nie ma odnieść sukcesu w powyższej sytuacji, tj. Niezgodności wersji.

LUB

2. Podobnie w przypadku próby odtworzenia i odzyskania bazy danych przy użyciu nowszej wersji zestawu poprawek Oracle. na przykład. Baza danych została zarchiwizowana w Oracle 10.1 i musi zostać przywrócona do 10.2 $ ORACLE_HOME.

Zapoznaj się z macierzą zgodności uaktualnień dla obsługiwanych ścieżek uaktualniania.

Zaleca się przywracanie i odzyskiwanie danych przy użyciu tej samej wersji oprogramowania, która została użyta do tworzenia kopii zapasowych. Na przykład, jeśli utworzono kopię zapasową przy użyciu Oracle 10.1.0.1, należy przywrócić ją przy użyciu Oracle 10.1.0.1. Czasami nie jest to możliwe. Wykonaj poniższe czynności, aby przywrócić przy użyciu wyższego zestawu poprawek.

Przed wykonaniem poniższych czynności zapoznaj się z dokumentacją przed aktualizacją.

Rozwiązanie

1. Wykonaj pełne odtworzenie i odzyskanie bazy danych. Na przykład:

SQL> odzyskać bazę danych ORA-00279: zmiana 537351029 wygenerowana 27.02.2008 23:07:00 wymagana dla wątku 1 ORA-00289: sugestia: /u001/PROD/arch/PROD_1_528360.arc ORA-00280: zmiana 537351029 dla wątku 1 jest w kolejności # 528360 Określ dziennik: = sugerowane | nazwa pliku | AUTO | ANULUJ AUTO

2. Po zakończeniu odzyskiwania powinien zostać wyświetlony komunikat podobny do następującego:

Zastosowano dziennik Odzyskiwanie nośnika zakończone

3. Otwórz bazę danych do migracji w SQL * Plus:

SQL> zmień bazę danych otwórz [resetlogs] aktualizacja;

Uwaga: przed 12c nie można przeprowadzić otwartej aktualizacji w RMAN. W przeciwnym razie pojawi się poniższy błąd:

RMAN> zmiana aktualizacji bazy danych open resetlogs; RMAN-00558: napotkano błąd podczas analizowania poleceń wejściowych RMAN-01009: błąd składni: znaleziono „uaktualnienie”: oczekiwano jednego z: „;” RMAN-01007: w linii 1, kolumna 31 plik: standardowe wejście

4. Teraz postępuj zgodnie z instrukcjami aktualizacji zestawu poprawek.

Specjalna uwaga dotycząca 11gR2

Począwszy od 11gR2, działa narzędzie do wstępnej aktualizacji jest obowiązkowe i utworzy lub zaktualizuje register $ database. Niepowodzenie uruchomienia narzędzia wstępnej aktualizacji (utlu112i.sql) spowoduje następujący błąd podczas uruchamiania skryptu catupgrd.sql:

SQL> WYBIERZ TO_NUMBER ('MUST_BE_SAME_TIMEZONE_FILE_VERSION') 2 Z rejestru $ bazy danych 3 GDZIE tz_version! = (WYBIERZ wersję z v $ timezone_file); SELECT TO_NUMBER ('MUST_BE_SAME_TIMEZONE_FILE_VERSION') * ERROR w linii 1: ORA-01722: nieprawidłowy numer

Po otwarciu bazy danych do aktualizacji należy sprawdzić, czy istnieje tabela rejestru $ bazy danych.

SQL> opisz bazę danych rejestru $

Jeśli baza danych rejestru $ istnieje, powinna mieć TZ_VERSION kolumnę i odpowiednią wartość strefy czasowej należy zaktualizować w tabeli. (Wartość powinna wynosić od V $ TIMEZONE_FILE). Jeśli tabela nie istnieje, należy utworzyć jako:

CREATE TABLE rejestr $ database (identyfikator_ platformy NUMBER, nazwa_platformy VARCHAR2 (101), wydanie VARCHAR2 (30), numer_wersji tz)

Następnie tabelę należy wstawić z wartościami -

INSERT do bazy danych rejestru $ (identyfikator_platformy, nazwa_platformy, edycja, wersja_tz) VALUES ((wybierz identyfikator_platformy z bazy danych v $), (wybierz nazwę_platformy z bazy danych v $), NULL, (wybierz wersję z v $ timezone_file));
Uwaga: Jeśli tabela istnieje i są w niej jakieś wartości, wpisy należy usunąć i ponownie wstawić. Tabela powinna zawierać tylko jeden wiersz.




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux