IRCDForum.COM - IRC ve mIRC dünyasının forumu!   irc hosting


  IRCDForum.COM - IRC ve mIRC dünyasının forumu! IF - Programlama / Yazılım Veritabanları Oracle


Yeni Konu   Cevap Yaz

 
LinkBack Seçenekler Stil
Alt 11 Ekim 2015, 15:35   #1
 
Code - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 01 Mart 2015
Mesajlar: 203
WEB Sitesi: www.code.com
IRC Sunucusu: irc.code.com
İlgi Alanı:
Alınan Beğeni: 33
Standart 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.
  • Yordam ve islev: Belirli bir görevin yapilabilmesi için SQL ve PL/SQL deyimlerinin çalistirilabilir bir birim halinde gruplandirilmasidir.
  • Paket: Ilgili yordamlarin, islevlerin ve baska paketlerin veritabani içinde bir birim olarak saklanmasi ve kiliflanmasi için bir yöntem saglar.
Esanlamlilar (synonyms): Çizelge, görüntü, sequence ya da bir program birimi bir takma addir (alias). synonym‘in kendisi bir nesne degildir, sadece gerçek nesneye bir referanstir. Su amaçlarla kullanilir;
  • nesnenin gerçek adini ve sahibini gizlemek amaciyla
  • nesneye, herkese açik (public) bir erisim saglamak için
  • uzak veritabanlarindaki nesnelere seffaf bir erisim saglamak için
  • SQL deyimlerini basitlestirmek için
Index, Cluster ve Hash cluster: Çizelgelerle ilgil seçimlik ve veri erisimindeki performansi artirmaya yönelik yapilardir.
  • Index: Aranan bilginin nerede oldugunun anahtar (key) degerinden yararlanilarak hizlica bulunabilmesini saglar. Mantiksal ve fiziksel olarak veriden bagimsizdir. Bir index, diger index ‘leri ya da çizelgeleri etkilemeksizin yok edilebilir ya da yaratilabilir.
  • Cluster: Aralarinda iliski olan verilerin disk ortamin fiziksel olarak ardisik olarak tutulmasini ve bu sayede disk erisim süresinde iyilestirme saglar.
  • Hash cluster(anahtarlama islevi): Saklanacak verinin yerinin bir hash islevi tarafindan bulundugu cluster yapisidir. Hash islevinden ayni sonucu veren veriler fiziksel olarak beraber saklanir.
Database links: Bir veritabanindan digerine bir yol tanimlayan bir nesnedir.
Data block, Extent ve Segment:
  • Oracle datablock: Veritabanindaki verilerin saklandigi en küçük birimdir. Bir veri blogu disk üzerinde belirli bir veritabani alanina karsilik gelir ve bir blogun kaç baytdan olustugu bilgisi, veritabani yaratilirken verilir.
  • Extent: Ardisik olarak siralanmis veri blogu sayisidir.
  • Segment: Belirli bir mantiksal yapi için ayrilmis extent ‘lerin kümesidir (data segment, index segment, rollback segment, temporary segment gibi).
2. Fiziksel Yapilar

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)
  • veritabaninda yapilan degisiklerin tutuldugu kütüklerdir.
  • döngüsel bir biçimde yazilir gruplar halinde yapilandirilir.
  • normal olamayan bir kapanis (abnormal shutdown) ya da sonra medya arizasindan (media failure) sonra kurtarma (recovery) amaçli kullanilir.
  • kullanici tarafindan dogrudan okunamaz.
  • SQL deyimleri ile olusturulur.
Çoklanmis (multiplexed) Günlük Kütükleri
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;
  • ?? veritabaninin açilmasi ve ona erisilmesi için gereklidir.
  • ?? veritabani açildiginda Oracle ‘in üzerine yazabilmesi saglanmalidir.
  • ?? tüm veri ve günlük kütüklerini tanimlar.
  • ?? veritabaninin adini saklar.
  • ?? kurtarma için gerekli olan zamanuyumlama bilgisini saglar.
  • ?? veritabaninin yaratilmasi esnasinda yaratilir.
