Logowanie
Oprócz poniżej opisywanych metod możemy logować się stosując
do SQLPlus
sqlplus / as sysdba
do RMAN
rman target /
1. Odtworzenie bazy danych Oracle po awarii
Logujemy się do RMAN
rman TARGET SYS/Password NOCATALOG
potem zamykamy bazę i uruchamiamy w trybie mount
RMAN:> shutdown immediate;
RMAN:> startup mount;
przywracamy do stanu z konkretnej daty
RMAN> run
{
allocate channel dev1 type disk;
set until time "to_date('2011-12-30:00:00:00', 'yyyy-mm-dd:hh24:mi:ss')";
restore database;
recover database; }
otwieramy bazę resetując dzienniki zdarzeń
RMAN> alter database open resetlogs;
W kolejnym punkcie szczegółowy opis
2. Jak wykonać Backup pełny i różnicowy bazy danych Oracle (XE).
Baza musi być w trybie ARCHIVELOG. Aby to sprawdzić, w jakim trybie
jest baza, należy połączyć się do SQLPlus na konto SYS, wpisując w terminalu
sqlplus sys/haslo as sysdba
wykonujemy zapytanie
SQL> SELECT LOG_MODE FROM SYS.V$DATABASE;
Jeśli baza jest w trybie NOARCHIVELOG, to należy przełączyć ją w tryb ARCHIVELOG:
wykonujemy polecenia
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
SQL> exit;
wychodzimy z SQLPlus
Przechodzimy do narzędzia RMAN logujemy się na konto SYS
wpisujemy
RMAN
a następnie
RMAN> connect target sys/haslo
Włączenie automatycznych kopii pliku kontrolnego
Kiedy zostanie nawiązane połączenie z bazą należy wykonać
RMAN> configure controlfile autobackup on
Prawidłowe działanie backupu bazy wymaga wykonanie przynajmniej jednego backupu pełnego. Wykonujemy następujące polecenie, przy założeniu, że {path} jest ścieżką do folderu do którego zapisywane będą pliki backupu. Folder taki musimy wcześniej utworzyć w wybranym przez siebie miejscu na dysku.
run {
backup incremental level 0 as compressed backupset
spfile format '{path}/%d_%I_%s_FULL_%U.spfile'
database format '{path}/%d_%I_%s_FULL_%U.database'
plus archivelog delete all input format
'{path}/%d_%I_%s_FULL_%U.archivelog';
backup as compressed backupset current controlfile format
' {path}/%d_%I_%s_FULL_%U.controlfile';
}
Po wykonaniu backupu pełnego możliwe jest wykonywanie backupów różnicowych.
Aby wykonać backup różnicowy musimy w narzędziu RMAN wykonać poniższe polecenie. Podobnie jak w przypadku pełnego {path} jest ścieżką do folderu do którego zapisywane będą pliki backupu.
run {
backup incremental level 1 as compressed backupset
spfile format '{path}/%d_%I_%s_DIFF_%U.spfile'
database format '{path}/%d_%I_%s_DIFF_%U.database'
plus archivelog delete all input format
'{path}/%d_%I_%s_DIFF_%U.archivelog';
backup as compressed backupset current controlfile format
'{path}/%d_%I_%s_DIFF_%U.controlfile';
}
3. Odtwarzanie bazy Oracle (XE)
Odtworzenie bazy danych z wykonanego backupu, na docelowym hoście musi spełniać następujące warunki konieczne
Oprócz poniżej opisywanych metod możemy logować się stosując
do SQLPlus
sqlplus / as sysdba
do RMAN
rman target /
1. Odtworzenie bazy danych Oracle po awarii
Logujemy się do RMAN
rman TARGET SYS/Password NOCATALOG
potem zamykamy bazę i uruchamiamy w trybie mount
RMAN:> shutdown immediate;
RMAN:> startup mount;
przywracamy do stanu z konkretnej daty
RMAN> run
{
allocate channel dev1 type disk;
set until time "to_date('2011-12-30:00:00:00', 'yyyy-mm-dd:hh24:mi:ss')";
restore database;
recover database; }
otwieramy bazę resetując dzienniki zdarzeń
RMAN> alter database open resetlogs;
W kolejnym punkcie szczegółowy opis
2. Jak wykonać Backup pełny i różnicowy bazy danych Oracle (XE).
Baza musi być w trybie ARCHIVELOG. Aby to sprawdzić, w jakim trybie
jest baza, należy połączyć się do SQLPlus na konto SYS, wpisując w terminalu
sqlplus sys/haslo as sysdba
wykonujemy zapytanie
SQL> SELECT LOG_MODE FROM SYS.V$DATABASE;
Jeśli baza jest w trybie NOARCHIVELOG, to należy przełączyć ją w tryb ARCHIVELOG:
wykonujemy polecenia
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
SQL> exit;
wychodzimy z SQLPlus
Przechodzimy do narzędzia RMAN logujemy się na konto SYS
wpisujemy
RMAN
a następnie
RMAN> connect target sys/haslo
Włączenie automatycznych kopii pliku kontrolnego
Kiedy zostanie nawiązane połączenie z bazą należy wykonać
RMAN> configure controlfile autobackup on
Prawidłowe działanie backupu bazy wymaga wykonanie przynajmniej jednego backupu pełnego. Wykonujemy następujące polecenie, przy założeniu, że {path} jest ścieżką do folderu do którego zapisywane będą pliki backupu. Folder taki musimy wcześniej utworzyć w wybranym przez siebie miejscu na dysku.
run {
backup incremental level 0 as compressed backupset
spfile format '{path}/%d_%I_%s_FULL_%U.spfile'
database format '{path}/%d_%I_%s_FULL_%U.database'
plus archivelog delete all input format
'{path}/%d_%I_%s_FULL_%U.archivelog';
backup as compressed backupset current controlfile format
' {path}/%d_%I_%s_FULL_%U.controlfile';
}
Po wykonaniu backupu pełnego możliwe jest wykonywanie backupów różnicowych.
Aby wykonać backup różnicowy musimy w narzędziu RMAN wykonać poniższe polecenie. Podobnie jak w przypadku pełnego {path} jest ścieżką do folderu do którego zapisywane będą pliki backupu.
run {
backup incremental level 1 as compressed backupset
spfile format '{path}/%d_%I_%s_DIFF_%U.spfile'
database format '{path}/%d_%I_%s_DIFF_%U.database'
plus archivelog delete all input format
'{path}/%d_%I_%s_DIFF_%U.archivelog';
backup as compressed backupset current controlfile format
'{path}/%d_%I_%s_DIFF_%U.controlfile';
}
3. Odtwarzanie bazy Oracle (XE)
Odtworzenie bazy danych z wykonanego backupu, na docelowym hoście musi spełniać następujące warunki konieczne
- ta sama wersja Oracle,
- baza danych musi mieć tę samą nazwę,
- struktura wszystkich katalogów bazy danych musi być taka sama jak na oryginalnym hoście.
- pliki backupu muszą znajdować w takiej samej ścieżce do której zostały utworzone.
logujemy się na konto SYS i wpisujemy:
RMAN
a następnie:
RMAN> connect target sys/haslo
również możemy zalogować w następujący sposób
RMAN> rman target /
Po zalogowaniu należy wykonywać kolejne polecenia:
RMAN> shutdown immediate;
RMAN> set dbid {DBID}; (parametr DBID widoczny jest po zalogowaniu do bazypoleceniem RMAN)
RMAN> startup force nomount;
Następnie przy założeniu, że {SpfilePath}będzie pełną ścieżką do pliku o rozszerzeniu .spfile znajdującego się w folderze {path},najświeższy plik spfile, a{tmp}będzie dowolnym folderem tymczasowym, wykonujemy polecenia:
RMAN> restore spfile to pfile '{tmp}/init.ora'from'{SpfilePath}';RMAN> shutdown immediate;RMAN> startup nomount pfile='{tmp}/init.ora';
Następnie przy założeniu, że {ControlfilePath} będzie pełną ścieżką do pliku o rozszerzeniu .controlfile znajdującego się w folderze {path},najświeższy plik controlfile , wykonać polecenia:
RMAN> restore controlfile from '{ControlfilePath}';RMAN> alter database mount;
Następnie dla każdego pliku w folderze {path}należy wykonać poniższą komendę, wstawiając pod {FilePath} pełną ścieżkę pliku.
RMAN> catalog backuppiece '{FilePath}';
Następnie należy wykonywać kolejno polecenia:
RMAN> restore database;
RMAN> recover database;
RMAN> sql 'create spfile from pfile';
RMAN> alter database open resetlogs;
RMAN> shutdown immediate;
RMAN> startup;RMAN> exit;
To już wszystko