ORACLE 8: BACKUP & RECOVERY
AMACLAR: Veri tabanini cokmelere ve hatalara karsi korumak.
Recovery zamanini minimuma indirmek. (Mean Time To Recover-MTTR)
Cokmeler arasi zamani maksimuma cikartmak. (Mean Time Between Failures-MTBF)
Veri kaybini en aza dusurmek.
BACKUP VE RECOVERY STRATEJILERINI TANIMLAMA:Isletimsel Gereksinmeler:
MTTR?i dusurmek.
MTBF?i artirmak.
Operasyonel Gereksinmeler:
Daimi Operasyon icin veri tabanini kullanilir halde tutmak.
Veri tabanindaki  yapisal  degisikliklerin derecesine dikkat etmek.
Teknik Gereksinmeler:
Veri tabaninin sistem kaynaklarini kullanim konfigurasyonu.
Backup esnasinda veri tabani uzerindeki islemsel yogunluk.
Cokme.hata tipleri.
Yonetimsel Uyumluluk; Gereksinimler degistikce backup&recovery stratejilerinin gozden gecirilmesi, kontrol ve test edilmesi.
ORACLE YEDEKLEME VE GERI DONUS MIMARISI:USER & SERVER PROCESS
USER PROCES		
*Bir application ya da tool baslatildiginda baslar.	
*Client ya da Server uzerinde olabilir.		
*User Program Interface(UPI) kullanir.		
*Kullanici baglantiyi kestiginde  kapanir.		
SERVER PROCESS
*Gecerli bir connection kuruldugunda baslar.
*Oracle instance?inin calistigi sistemdedir.
*Oracle Program Interface (OPI) kullanir.
*Kullanici baglantiyi kestiginde kapanir.
 MEMORY YAPISI:
Bir Oracle Instance baslatildiginda, System Global Area (SGA) ve 5 ya da daha fazla background process baslar.
.BACKGROUND PROCESSES:
DBWR:
Gorevi:Kirli ya da modify edilmis bufferlari diskteki datafilelara yazar. Bu islemi:
Database time out olustugunda,
Free buffer sayisi belli bir sayinin altina dustugunde,