Güvenlik için her biri farkli diskler üzerinde olan en az iki tane kontrol kütügü olmalidir. Tüm kontrol kütükleri ayni bilgiyi içerir. Eger biri kaybolacak olursa digerleri kullanilir durumda kalacaktir. Kontrol kütügünün öngörülen ismi isletim sistemine baglidir.
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;
  • SQL ve PL/SQL deyimlerini
  • SQL ve PL/SQL deyimlerinin ayristirilmis hallerini
  • SQL ve PL/SQL deyimleri için çalistirma planlarini
  • veri sözlügü (data dictionary) önbellegini (cache) içerir.
  • Program Genel Alani (Program Global Area - PGA)
PGA, tek bir kullanici yada sunumcu görevi hakkindaki verileri yada kontrol bilgisini içeren yazilabilir fakat paylasilmamis bir bellek alanidir. Kullanici görevi Oracle veritabanina baglandigi ve bir oturum (session) baslatigi zaman bu alan bellekte ayrilir (allocate) .
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;
  • SQL deyimlerini ayristirir ve çalistirir.
  • Diskten veri bloklarini okur ve SGA ‘nin paylasilmis alanina getirir.
  • SQL deyiminin sonuçlarini kullanici görevine döndürür.
Görevin AdıTanimi Ayristirma (Parse)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)Sözdizim dogrulugu, erisim gizliligi, nesne çözünürlügü ve eniyileme kontrolünü yapar. Ayristirim agacini (Parse Tree) olusturur. Çalistirma (Execute)Sözdizim dogrulugu, erisim gizliligi, nesne çözünürlügü ve eniyileme kontrolünü yapar. Ayristirim agacini (Parse Tree) olusturur. Getirme (Fetch)

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;
  • degisiklige ugramis tüm verileri veri kütüklerine yazar.
  • yakin zamanda kullanilan veri bloklarini bellekte tutmak için LRU (Least Recently Used) algoritmasini kullanilir.
  • Recently Used) algoritmasini kullanilir.
  • giris/çikis islemlerini eniyilestirebilmek için bazi yazma islerini erteler.
Veri, erisilmeden önce sunumcu (server) görev tarafindan mutlaka database buffer cache içine getirilmelidir. Sunumcu görev sorgulari islemek için SGA içindeki paylasilmis bellegi kullanir.
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;
  • commit görüldügünde
  • redo log buffer dolulugu esik degerine ulastigi zaman.
  • DBWR checkpoint için buffer bloklarin temizlemeye gerek duyarsa
  • time-out görülürse
Her Oracle instance ‘i için bir tane LGWR görevi vardir. Bir transaction redo log kütügüne islenmeden commit edilmis sayilmaz. DBWR görevi, veri bloklarini veritabanina geri yazmadan önce yapilan degisiklikleri korumak amaciyla LGWR görevine redo log buffer ‘larini bosaltmasi sinyalini gönderir.
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;
  • tablespace ‘lerin çevrim-içi (on-line) yedeklenmesine
  • medya failure ‘dan çevrim-içi kurtarmaya
  • günlük kütüklerinin otomatik olarak arsivlenmesine izin verir.
ARCH görevi, günlük kütüklerinin kopyalarini, yerleri daha önce belirlenmis disk ya da teyp birimleri üzerine çikarir.
PMON (Process Monitor)
  • anormal bir sekilde kesilen baglantilari temizler.
  • commit edilmemis degisiklikleri eski haline getirir (rollback).
  • isletimi kesilen görevin tuttugu kilitleri kaldirir.
  • çakilan görev için ayrilan SGA kaynaklarini serbest birakir.
  • kilitlenmeleri (deadlock) otomatik olarak yakalar ve islemi geri döndürerek (transaction rolling back) çözümler.
SMON (System Monitor)
  • otomatic instance kurtarmayi gerçeklestirir.
  • geçici segment alanini geri elde eder.
  • kontrol kütügünün sürekliligini saglar.
  • sistemde kullanilabilir durumdaki serbest alanin kaydini tutar.
DBA bu görevlerin hizi ya da uyarilma araligi üzerinde bir kontrole sahip degildir. DBWR ve LGWR gibi bu iki görev de instance çalistirildiginda hazir olmalidir.
Diger Arka Plan Görevleri
  • CKPT: checkpoint görevi, LGWR üzerindeki yükü azaltmak için kullanilir.
  • RECO: kurtarici (recoverer) görev, çakilmis dagitik transaction ‘lari çözümler.
  • Snnn: multi-threaded sunumcuda kullanilan paylasilmis sunumcu görevleri.
  • Dnnn: multi-threaded sunumcuda kullanilan dispatcher görevleri.
  • SNPn: Sip-sak (snapshot) tazeleyici görevler.
  • LCKn: parallel server seçimligi kullanildiginda instance ‘lar arasi kilitlemeyi kontrol eden görev.
