Jak powielić bazę danych Oracle do poprzedniego wcielenia

  • George Richardson
  • 0
  • 1860
  • 314

UWAGA: W wersji 11.2 dostępna jest nowa opcja powielania składni, WCIELENIE, co pozwala na zduplikowanie bazy danych do poprzedniego wcielenia za pomocą polecenia duplikat RMAN. Na przykład:

uruchom przydziel kanał pomocniczy ch1 typ 'SBT_TAPE' parms'ENV = (NB_ORA_CLIENT = xxx.com, NB_ORA_SERV = xxx.com) '; przydziel kanał pomocniczy ch2 typ 'SBT_TAPE' parms'ENV = (NB_ORA_CLIENT = xxx.com, NB_ORA_SERV = xxx.com) '; przydziel kanał pomocniczy ch3 typ 'SBT_TAPE' parms'ENV = (NB_ORA_CLIENT = xxx.com, NB_ORA_SERV = xxx.com) '; zduplikowana baza danych PROD DBID 1453775480 inkarnacja 132726542 do TESTU do czasu "to_date ('03 -JAN-2015 01:36:00 ',' dd-mon-YYYY HH24: MI: SS ')"; zwolnij kanał ch1; zwolnij kanał ch2; zwolnij kanał ch3; 

W 11.2 możesz uruchomić bezcelowy duplikat, w którym RMAN będzie duplikował się z zestawu kopii zapasowych z dowolnej inkarnacji, niezależnie od aktualnej inkarnacji celu.

W wersjach starszych niż 11.2 nie można użyć polecenia duplikat RMAN do zduplikowania bazy danych do poprzedniego wcielenia celu. To jest ograniczenie do zduplikowanej bazy danych. Próba zrobienia tego może spowodować następujące błędy

wykonanie polecenia: SET aż do klauzuli RMAN-00571: ========================================== =================== RMAN-00569: =============== STOSOWANIE KOMUNIKATÓW O BŁĘDZIE OBSERWUJE ======== ======= RMAN-00571: ========================================= ==================== RMAN-03002: błąd polecenia set o 12/09/2004 11:14:58 RMAN-06004: błąd ORACLE z bazy danych katalogu odtwarzania: RMAN-20011: docelowa inkarnacja bazy danych nie jest aktualna w katalogu odtwarzania

podstawowe wcielenie nie jest aktualne w katalogu odzyskiwania

UWAGA: począwszy od 10.2, jeśli możesz zamknąć cel, możesz zresetować docelową bazę danych do poprzedniej inkarnacji i kontynuować z duplikatem.

Istnieją dwa sposoby wykonania tego duplikatu, opisane poniżej:

Obejście 1

UWAGA: Jest to możliwe tylko wtedy, gdy istnieje kopia zapasowa systemu operacyjnego pliku kontrolnego przed wydaniem dzienników resetowania w docelowej bazie danych. Kopia zapasowa RMAN pliku kontrolnego lub kopia zapasowa przy użyciu opcji „zmień plik kontrolny kopii zapasowej bazy danych do śledzenia” spowoduje następujący błąd:

Rozpoczęcie Duplicate Db o 11-DEC-04 RMAN-00571: ======================================= ====================== RMAN-00569: =============== STOS KOMUNIKATÓW O BŁĘDZIE OBSERWUJE ===== ========== RMAN-00571: ==================================== ======================= RMAN-03002: niepowodzenie polecenia Duplicate Db o godzinie 12/11/2004 05:06:38 RMAN-05513: Nie można powielić, plik kontrolny nie jest aktualny lub zapasowy

KROKI:

  1. Skopiuj docelowy plik parametrów i zmodyfikuj parametr control_files, aby wskazywał kopię zapasową pliku kontrolnego systemu operacyjnego.
  2. Docelowa baza danych instalacji startowej z plikiem parametrów z kroku 1
  3. Uruchom instancję pomocniczą
  4. W RMAN połącz się z katalogiem, celem, instancją pomocniczą
  5. Zresetuj bazę danych do poprzedniego wcielenia.
  6. Uruchom zduplikowane polecenie RMAN
  7. Zamknij instancję docelową
  8. Uruchom instancję docelową z oryginalnym plikiem parametrów
  9. W RMAN połącz się z katalogiem i celem
  10. reset bazy danych do aktualnej inkarnacji.

Obejście 2

W tym obejściu przywracasz oryginalną bazę danych do nowej lokalizacji. Następnie można użyć narzędzia NID do zmiany nazwy tej nowej bazy danych i zmiany jej identyfikatora bazy danych.

Dla jasności oryginalna baza danych będzie określana jako „orig_database”, a przywrócona baza danych w nowej lokalizacji będzie określana jako „dummy_database”. Uwaga: obie bazy danych mają tę samą nazwę do kroku 8.

UWAGA: Jeśli używasz katalogu jako celu, NIE łącz się z katalogiem na potrzeby tej procedury. W przeciwnym razie informacje z oryginalnej bazy danych w ramach tego schematu katalogu zostaną naruszone.

KROKI:

1. Skopiuj plik parametrów docelowych i zmodyfikuj pliki kontrolne, aby wskazywały lokalizację zduplikowanej bazy danych „dummy_database”.

2. Uruchom bazę danych nomount („dummy_database”) z plikiem parametrów z kroku 1

3. W RMAN, połącz cel ('dummy_database') i przywróć plik kontrolny:

RMAN> przywróć plik kontrolny z '/ lokalizacja i nazwa kopii zapasowej pliku kontrolnego /';

UWAGA: Możesz użyć oryginalnej bazy danych do zidentyfikowania kopii zapasowej pliku kontrolnego potrzebnej dla inkarnacji, którą próbujesz zduplikować. Na przykład:

