{"id":148,"date":"2008-10-04T00:08:00","date_gmt":"2008-10-03T22:08:00","guid":{"rendered":"http:\/\/antynet.pl\/index.php\/2008\/10\/04\/oracle-recovery\/"},"modified":"2010-08-24T22:43:49","modified_gmt":"2010-08-24T20:43:49","slug":"oracle-recovery","status":"publish","type":"post","link":"https:\/\/www.antynet.pl\/index.php\/2008\/10\/04\/oracle-recovery\/","title":{"rendered":"ORACLE RECOVERY"},"content":{"rendered":"<h4>szacowanie ilo\u015bci danych do wprowadzenia przy odtwarzaniu (r\u00f3znica pomi\u0119dzy tym co w plikach danych a tym co w redologach):<\/h4>\n<p>SELECT * FROM v$instance_recovery;<\/p>\n<p>wymagane do archiwizacji:<\/p>\n<ul>\n<li>v$datafile<\/li>\n<li>v$controlfile <\/li>\n<li>v$logfile<\/li>\n<li>SPFILE<sid>.ora<\/sid><\/li>\n<li>PWD<sid>.ora<\/sid><\/li>\n<\/ul>\n<h4>prze\u0142\u0105czenie ca\u0142ej bazy do archiwizacji:<\/h4>\n<p>ALTER DATABASE BEGIN|END BACKUP;<\/p>\n<h4>sprawdzenie plik\u00f3w w procesie backupu:<\/h4>\n<p>SELECT file#,status FROM v$backup;<\/p>\n<h4>ustawianie takiego samego nr SCN dla wszystkich plik\u00f3w danych-CHECKPOINT:<\/h4>\n<p>ALTER SYSTEM SWITCH LOGFILE;<\/p>\n<h4>kopia pliku kontronlnego:<\/h4>\n<p>ALTER DATABASE BACKUP CONTROLFILE TO &#8217;<path>&#8217;;<\/path><\/p>\n<p>ALTER DATABASE BACKUP CONTROLFILE TO TRACE;<\/p>\n<h4>wywo\u0142anie checkpointa:<\/h4>\n<p>ALTER SYSTEM CHECKPOINT;<\/p>\n<p>podano za http:\/\/www.ploug.org.pl\/plougtki.php?action=read&p;=8&a;=6<\/p>\n<h4><i>zawarto\u015b\u0107 nagl\u00f3wka pliku danych:<\/i><\/h4>\n<p>start SCN,<br \/>nr sekwencyjny bie\u017c\u0105cego redologa w momencie punktu kontrolnego,<br \/>licznik punkt\u00f3w kontrolnych dla danego pliku<\/p>\n<h4><i>zawarto\u015b\u0107 controlfile:<\/i><\/h4>\n<p>stop SCN dla kazdego pliku danych (dla pracuj\u0105cej bazy niesko\u0144czony),<br \/>nr sekwencyjny bie\u017c\u0105cego redologa w momencie punktu kontrolnego,<br \/>licznik  punkt\u00f3w kontrolnych dla ka\u017cdego pliku danych<\/p>\n<h4><i>zamkni\u0119cie bazy (normal,imediate) to zrobienie punktu kontrolnego czyli:<\/i><\/h4>\n<ol>\n<li>zwi\u0119kszenie licznika punkt\u00f3w kontrolnych w nag\u0142\u00f3wku pliku danych<br \/>oraz zwiekszenie licznika punkt\u00f3w kontrolnych w controlfile dla w\/w pliku,<\/li>\n<li>uaktualnienie nr sekwencyjnego bie\u017c\u0105cego redologa w nag\u0142\u00f3wku pliku danych i w controlfile<\/li>\n<li>stop SCN dla okre\u015blonego pliku danych w controlfile przyjmuje tak\u0105 warto\u015b\u0107 jak start SCN tego pliku <\/li>\n<\/ol>\n<h4><i>uruchomienie bazy (<\/i>sprawdzenie czy):<\/h4>\n<ol>\n<li>licznik punkt\u00f3w kontrolnych w nag\u0142\u00f3wku pliku = licznik punkt\u00f3w kontrolnych w controlfile dla pliku<\/li>\n<li>nr sekwencyjny bie\u017c\u0105cego redologa w nag\u00f3wku pliku = nr sekwencyjny w controlfile<\/li>\n<li>start SCN w pliku danych = stop SCN w controlfile dla pliku<\/li>\n<\/ol>\n<p><span style=\"font-family:Arial;\"><span style=\"font-size:78%;\">W przypadku gdy baza danych zostanie zamkni\u0119ta w trybie <b><i>ABORT<\/i><\/b> punkt kontrolny nie zostanie wykonany. Oznacza to, \u017ce warto\u015bci <b><i>stop SCN<\/i><\/b> (w pliku kontrolnym) dla wszystkich plik\u00f3w danych nie zostan\u0105 zr\u00f3wnane z odpowiadaj\u0105cymi im warto\u015bciami <b><i>start SCN<\/i><\/b> (por. rysunek 3b). Je\u017celi pliki danych nie zosta\u0142y wczytane z kopii bezpiecze\u0144stwa, to po ponownym otwarciu bazy danych liczniki punkt\u00f3w kontrolnych i numery sekwencyjne w plikach danych posiadaj\u0105 takie same warto\u015bci, jak odpowiadaj\u0105ce im liczniki i numery sekwencyjne w pliku kontrolnym. Natomiast, warto\u015bci parametr\u00f3w <b><i>start SCN<\/i><\/b> i <i><b>stop SCN<\/b><\/i> s\u0105 r\u00f3\u017cne. Oznacza to, \u017ce system powinien zaaplikowa\u0107 zmiany zapisane we w\u0142\u0105czonych (online) plikach dziennika powt\u00f3rze\u0144<\/span>.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\";font-family:Arial;font-size:78%;\">W przypadku gdy po zamkni\u0119ciu bazy danych dowolny plik danych zostanie zast\u0105piony plikiem archiwalnym, warto\u015b\u0107 licznika punkt\u00f3w kontrolnych i numer sekwencyjny w jego nag\u0142\u00f3wku nie b\u0119d\u0105 zgodne z odpowiadaj\u0105cymi im warto\u015bciami w pliku kontrolnym. Niezgodno\u015b\u0107 ta zostanie wykryta w momencie otwierania bazy danych. W\u00f3wczas system zg\u0142osi potrzeb\u0119 odtworzenia bazy danych. Po wydaniu odpowiedniego polecenia, do archiwalnego pliku danych zostan\u0105 zaaplikowane zmiany pochodz\u0105ce ze zarchiwizowanych plik\u00f3w dziennika powt\u00f3rze\u0144. Do pliku danych b\u0119d\u0105 aplikowane zmiany zapisane w plikach dziennika pocz\u0105wszy od numeru wskazywanego w nag\u0142\u00f3wku tego pliku danych, a sko\u0144czywszy na <\/span><span style=\"font-size:78%;\">pliku dziennika wskazywanym w pliku kontrolnym &#8211; dla odtwarzania pe\u0142nego lub<\/span><span style=\"font-size:78%;\"><span style=\"font-family:Arial;\"> <\/span>wskazanym pliku dziennika &#8211; dla odtwarzania cz\u0119\u015bciowego.<\/span><\/p>\n<p><span style=\";font-family:Arial;font-size:78%;\">Zaleca si\u0119 sporz\u0105dzanie kopii jednej przestrzeni tabel w danej chwili. Opr\u00f3cz archiwizacji plik\u00f3w sk\u0142adaj\u0105cych si\u0119 na przestrzenie tabel, nale\u017cy sporz\u0105dzi\u0107 r\u00f3wnie\u017c kopie pliku kontrolnego i wszystkich zarchiwizowanych plik\u00f3w dziennika powt\u00f3rze\u0144 zapisywanych w czasie archiwizacji przestrzeni. W celu odtworzenia stanu bazy danych na podstawie kopii archiwalnej, wykonanej w trybie online, system musi zaaplikowa\u0107 zapisy ze wszystkich tych zarchiwizowanych plik\u00f3w dziennika powt\u00f3rze\u0144, kt\u00f3re zosta\u0142y utworzone w czasie mi\u0119dzy wydaniem polecenia <b><i>alter tablespace &#8230; begin backup, a alter tablespace &#8230; end backup<\/i><\/b>. Do odtworzenia pe\u0142nego s\u0105 r\u00f3wnie\u017c potrzebne pozosta\u0142e zarchiwizowane pliki dziennika, zapisane po zako\u0144czeniu archiwizacji.<\/span><\/p>\n<p><span style=\";font-family:Arial;font-size:78%;\">W celu wykonania archiwizacji fizycznej w trybie online ca\u0142ej bazy danych nale\u017cy wykona\u0107 poni\u017csze operacje:<\/p>\n<ol>\n<li>Uruchomi\u0107 baz\u0119 danych w trybie ARCHIVELOG<\/li>\n<li>Odczyta\u0107 numer sekwencyjny najstarszego w\u0142\u0105czonego (online) pliku dziennika powt\u00f3rze\u0144 (Oldest online log sequence) wydaj\u0105c polecenie:<b> sql> archive log list<br \/><\/b>W celu odtworzenia bazy danych w przypadku awarii no\u015bnik\u00f3w niezb\u0119dne b\u0119dzie zaaplikowanie zapis\u00f3w w zarchiwizowanych plikach dziennika powt\u00f3rze\u0144 o numerach pocz\u0105wszy od numeru sekwencyjnego najstarszego w\u0142\u0105czonego (online) pliku dziennika powt\u00f3rze\u0144.<\/li>\n<li>Prze\u0142\u0105czy\u0107 wybran\u0105 przestrze\u0144 tabel w tryb archiwizacji wydaj\u0105c polecenie:<br \/><b>sql> alter tablespace nazwa_przestrzeni begin backup;<\/b><\/li>\n<li>Wykona\u0107 kopie bezpiecze\u0144stwa wszystkich plik\u00f3w sk\u0142adaj\u0105cych si\u0119 na wybran\u0105 w kroku 3przestrze\u0144 tabel.<\/li>\n<li>Wy\u0142\u0105czy\u0107 tryb archiwizacji dla przestrzeni tabel wskazanej w kroku 3 wydaj\u0105c polecenie:<br \/><b>sql> alter tablespace nazwa_przestrzeni end backup;<\/b><\/li>\n<li>Powt\u00f3rzy\u0107 kroki 3, 4 i 5 dla pozosta\u0142ych przestrzeni tabel.<\/li>\n<li>Odczyta\u0107 numer sekwencyjny bie\u017c\u0105cego pliku dziennika powt\u00f3rze\u0144 (Current log sequence) wydaj\u0105c polecenie:<br \/><b>sql> archive log list<br \/><i>Current log sequence<\/i><\/b> okre\u015bla numer ostatniego zarchiwizowanego pliku dziennika powt\u00f3rze\u0144, kt\u00f3rego kopi\u0119 nale\u017cy sporz\u0105dzi\u0107 aby mo\u017cliwe by\u0142o odtworzenie bazy danych.<\/li>\n<li>Wymusi\u0107 prze\u0142\u0105czenie plik\u00f3w dziennika poleceniem:<br \/><b>sql> alter system switch logfile;<\/b><\/li>\n<li>Wykona\u0107 kopi\u0119 bezpiecze\u0144stwa wszystkich zarchiwizowanych plik\u00f3w dziennika powt\u00f3rze\u0144 pocz\u0105wszy od pliku o numerze okre\u015blonym w kroku 2, a sko\u0144czywszy na pliku o numerze okre\u015blonym w kroku 7.<\/li>\n<li>Wykona\u0107 kopi\u0119 bezpiecze\u0144stwa pliku kontrolnego wydaj\u0105c polecenie:<br \/><b>sql> alter database backup controlfile to 'nazwa_pliku&#8217;;<\/b><\/li>\n<\/ol>\n<p><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>szacowanie ilo\u015bci danych do wprowadzenia przy odtwarzaniu (r\u00f3znica pomi\u0119dzy tym co w plikach danych a tym co w redologach): SELECT * FROM v$instance_recovery; wymagane do archiwizacji: v$datafile v$controlfile v$logfile SPFILE.ora PWD.ora prze\u0142\u0105czenie ca\u0142ej bazy do archiwizacji: ALTER DATABASE BEGIN|END BACKUP; sprawdzenie plik\u00f3w w procesie backupu: SELECT file#,status FROM v$backup; ustawianie takiego samego nr SCN dla [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[80],"tags":[66],"class_list":["post-148","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-oracle-recovery"],"_links":{"self":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/comments?post=148"}],"version-history":[{"count":1,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/148\/revisions"}],"predecessor-version":[{"id":204,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/148\/revisions\/204"}],"wp:attachment":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/media?parent=148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/categories?post=148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/tags?post=148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}