5. Oracle An ‘i (Oracle Instance)

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.
  • instance ‘a baglanan tüm Oracle kullanicilari Database Buffer Cache içindeki bellek alanini kullanirlar.
  • blok boyu parametre kütügündeki DB_BLOCK-SIZE parametresi ile belirlenir. Bellekte tutulacak yastik alan (buffer)
  • sayisi ise DB_BLOCK_BUFFERS ‘dir.
Kontrol Noktalari (Checkpoints)
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;
  • her günlük anahtarlanmasinda (Log Switch)
  • belirlenmis bir zaman araligi sonunda
  • belirlenmis sayida isletim sistemi blogu redo log kütüklerine yazilmasindan sonra
  • DBA tarafindan zorlanmasi durumunda
  • normal yada immediate shutdown sirasinda
  • tablespace, çevrim-disi (off-line) konuma getirildiginde
Bir veri blogu database buffer cache içinde çok uzun süre kalabilir ve bu süre zarfinda birçok degisikliklere mazur kalabilir. Yani commit edilen bir kayit hala diske yazilmamis olabilir. Fakat tüm commit edilmis islemler güvendedir çünkü LGWR onlarin kaydini redo log kütüklerinde tutar.
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;
  • tüm içsel(internal), block bozulma(corruption) ve kilitlenme(deadlock) hatalarini
  • yönetim türü islemleri (DML) ve sunumcu yönetici deyimlerini (startup, shutdown…)
  • veritabani ve instance baslatildigi andaki parametre degerlerini
Alert kütügü BACKGROUND_DUMP_DEST parametresi ile belirtilen konumda bulunur. Bu kütügün günlük olarak kontrol edilmesi problerin daha da ciddilesmeden çözülebilmesi açisindan çok önemlidir.
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;

  • instance ‘in baslatilmasi
  • veritabaninin mount edilmesi
  • veritabaninin açilmasi (open)
Veritabaninin kapatilmasi

Alıntı:
SHUTDOWN [NORMAL | IMMEDIATE | ABORT ]

  • NORMAL: diger kullanicilarin oturumlarini terketmelerini bekler.
  • IMMEDIATE: o an isletilmekte olan SQL deyimlerini keserek commit edilmemis degisiklikleri geri alir.
  • ABORT: en hizli kapatma biçimidir. Ne diger kullanicilarin sistemden çikmalarini bekler ne de commit edilmemis degisiklikleri geri alir.
6. Veri Sözlügü(Data Dictionary)

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;
  • Oracle kullanicilarinin kullanici kodlari
  • kullanicilar atanan roller ve verilen haklar
  • Sema nesnelerinin adlari ve tanimlari
  • bütünlük sinirlamalari
  • veritabani nesneleri için alan ayirma
  • genel veritabani yapisi
  • auditing bilgisi
  • yordamlarin, trigger’larin islevlerin ve paketlerin saklanmasi.
Veri Sözlügü Kullanicilari
  • ?? Veritabani yöneticileri
  • ?? Veritabani kullanicilari
  • ?? Uygulamalar
  • ?? Oracle
Oracle her DDL (Veri Tanimlama Dili - Data Definition Language) deyimi çalistirilmak istendiginde veri sözlügüne erisir.
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;
  • veri tabanina erisim için gereklidir.
  • her veri tabani uygulamasi (SQL*Plus, SQL*Forms, …) tarafindan saglanir.
  • veri tabaninin içinde tanimlanir.
Not : Kullanici kodu ve parola (password) verme gerekliligini ortadan kaldirmak için üzerinde çalisilan isletim sisteminin authentication denetiminden yararlanilabilir.
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,
  • kullaniciya herhangi bir islemi yapabilme hakki verebilir.
  • verilere erisimi ve onlarin degistirilmesinin sinirlandirilmasini saglayabilir.
  • sistem islevlerinin kullanimini ya da veritabani yapilari üzerinde degisiklik yapilmasini saglayabilir.
  • ayri ayri kullanici ya da rol bazinda haklar verebilir.
  • tüm kullanicilara (PUBLIC) hak verebilir.
