Odzyskanie bazy Oracle na innym serwerze.

0

Cześć.
Potrzebuje pomocy przy odzyskaniu bazy Oracle na innym serwerze. Mam backup z Rman-a plus archivelogi. Baza wcześniej była na Win server 2012R2. Chcę ją odzyskać na Win server 2019.
W backupie mam kopie spfile i controlfile.
Baza w wersji 11.2.0.4

Zainstalowałem czystego Oracla w takiej samej wersji na nowym serwerze. Ścieżki są identyczne.
Dodałem nową bazę o tym samym Sid-zie. Pojawiły się tabele - temp, system, sysaux, redo, users itp.
Nowa baza ma inny dbid niż źródłowa (w kopii).
Na bazie źródłowej nie mam tabeli users.

Jak teraz prawidłowo odzyskać bazę z kopii.
Za pierwszym razem jak przywróciłem backup to miałem błędy związane z dbid, tabela temp (temporary), redo oraz podczas próby połączenia z konta użytkownika ora-38802.

Może jakaś podpowiedź co robię źle

0

Zrzuty ekranu z plików kopii BACKUP RMAN
plus błędy które się pojawiają

podczas próby podglądu TABLESPACE oraz próby zalogowania na użytkownika z bazy.

error.JPG
error1.JPG
obraz1.JPG
obraz2.JPG

0

Do odtwarzania z backupu RMAN nie jest ci potrzebna nowa baza, ona powstanie przy odtwarzaniu. Potrzebujesz jedynie utworzonej instancji w Windows (usługi).

To jest pełna kopia (robiona przy zamkniętej instancji) czy niepełna (online)?

W przypadku pełnej kopii procedura jest dość prosta:

set ORACLE_SID=baza

rman target /
set dbid, startup nomount, restore controlfile, restore database, recover database, alter database open resetlogs
https://www.thegeekstuff.com/2014/11/oracle-rman-restore/

Po startup nomount możesz odzyskać kopię spfile albo ręcznie utworzyć pfile z podstawowymi parametrami tj.
dbname
db_recovery_file_dest
db_recovery_file_dest_size
sga_target

https://www.learn-it-with-examples.com/database/oracle/backup-recovery/restore-spfile-using-oracle-rman.html

0

Kopia robi się automatycznie z harmonogramu codziennie o 24:00 na otwartej bazie.
Dodatkowo powstaje plik archiwum że zmianami które powstały podczas tworzenia kopii.
Można to więc określić jako pełną kopię.

Spróbuję jutro postawić instancje od nowa i następnie odtworzyć bazę z najnowszego backupu.

Dodam że jak wykonam expdp bazy i go zaimportuje to wszystko działa poprawnie. Baza ma jednak inny dbid oraz nie można dograć archivelogow które się stworzyły później. Roman ich nie widzi pomimo podania prawidłowej ścieżki do katalogu z archlogami.

0

No to skoro na otwartej bazie, to kopia jest niepełna. Chyba żebyś zamknął oryginalną bazę, skopiował wszystkie brakujące archivelogi i redologi na nowy serwer i wtedy masz pełne odtwarzanie. Ale jak zamkniesz, to możesz zrobić pełną kopię offline, której odtworzenie jest dość łatwe.

Przy odtwarzaniu do punktu w czasie (czyli do momentu początku backupu) procedura jest nieco inna, ale w necie znajdziesz sporo przykładów (point in time recovery). Zamiast znacznika czasu można użyć nr SEQ albo SCN, nie ma znaczenia (z tym że czas jest mniej dokładny).

Expdp to zupełnie inna bajka, to kopia logiczna a nie fizyczna. Eksportujesz stan na dany moment i nic nie możesz potem do tego dorzucić.

Kolejna opcja to duplikacja bazy z backupu (choć w 11g była już chyba nawet z działającej bazy), wymaga nieco przygotowań i połączenia sieciowego między bazami, ale przydaje się gdy chcesz regularnie robić działający duplikat bazy na innym serwerze (uwaga na licencje! nowy serwer to oddzielna licencja, choć był bodajże wyjątek dla bazy służącej właśnie do testowania backupów i działającej przez ograniczony czas).

1 użytkowników online, w tym zalogowanych: 0, gości: 1