Her checkpoint oldugunda,
Her log switch oldugunda,
Bir tablespace ya da datafile offline?a cekildiginde
yapar.
LGWR:
Gorevi:
Instance?in Redolog Bufferlarini idare eder.
Redolog Buffer?daki degisiklikleri redolog filelara yazar.
Bu islemi:
Her commit isleminden sonra,
Redolog Buffer 1/3 doluluga eristiginde,
LGWR time out oldugunda,
Her checkpointte DBWR database bufferi temizledikten sonra
yapar.
SMON:
Gorevi:
Het Instance Start edildiginde otomatic Instance Recovery yapar.
Kullanim halinde olmayan Temporary Segment?ler tarafindan kullanilan alani temizler.
Datafile icinde birbirine bitisik olmayan bos alanlari birlestirir.
PMON:
Gorevi:
Failed Processlerin kullandigi sistem kaynaklarini temizler.
Anormal sekilde bitirilmis (oldurulmus, abort edilmis vs.) process baglantilarini temizler.
Comit edilmemis transactionlari rollback yapar.
Bakcground processlerden farkli olarak diger processleri de (shared server ve dispatcher processi vs.) kontrol eder. Eger anormal sekilde bitirilmislerse bu processleri yeniden baslatir.
****Eger PMON processi olurse Instance kapanir ve yeniden baslatilmasi gerekir.
ARCH:
Gorevi:
Sadece log switch oldugunda  calisir.
Bir redolog grup inactive olduktan sonra, bu gurubun bir uyesini arsivler.
Eger redolog gurubundaki bir redolog inaccessible ise ARCh process otomatik olarak ayni guruptaki baska bir uyeyi arsivler.
Arsivleme esnasinda eger ARCH processi disk failure ya da invalid redolog tesbit ederse ayni gruptaki diger redolog?u dener.
LGWR processi bir redolog uzerine yazmaya baslamadan bu redolog ARCH processi tarafindan arsivlenmis olmalidir.
CKPT
Gorevi: LGWR ve DBWR processleri arasinda senkronizasyon saglar. Her checkpoint?te, uzerinde degisiklik yapilmis olan Database Buffer Cache?deki tum bufferlar ve tum Redolag Buffer Cache?deki redolog bufferlar diske once database buffer cashdeki ve sonrada redolog buffer cachedeki bufferlar yazilir.
Checkpoint asagidaki durumlarda olusur:
Bir tablespace offline ya da online oldugunda,
Online backup baslatildiginda,
DBA tarafindan force edildiginde,
Her bir log switch?de,
Son checkpointten belli bir period sonra sonra (LOG_CHECKPOINT_TIMEOUT),
Instance shutdown edildiginde.
Son checkpointten sonra belli sayida isletim sistemi blogu redolog fillara yazildiginda.( LOG_CHECKPOINT_INTERVAL)
Checkpoint processi:
Datafile ve redolog file?lari senkronize etmeyi saglar,
Her chekpoint tamamlandiginda file header?larini update eder.
Checkpoint sequence numarasini control file?a yazar.
Control file tum datafile ve redolog file?larin ayni checkpoint numarasinda olup olmadigini her database startup?da kontrol eder. Eger fillardaki sequence numaralarinda fark varsa recovery gerekir.
FILE YAPILARI
DATAFILE:
Hem system hem de user data diskde saklanir. Bir datafile committed ya da uncommitted data bulundurabilir. Eger database buffer cache full ise datafile bu durumda uncommitted data icerebilir. Eger bir failure olusursa redolog file?lar uncommited data?yi datafile?lardan temizlemek icin kullanilir.
REDOLOG FILE:
Database uzerinde yapilmis her tur degisikligi saklarlar. Eger bir failure olusursa rollback segmentler commited transactionlarin diske yazilmasini ve uncommited transactionlarin da rollback edilmsini sagarlar. Ayni bilgi redolog gruplardaki redolog file?lara da yazilir.
Rollback segmentler :
Before image
After image tutarlar.
Redolog file?lar ise:
Before image
After image
Transaction information bilgisini icerir.
Redolog file?lar recovery icin kullanilirlar. Rollback segmentler ise UNDO islemlerinde kullanilirlar.
DISK 1

DISK 2
VIEWS:
V$LOG:
Bu view her gruptaki redologlari gosterir. Ornegin :
Svrmgrl> select * from V$LOG;
GROUP#     THREAD#    SEQUENCE#  BYTES      MEMBERS    ARC STATUS           FIRST_CHAN FIRST_TIME         
---------- ---------- ---------- ---------- ---------- --- ---------------- ---------- --------------------
       11          1      21974   20971520          2 YES INACTIVE           42116669 02/27/01 09:47:25  
       12          1      21975   20971520          2 NO  CURRENT            42117487 02/27/01 09:53:58  
       13          1      21973   20971520          2 YES INACTIVE           42115915 02/27/01 09:35:28  
       14          1      21972   20971520          2 YES INACTIVE           42115817 02/27/01 09:33:28
4 rows selected.
V$LOGFILE:
Bu view her gruptaki redologlar hakkinda bilgi verir. Backuplanmasi gereken tum redologlari  listeler. Ornegin :
Svrmgrl> Select * from V$LOGFILE;
GROUP#     STATUS  MEMBER                                                                         
---------- ------- --------------------------------------------------------------------------------
       11         /oracle/TIP/origlogA/log_g11m1.dbf                                             
       11         /oracle/TIP/mirrlogA/log_g11m2.dbf                                             
       12         /oracle/TIP/origlogB/log_g12m1.dbf                                             
       12         /oracle/TIP/mirrlogB/log_g12m2.dbf                                             
       13         /oracle/TIP/origlogA/log_g13m1.dbf                                             
       13         /oracle/TIP/mirrlogA/log_g13m2.dbf                                             
       14         /oracle/TIP/origlogB/log_g14m1.dbf                                             
       14         /oracle/TIP/mirrlogB/log_g14m2.dbf                                             
