11 Ekim 2015, 15:35 | #1 |
Üyelik tarihi: 01 Mart 2015
Mesajlar: 203 WEB Sitesi: www.code.com IRC Sunucusu: irc.code.com İlgi Alanı: Alınan Beğeni: 33 |
Oracle Nedir?
Oracle Veritabani Yapilari
1. Mantiksal Yapilar Tablespaces: Veritabani, tablespace olarak adlandirilan mantiksal saklama birimlerine bölünür. Tablespace, aralarinda bir iliski olan mantiksal yapilarin gruplandirilmasinda kullanilir. Bir tablespace online (erisilebilir) ya da offline (erisilemez) olabilir. Normalde tablespace‘ler üzerlerindeki bilgiye erisimin yapilabilmesi için online konumundadir. Fakat bazi özel amaçlarla tablespace‘ler offline konumuna alinabilirler. Sema ve Sema nesneleri: Sema, nesnelerden olusan bir derlemdir. Sema nesneleri dogrudan veritabaninin verilerine karsilik gelen mantiksal yapilardir. Çizelge (table): Oracle veritabaninda verileri saklamak için kullanilan temel birimdir. Çizelgeler satirlar (rows) ve sütunlar (columns) olarak tutulurlar. Her çizelge, adi ve sütun kümesi (nitelik) ile tanimlanir. Her sütunun bir adi, türü ve genislik ya da duyarliligi verilir. Çizelge bir kez yaratildiktan sonra içine geçerli satirlar konulabilir ve daha sonra da bu çizelgenin satirlari sorgulanabilir, silinebilir ya da günlenebilir. Görüntü (view): Bir ya da daha fazla çizelgedeki verilerin özel bir gösterimidir. Bir görüntü, saklanmis bir sorgu (stored query) olarak da düsünülebilir. Görüntüler, gerçekte veri içermezler. Verilerini, temel çizelgeler (base tables) olarak adlandirilan çizelgelerden ya da baska görüntülerden türetirler. Görüntüler, çizelgeler gibi, üzerlerinde bazi sinirlamalarla ekleme, silme, günleme ve sorgulama islemlerine izin verirler. Görüntü üzerinde gerçeklestirilen tüm islemler, görüntünün temel tablolarini da etkiler. Seriler (sequences): Seri, veritabani çizelgelerinin numerik sutunlari için biricik (unique) numaralar üretir. Çizelge satirlari için otomatik olarak biricik numaralar olusturmaya yarar. Sira numaralari çizelgelerden bagimsizdir. Bu yüzden ayni seri fakli çizelgelerce kullanilabilir. Program birimleri (program units): Bu terim, yordam (procedure) ve islev (function) ile paketler (package) için kullanilir.
Data block, Extent ve Segment:
Oracle veritabani, bir ya da daha fazla kontrol kütügünden, veri kütüklerinden ve adlari kontrol kütüklerinde bulunan redo log kütüklerinden olusur. Fiziksel YapiTanimi Veri Kütükleri (Data Files)Tüm veritabani verilerini içerir. Mantiksal yapilar (table, index..) veri kütükleri içinde fiziksel olarak saklanir. Redo Log Kütükleri (Redo Log Files) Kurtarma amaciyla kullanilmak üzere, veritabanina yapilan tüm degisiklikleri tutar. Kontrol Kütükleri (Control Files) Veritabaninin fiziksel yapisini ve durumunu kaydeder. Oracle veritabani bir ya da daha fazla veri kütügünden olusur. Veri kütükleri; veritabaninin kendisi hakkindaki bilgiyi saklayan veri sözlügünü (data dictionary) ve kullanici verilerini içerir. Sql*Plus ya da Sql*DBA kullanilarak SQL deyimleri yardimiyla yaratilabilir ve mantiksal Oracle bloklarina bölünebilir. Oracle, gerekli alani isletim sistemi tarafindan yaratilirken ayirilan büyük ve sabit boylu kütükler kullanir. Her kütük, çizelge (table) ya da dizin (index) gibi bir çok nesne içerir. Kütük alanlarinin yönetimi, veritabani yöneticisinin (Database Administrator- DBA) baslica görevlerinden biridir. Günlük Kütükleri (Redo Log Files)
Enaz iki tane redo log grubu olmalidir. Redo log kütükleri için önerilen konfigürasyon her grup için herbiri farkli disklerde olan enaz iki üye gerektirir. Grup üyeleri ayni zamanda günlenir ve her grupta ayni sayida üye vardir. Bir grubun tüm üyeleri ayni bilgiyi tasir . Kontrol Kütükleri (Control Files) Kontrol kütügü, veritabaninin yapisini tarif eden küçük bir ikili (binary) kütüktür. Bu kütük;
3. Bellek Yapilari (memory structures) Sistem Genel Alani (System Global Area - SGA) SGA ‘nin üç tane bileseni vardir; Database Buffer Cache: Veritabaninin yakin zamanlarda kullanilan veri bloklarinin tutuldugu buffer ‘larin kümesidir. Bu buffer ‘lar, degisiklige ugramis fakat diske henüz yazilmamis verilere sahip olabilirler. Sik kullanilan verileri tuttuklari için de diske erisimi azaltip performansi artirirlar. Redo Log Buffer: Veritabaninda yapilan degisikliklerin tutuldugu buffer ‘lardir. redo log buffer ‘larinda tutulan redo girisleri kurtarma gerekli oldugu anda kullanilmak üzere redo log kütüklerine yazilirlar . Paylasilmis SQL Alani (Shared SQL Area) ve Paylasilmis Havuz (Shared Pool): Paylasilmis SQL Alani, Oracle ‘in özel SQL deyimlerini çalistirmak için kullandigi bilgileri içerir. Bir SQL sorgusu isletilmeden önce ayristirilir ve bu sorgunun çalistirilmasi için bir çalisma plani hazirlanir. Isletilen sorgular bu alanda saklanir. Ayni sorgu birkez daha isletilmek istenirse bu çalistirma plani dogrudan uygulanabilir. Paylasilmis SQL Alani, SGA içindeki Paylasilmis Havuz ‘un bir parçasidir. Paylasilmis Havuz;
PGA yigit alani (stack space) oturum degiskenlerini ve dizileri tutmak için ayrilan bellek alanidir. Kullanici oturum verileri (user session data) oturum için fazladan bellek alanidir. 4. Görevler (processes) Kullanici ve Sunumcu Görevleri (User and Server Processes) UNIX sistemlerinde, kullanici bir uygulama programi çalistirdiginda Oracle bir kullanici görevi yaratir. Oracle ayrica baglanacak kullanici görevlerine hizmet verebilmesi için bir sunumcu görev yaratir. Sunumcu görev kullanici görevleri ile iletisim kurar. Sunumcu Görev;
DBWR Görevi: DBWR görevi, kullanici görevlerinin her zaman bos bellek alanu bulabilmeleri için database buffer cache ‘i yönetir. DBWR Görevi;
Hareketlerin Günlüge Islenmesi (Log Transactions): Oracle veritabaninda yapilan tüm degisiklikleri redo log buffer içine kaydeder. LGWR (Log Writer) arka plan görevi redo log buffer içindeki bilgiyi diske yazar. LGWR Görevi; LGWR ,redo log buffer ‘larini su durumlar olustugunda diske yazar;
Arch Görevi (arsivleyici) ARCH (archive - arsiv) görevi aslinda seçimlik bir arka plan görevi olmasina ragmen bir çok sistem için özellikle tavsiye edilir. Eger bu görev çalistiriliyorsa veritabani ARCHIVELOG kipinde çalisiyor demektir. Bu seçenek;
PMON (Process Monitor)
Diger Arka Plan Görevleri
Oracle her baslatildiginda Sistem Genel Alani (System Global Area - SGA) olarak adlandirilan paylasilmis bir bellek alani bellekte ayrilir. Oracle arka plan görevleri baslatilir. Bellek alanlari ve arka plan görevlerinden olusan bu bilesim Oracle instance olarak adlandirilir. Mutlaka olmasi gereken dört tane arka plan görevi vardir (DBWR, LGWR, PMON and SMON). Bunlardan baska görevler de vardir fakat kullanimlari seçimliktir. Bir instance sadece bir veritabanini açabilir. Bir instance‘in baslatilabilmesi için mutlaka bir veritabani olmasi gerekmez. Eger Parallel Server seçenegi kullanilirsa, veritabani birden fazla instance tarafindan açilabilir. Kullanici ve sunumcu görevleri Oracle instance‘in bir parçasi olarak tanimlanmazlar. Database Buffer Cache, Diskten okunan veri bloklarinin kopyalarini tutar.
checkpoint sirasinda DBWR, database buffer cache içindeki tüm dirty buffer ‘lari diske yazar (dirty buffer : Degisiklige ugramis fakat diske yazilmamis). checkpoint su durumlarda görülür;
Checkpoint sirasinda DBWR bir önceki checkpoint ‘ten sonra degisiklige ugramis verileri diske yazar. Eger instance kurtarmaya ihtiyaç duyarsa Oracle sadece son checkpoint ‘ten sonra yazilan redo log kayitlarini dikkate alacaktir. Çünkü checkpoint, daha önceki degisiklerin veri kütüklerine yazildigini garanti eder. Trace ve Alert Kütükleri Oracle instance çalisiyorken bir hata olustugu zaman, bu hata ile ilgili mesajlar alert kütügüne yazilir. Eger hata sunumcu ya da arka plan görevlerince yakalanirsa, hata ile ilgili bilgiler trace kütügüne bosaltilir. Alert kütügü mesaj ve hatalarin kronolojik olarak tutludugu bir kütüktür. Sunlari içerir;
Trace kütükleri eger bilgi arka plan görevi tarafindan yazilmissa BACKGROUND_DUMP_DEST, sunumcu görevi tarafindan yazilmissa USER_DUMP_DEST ile belirtilen konumlarda bulunur. Trace günlükleme SQL_TRACE parametresinin TRUE ya da FALSE olmasina göre yapilir ya da yapilmaz Asagidaki deyim trace kütüklerinin yazilmasini saglar. Alıntı:
SQL> alter session set sql_trace true;
Veritabanina internal olarak baglanmak: Veritabaninin açilip kapanma islemleri önemli islemlerdir ve Oracle ‘a internal olarak baglanmayi gerektirir. Eger kullanici internal olarak baglanirsa, artik sistemde en yetkili kullanici olan SYS olarak taninir. Instance ‘in baslatilmasi Veritabani baslatilmadan önce veritabaninin hangi durumda baslatilacaginin seçilmesi gerekir. Baslangiç DurumuKullanimi Ayristirma (Parse)Tüm veritabani verilerini içerir. Mantiksal yapilar (table, index..) veri kütükleri içinde fiziksel olarak saklanir. NOMOUNT Veritabanini yaratmak için kullanilir MOUNTVeritabaninda bakim ya da kurtarma gerektiginde kullanilir.. OPEN Veritabanini tüm kullanicilara açmak için kullanilir. start up islemi;
Alıntı:
SHUTDOWN [NORMAL | IMMEDIATE | ABORT ]
Oracle ‘in en önemli kisimlarindan biridir. Veri sözlügü, sys tarafindan sahiplenen tablolar ve görüntülerden olusur. Veritabanina salt-okunur bilgi saglamak amaciyla kullanilir. Mesela;
Herhangi bir Oracle kullanicisi veri sözlügünü salt-okunur bir referans olarak kullanabilir. Veri sözlügü çok sik erisildigi için SGA içinde cache ‘lenmelidir. Bu islem için bazen row cache olarak adlandirilan paylasilmis havuz kullanilir. Hiçbir kullanici veri sözlügündeki veriyi degistiremez ya da silemez. Veri sözlügü görüntüleri su kategorilere ayrilir; Kategori Tanim DBA_xxx Sistem yöneticine açik nesneler. Veritabanindaki herhangi bir nesnenin tanim bilgisini verir. USER_xxxHerhangi bir kullaniciya açik nesneler. Kullaniciya, kendisine ait bir nesnenin tanim bilgisini verir. ALL_xxx Tüm kullanicilara açik nesneler. Kulaniciya açik olan tüm nesnelerin tanim bilgisini verir. Non-standardÖzel islevsellikle ilgili görüntülerdir. Kullanici Olusturma ve Yönetme Her Oracle veritabani kullanici kodlari (username) ile tanimlanan kullanicilara sahiptir. Kullanici kodu;
Yaratilan her kullanici için öngörülen tablespace baskasi belirtilmedikçe SYSTEM‘dir. Geçici (temporary) bir tablespace SQL deyimleri için gerekli olabilir. Eger belirtilmemisse, geçici tablespace olarak da SYSTEM kullanilir. Veri tabanina erisim denetimi: Oracle her kullanici kodu için bir parola yaratir. Kullanici bunu daha sonra degistirebilir. Oracle kullanici kodlarini ve kodlanmis parolalari saklar. Kullanici veri tabanina baglanmak istediginde kullanici kodu ve parolasi dogrulanir. Kullaniciya yetkiyi isletim sistemi verir. Sadece SYS kullanicisi öngörülen tablespace olarak SYSTEM ‘e sahip olmalidir. SYSTEM tablespace‘i herhangi bir kullaniciya geçici tablespace olarak atanmamalidir. Sistemde tanimli olan kullanicilar all_users adli bir tabloda tutulurlar. Veri tabani ilk kez yaratildiginda sistem sadece iki kullanici bulunur. Yetkilendirilmenin isletim sistemi tarafindan yapilmasi: Eger gerek duyulursa, kullanicilarin Oracle‘a log in olmalari isletim sisteminin denetiminde yapilabilir. Bunun için externally anahtar kelimesi kullanilir. Veritabani Önceliklerinin Denetlenmesi: DBA,
Eger B rolü daha önceden A rolüne verilmisse, A rolü B rolüne verilemez. 7. Kurtarma ve Yedekleme Yedekleme (Backup):
Kontrol kütügü, veritabani için log sequence bilgisinin (log anahtarlanmasinda günlenir) ve her veri kütügü için log sequence numarasinin (NORMAL ya da IMMEDIATE SHUTDOWN sirasinda günlenir) kaydini tutar. Bir log anahtarlanmasi görüldügünde yeni sequence numarasi veritabani kontrol kütügüne ve çevrim-içi konumundaki tüm kütük basliklarina (header) yazilir. STARTUP komutu isletildiginde SMON görevi kontrol kütügündeki sequence numarasi ile diger kütüklerdeki sequence numarasini karsilastirir. Numaralar ayni ise kurtarma gerekli degildir. Veri kütüklerinin sequnce numaralari sonsuz olacak sekilde kontrol kütügünü günler. NORMAL ya da IMMEDIATE shutdown sirasinda SMON kontrol kütügünü her veri kütügü için gerçek sequence numaralarini kaydetmek için günler. Veri kütügünün startup ‘tan itibaren kullanilip kullanilmadigi dikkate alinmaz . Herhangi anormal shutdown sonrasinda kontrol kütügündeki her veri kütügü kayidi sonsuz degerini tasiyor olacaktir. Instance‘in bir sonraki çalistirilmasinda SMON görevi bir kurtarmanin gerekli oldugu bu sayede anlasilacaktir. Kütük basligi, kaydedilen son log sequence numarasi için kontrol edilecek ve sonra gelen tüm log‘lar yeniden uygulanacaktir. Eger sadece online redo log ‘lar gerekliyse ve bunlar varsa kurtarma herzaman mümkündür. Fakat daha eski sequence numaralari gerekliyse ve redo log ‘lar arsivlenmemisse kurtarma mümkün olamaz. Arsivlemesiz Isletim Sistemi Yedekleri Avantajlari
Kurtarma (Recovery): Her veritabani sisteminde sistemde bir failure olma olasiligi her zaman vardir. SGA içindeki veritabani buffer 'lari LRU algoritmasina göre gerektiginde sadece diske yazilirlar. DBWR 'in bu algoritmayi kullanmasi, bellekte günlenmis fakat diske yazilmamis kayitlarin olmasina imkan verir. Ayrica commit edilmemis fakat redo log'lara yazilmis kayitlar da olabilir. Eger instance failure olusursa bu iki potansiyel sorun karsimiza çikar.
Instance failure: Donanim ya da yazilim hatalari sonucu meydana gelen bellek yapilarinin ya da arka plan görevlerinin kaybolmasi seklinde görülen durumdur. Özel bir DBA islemi gerektirir. SMON görevi son checkpoint ‘ten sonraki degisiklikleri yeniden uygulayacaktir. Herhangi bir commit edilmemis degisiklik veri ve log kütüklerinden yararlanilarak geri döndürülecektir . Mmedia failure: Kurtarma adimlari:
Kaynak: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] |
Alıntı
|
Etiketler |
nedir, oracle |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
Seçenekler | |
Stil | |
|
|
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Android nedir? | Nyks | Android - IOS Uygulama Geliştirme | 0 | 28 Ağustos 2015 17:18 |
Eggdrop Nedir? | Anti | Eggdrop, BNC ve Socket Botlar | 0 | 10 Ağustos 2015 21:13 |
Flickr Nedir | Violence | Webmaster Programları | 0 | 27 Temmuz 2015 22:49 |
Salavat nedir? | Violent | İslamiyet | 1 | 17 Şubat 2015 00:43 |
Felsefe Nedir ? | Painfully | İslamiyet | 3 | 27 Ocak 2015 19:06 |