czwartek, 11 lipca 2013

Domyślne odtwarzanie bazy Oracle / wybór bazy do odtworzenia

Domyślnie Oracle odtwarza zawsze ostatnią bazę.

1. Odtwarzanie z tasiemki (urządzenia)

Zatrzymujemy Oracle

sqlplus /nolog
connect / as sysdba
shutdown immediate;


Montujemy bazę lecz nie otwieramy

startup mount;

Wykonujemy skrypt RMAN (odtwarzanie z tasiemki)

rman target  /
@backup.rman

run {
allocate channel t1 type 'sbt_tape';
restore database;
recover database;
release channel t1;
}



Otwieramy bazę

shutdown immediate;
startup;



Wybór bazy do odtworzenia z taśmy

list backup;

Zatrzymujemy Oracle

sqlplus /nolog
connect / as sysdba
shutdown immediate;


Montujemy bazę lecz nie otwieramy

startup mount;

Wykonujemy skrypt RMAN (odtwarzanie z tasiemki)

rman target  /
@backup.rman

run {
allocate channel t1 type 'sbt_tape';
restore database from tag 'TAG20091230T124556';
recover database;
release channel t1;
}

Zatrzymujemy i uruchamiamy Oracle

shutdown immediate;
startup;


2. Odtwarzanie z dysku

Zatrzymujemy Oracle

sqlplus /nolog
connect / as sysdba
shutdown immediate;


rman target  /

Uruchamiamy bazę bez montowania

RMAN> startup nomount;

Ustawiamy identyfikator bazy DBID

RMAN> set DBID = 1786613587;

Odtwarzamy plik kontrolny controlfile

RMAN> restore controlfile from autobackup;

Montujemy bazę i odtwarzamy pliki danych bazy 

RMAN> alter database mount;
RMAN> restore database;
RMAN> recover database noredo;
RMAN> alter database open resetlogs;


środa, 20 lutego 2013

deadlocks - zakleszczenia

Zakleszczenie (deadlocks) powstaje, gdy dwie równolegle działające transakcje próbują modyfikować te same dane i w pewnym momencie dochodzi do wzajemnego zablokowania zasobów

System Oracle wykrywa zakleszczenie i rozwiązuje je wykorzystując algorytm wyboru tej transakcji, która zostanie przerwana, tzn. jej ostatnie polecenie zostanie przerwane, wycofane. Właściciel transakcji, dla której nastąpiło zakleszczenie otrzymuje wówczas

komunikat:

ORA-00060: deadlock detected while waiting for resource