8 rows selected.
V$LOG_HISTORY:
Bu view redologlar uzerinde yapilan degisiklikleri listeler.
Ornegin :
Svrmgrl> Select * from V$LOG_HISTORY;
THREAD#    SEQUENCE#  TIME                 LOW_CHANGE HIGH_CHANG ARCHIVE_NAME                             
---------- ---------- -------------------- ---------- ---------- --------------------------------------
        1      21976 02/27/01 10:03:47      42118835   42120413 /oracle/TIP/saparch/TIParch1_21976.dbf 
        1      21975 02/27/01 09:53:58      42117487   42118834 /oracle/TIP/saparch/TIParch1_21975.dbf 
        1      21974 02/27/01 09:47:25      42116669   42117486 /oracle/TIP/saparch/TIParch1_21974.dbf
        1      21973 02/27/01 09:35:28      42115915   42116668 /oracle/TIP/saparch/TIParch1_21973.dbf
CONTROLFILE
Database?i mount ve open etmek icin gereklidir.
Database yapisi hakkinda bildi tutar; database adi, database yaradilisindan bu yana gecen zaman bilgisi vs.
Binary bir dosyadir.
Database yaratilirken otomatik olarak init.ora parametre dosyasinda belirtilen lokasyonlarda olusur. (Mutlaka birden cok ve farkli diskler uzerinde yaratilmalidir)
** Recovery icin gereken senkronizasyon bilgisini tutar.
V$CONTROLFILE varolan ve backuplanmasi gereken tum controlfile?lari listeler. Ornegin;
Svrmgrl> select * from V$CONTROLFILE;
STATUS  NAME
----------- 	-----------------------------------------	
		/oracle/TIP/sapdata1/cntrl/cntrlTIP.dbf
		/oracle/TIP/sapdata2/cntrl/cntrlTIP.dbf
		/oracle/TIP/dbs/cntrlTIP.dbf
ARCHIVELOG FILE
Online redolog file?lar archivelog file?lara copyalanir.
Bir redolog file tamamiyle archivelog file?a yazilmadan bu redolog file?in uzerine asla yazilamaz.
PARAMETER FILE
Instance configuration parametrelerini iceren dosyadir.
Optional background processler ve database?i start etmek icin gereken tum parametreler bu dosyada (init.ora) yeralir.
PASSWORD FILE
Operating system authentication metoduna alternatif olarak kullanilir.
Cok daha guvenli authentication saglar.
Backup & Recovery gibi kritik gorevleri yapacak olan DBA?ler bu dosyada tanimlanir.
Bu dosya var ise bu doyada backuplanmalidir.
Bu dosya sayesinde:
Remote administration cesitli oracle tool?lari kullanilarak yapilabilir.
Database?e sadece yetkili(bu file?da belirtilen) DBA users erisebilir.
DATABASE ARCHIVE MODES
NOARCHIVELOG MODE:
Son full backup kullanilarak full restore yapilabilir.
Tum datafile redolog ve controlfile?larin hepsinin restor edilmesi gereklidir.
Online backup alinamaz.
Tum database backuplanmalidir.
Tek bir tablespace unavailable ise database calismaya devam edemez.
ARCHIVELOG MODE:
Media failure durumunda complete recovery yapilabilir.
Incomplete recovery yapilarak database istenilen bir zamana dondurulebilir.
Bir tablespace offline duruma gelse bile database calismaya devam eder.(SYSTEM tablespace?i haric)
Database online iken sadece hasar goren tablespace?in datafile?lari archivelog?lar uygulanarak recover edilebilir.
Media failure durumunda bir database;
Belli bir archive log?a kadar
Belli bir System Change Number?a (SCN) kadar,
Belli bir zamana kadar
recover edilebilir.
DATABASE ARCHIVE MODUNUN DEGISTIRILMESI ICIN GEREKLI ADIMLARStartup ve mount  database.
Svrmgrl> startup mountArchive modu degistir.
Svrmgrl> Alter database [ARCHIVELOG|NOARCHIVELOG];Shutdown database NORMAL ya da IMMEDIATE
Svrmgrl> shutdown  immediate ya da
Svrmgrl> shutdownStart ve open database.
Svrmgrl> startup
Archive Mod durumunu gormek icin :
Svrmgrl> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /oracle/TIP/saparch/TIParch
Oldest online log sequence     21981
Next log sequence to archive   21984
Current log sequence           21984
ARCHIVING ICIN PARAMETRELER:
LOG_ARCHIVE_DEST			: Archivelog  lokasyonu.
						 C:\orant\database\archive