RMAN> startup nomount; połączono z docelową bazą danych (nie uruchomiono) Instancja Oracle uruchomiona Całkowity globalny obszar systemu 801701888 bajtów Stały rozmiar 2257520 bajtów Zmienna wielkość 494931344 bajtów Bufory bazy danych 301989888 bajtów Ponów bufory 2523136 bajtów RMAN> przywróć plik kontrolny z '/ u01 / backup / V1124 / cf_scs12lrh_1_1'; Rozpoczęcie odtwarzania o 07-APR-17 przy użyciu pliku kontrolnego docelowej bazy danych zamiast kanału przydzielonego w katalogu odzyskiwania: ORA_DISK_1 kanał ORA_DISK_1: SID = 19 typ urządzenia = kanał DISK ORA_DISK_1: przywracanie kanału pliku sterującego ORA_DISK_1: przywracanie zakończone, upływ czasu: 00:00: 01 nazwa pliku wyjściowego = / u01 / oradata / V1124 / control01.ctl Zakończono przywracanie o 07-KWI-17

4. zresetuj bazę danych do poprzedniego wcielenia.

5. przywróć i odzyskaj docelową bazę danych („dummy_database”) za pomocą „set newname”, aby wskazać zduplikowaną lokalizację bazy danych. Określ żądane ustawienie „SET UNTIL”, „do czasu”, „do SCN” lub „do sekwencji).

UWAGA: W przypadku przywracania na ten sam serwer należy określić nową lokalizację dzienników online, które zostaną utworzone za pomocą opcji „zmień dzienniki otwarcia bazy danych na otwieranie”. W przeciwnym razie pliki dziennika ponownych operacji online docelowej bazy danych zostaną nadpisane.

Na przykład:

RMAN> run ustaw do logseq 5 wątek 1; ustaw nową nazwę dla pliku danych 1 na „C: \ ORACLE \ ORADATA \ CLON \ SYSTEM01.DBF”; ustaw nową nazwę dla pliku danych 2 na 'C: \ ORACLE \ ORADATA \ CLON \ UNDOTBS01.DBF'; ustaw nową nazwę pliku danych 3 na 'C: \ ORACLE \ ORADATA \ CLON \ USERS01.DBF'; ustaw nową nazwę dla pliku danych 4 na 'C: \ ORACLE \ ORADATA \ CLON \ TOOLS01.DBF'; przywrócić plik kontrolny; zmienić montowanie bazy danych; przywrócić bazę danych; przełącz plik danych na wszystko; odzyskać bazę danych; sql "zmień plik zmiany nazwy bazy danych" c: \ oracle \ ORADATA \ V92 \ REDO01.LOG "na" c: \ oracle \ ORADATA \ clon \ REDO01.LOG ""; sql "zmień plik zmiany nazwy bazy danych" c: \ oracle \ ORADATA \ V92 \ REDO02.LOG "na" c: \ oracle \ ORADATA \ clon \ REDO02.LOG ""; sql "zmień plik zmiany nazwy bazy danych" c: \ oracle \ ORADATA \ V92 \ REDO03.LOG "na" c: \ oracle \ ORADATA \ clon \ REDO03.LOG ""; zmienić otwarte resetlogs bazy danych; 

6. Cel wyłączenia ('dummy_database').

7. Docelowa baza danych podłączenia przy uruchomieniu („dummy_database”) z plikiem parametrów z kroku 1

/ * Teraz zmienimy nazwę bazy danych DUMMY i zmienimy jej identyfikator bazy danych za pomocą NID * /

8. W systemie operacyjnym wprowadź NID, aby zmienić dbid i nazwę bazy danych. Nazwa tutaj to nazwa, którą chcesz nadać `` dummy_database '' Na przykład:

% nid TARGET = system / menedżer @ V92 DBNAME = CLON 

9. Cel wyłączenia ('dummy_database')

/ * Teraz uruchomimy NOWĄ bazę danych (CLON) z poprawną nazwą * /

10. Uruchomienie zduplikowanej bazy danych („dummy_database”) z własnym plikiem parametrów (DB_NAME musi być nazwą nowej bazy danych, tj. CLON). Byłby to ten sam plik parametrów, który zostałby utworzony dla dodatkowej instancji potrzebnej do powielonego polecenia RMAN.

Wniosek

Obie powyższe opcje wymagają wyłączenia docelowej bazy danych w przypadku przywracania jej na ten sam serwer. Często jest to niewykonalne. Jeśli jednak zduplikowana baza danych znajduje się na innym serwerze, docelowa baza danych NIE musi być zamykana na oryginalnym serwerze. Zamiast tego utwórz fałszywą instancję docelową na tym samym serwerze, na którym będzie się znajdować duplikat.

Jeśli zarówno zduplikowane, jak i docelowe bazy danych muszą znajdować się na tym samym serwerze, możesz użyć opcji LOCK_NAME_SPACE, aby wyświetlić fikcyjne wystąpienie, gdy oryginalna baza danych jest uruchomiona. Należy jednak zachować szczególną ostrożność podczas korzystania z tego parametru i upewnić się, że ORACLE_SID ma inną wartość.

W 10g parametr LOCK_NAME_SPACE został wycofany, należy użyć DB_UNIQUE_NAME. Podczas tej procedury wszelkie operacje RMAN powinny zostać zawieszone w „orig_database”. W przeciwnym razie zawiodą.

W przypadku zdalnego wykonywania rman należy wykonać tnsnames.ora (i inne niezbędne konfiguracje sql * net). Zachowaj szczególną ostrożność podczas używania tego parametru, ponieważ może to wpłynąć na połączenie z oryginalną docelową bazą danych („orig_database”).




Jeszcze bez komentarzy