Roller: Önceliklerin yönetimini basitlestirmek için kullanilir. Roller;
  • sistem ve nesne önceliklerinden olusabilir
  • kimse tarafindan sahiplenemez
  • kendisi haricindeki diger rollere ya da kullanicilara verilebilir
  • her kullanici için enable ya da disable edilebilir.
  • enable etmek için parola gerekebilir
  • isletim sistemi öncelikleriyle kontrol edilebilir.
Rollerin tanimi veri sözlügünde tutulur
Eger B rolü daha önceden A rolüne verilmisse, A rolü B rolüne verilemez.
7. Kurtarma ve Yedekleme

Yedekleme (Backup):
  • Tam Yedekleme (full backup) : Oracle 'le veritabanini olusturan kütüklerin isletim sistemi yedegidir.
  • Kismi Yedekleme (partial backup) : Tam yedeklemenin kisa bir halidir. Bu tip yedeklemede bir tablespace 'i olusturan
  • veri kütüklerinin, kontrol kütüklerinin, ... yedegi alinabilir.
Yedekleme Yöntemleri
  • arsivlemeli isletim sistemi yedekleri (ARCHIVELOG MODE)
  • arsivlemesiz isletim sistemi yedekleri (NOARCHIVELOG MODE)
  • export yardimci programi
Veritabani Kütük Zamanuyumlamasi: Oracle ‘in kurtarma yöntemlerini bilmek için önce veritabani kütük zamanuyumlama kavraminin bilinmesi gerekir .
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
  • basittir
  • güvenilirdir
  • fazla bir etkilesim gerektirmez.
Dezavantajlari
  • instance shutdown edilmelidir
  • yeniden yüklenen yedekler tam olmalidir.
Kontrol Kütügünün Yedeklenmesi: Kontrol kütügü ayni zamanda güncellenen iki ya da daha fazla kopyaya sahip olmalidir. Bu sayede birisi bozuldugunda digeri kullanilabilir. Eger tüm kopyalar kaybolursa ve bunlarin var olan kütük yapisini gösteren bir yedegi varsa veritabanini hala kurtarabiliriz. Bunun için RECOVER DATABASE komutu USING BACKUP CONTROLFILE parametresi ile çalistirilir. Veritabani yapisinda yapilan bir degisiklikten sonra kontrol kütügünün yedegi alinmalidir.
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.
  • Bir transaction tarafindan günlenen veri blogu veri kütügüne yazilmamis sadece redo log kütügünde görünüyor olabilir. Bu yüzden redo log kurtarma aninda yeniden uygulanacak olan degisiklikleri tutar.
  • Redo log kütügü commit edilmemis degisiklikleri de tutabileceginden bu degisiklikler veritabanindan atilmalidir.
Bu sorunu Oracle iki adimda asar;
  • 1. rolling forward (redo log kütüklerini kullanarak): redo log, veritabaninda yapilan degisiklerin -commit edilsin ya da edilmesin- tutldugu bir grup isletim sistemi kütügüdür. Redo log, bellekte yapilmis fakat henüz diske yazilmamis degisiklikleri korur.Kurtarma 'nin ilk adiminda redo log 'lardaki tüm girisler veri kütükleri üzerinde tekrar uygulanir. Bu islem ayrica karsilik gelen segmentlerini de olusturacaktir. Rolling forward isleminden sonra veri bloklari tüm commit edilmis degisikliklerle commit edilmemis degisiklikleri içerir hale gelir.
  • 2. rolling back (rollback segmentlerini kullanarak): rolling back, rolling forward asamasinda uygulanan commit edilmemis degisikliklerin etkisini rollback segmentlerinden yararlanarak geri alir. Yani bu islemin sonunda commit edilmemis degisiklikler ayiklanir.
Veritabaninda kurtarmaya neden olacak durumlar
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:
  1. Asama (Yedeklerin yüklenmesi)
  2. Asama (Rolling Forward)
  3. Asama (Rolling Back)
Eger gerekiyorsa Oracle, redo log‘lari tekrar uygular. Yani yeniden yüklenen yedekleri redo log kütüklerini kullanarak veritabanini arizanin oldugu anki durumuna getirir. Bu islem yapildiktan sonra commit edilmemis degisikliklerin temizlenmesi amaciyla rollback islemi gerçeklestirilir.

Kaynak: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
 Code isimli Üye şimdilik offline konumundadır   Alıntı

Yeni Konu   Cevap Yaz

Etiketler
nedir, oracle


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


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




Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.