LOG_ARCHIVE_DUPLEX_DEST		: Archivelog?larin ikinci olarak yazilacaklari lokasyon.
LOG_ARCHIVE_MIN_SUCCEED_DEST	: Kac kopya Archivelog yaratilacagi. Default:1 Max:2
LOG_ARCHIVE_FORMAT			: Archive log file?larin isim formati.
						  Arch_%s.arc
	%s	: Log sequence numarasi.
	%S	: Log sequence nmarasi onu sifirla doldurulmus.
	%t	: Thread numarasi.
	%T	: Thread numarasi onu sifirla doldurulmus.
AUTOMATIC ARCHIVING:
Database startup edildiginde otomatik arsivlemesi isteniliyorsa :
LOG_ARCHIVE_START = TRUE
				FALSE ise otomatik arsivlemeyi durdurur. DBA manuel olarak
archivelemeyi baslatmalidir.
MANUEL ARCHIVING:
Svrmgrl> ALTER SYSTEM ARCHIVE LOG START [TO <LOCATION>]; Otomatik arsivlemeyi baslatir. [TO <LOCATION>] optional olup eger lokasyon belirtilmezse init.ora?da LOG_ARCHIVE_DEST ile belirtilen lokasyona eger belirtilirse belirtilen farkli lokasyona archive yazilir.
Svrmgrl> ALTER SYSTEM ARCHIVE LOG STOP; Otomatik arsivlemeyi durdurur.
Cesitli degisik parametreler de vardir:START		: Otomatik arsivlemeyi baslatir.
STOP		: Otomatik arsivlemeyi durdurur.
TO			: Redolog?larin arsivlenecegi lokasyonu belirtir.
SEQUENCE	: Log sequence numarasiyla belirtilen redolog grubu arsivler.
GROUP		: Online redolog grubu archiveler.
CURRENT	: Current redolog grubu arsivler.
NEXT		: En eski arsivlenmemis redolog grubu arsivler.
ALL		: Tum online redolog gruplari arsivler.
Ornegin:
Svrmgrl> ALTER SYSTEM ARCHIVE LOG SEQUENCE 79;
NOT: ALTER SYSTEM ARCHIVE LOG STOP komutundan once otomatik arsivlemenin olmadigindan emin olun.
VIEWS
V$ARCHIVED_LOG:
Ilgili bilgileri control file?dan okur.
Arsivlenen redolog?lar hakkinda su bilgileri verir: thread number, resetlogs change number, resetlogs time value, first change number, next change number,  number of redolog files. (Oracle 8 ile geldi.)
V$ARCHIVE_DEST:
Instance?in archivelog;larla iliskili icerdigi bilgileri verir: archivelog destination, thread number, sequence number, current value, mode/status of the redolog files. (Oracle 8 ile geldi.)
V$LOG_HISTORY: (Yukarida bahsedildi.)
V$DATABASE:
Database?in archiveleme modunu ve statusunu gosterir.
SVRMGR> select * from v$database;
NAME      CREATED              LOG_MODE     CHECKPOINT ARCHIVE_CH
--------- -------------------- ------------ ---------- ----------
TIP       09/29/99 21:09:31    ARCHIVELOG     42132370   42131521
1 row selected.
ARCHIVE LOG LIST de ayni bilgiyi verir.
SVRMGR> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /oracle/TIP/saparch/TIParch
Oldest online log sequence     21988
Next log sequence to archive   21991
Current log sequence           21991
Hosted by www.Geocities.ws

1