Oğuz Esen Resmi Fan Clup İndir-Dinle 2011
ORACLE nedir ? Temel Kavramları 112

Join the forum, it's quick and easy

Oğuz Esen Resmi Fan Clup İndir-Dinle 2011
ORACLE nedir ? Temel Kavramları 112
Oğuz Esen Resmi Fan Clup İndir-Dinle 2011
Would you like to react to this message? Create an account in a few clicks or log in to continue.

ORACLE nedir ? Temel Kavramları

Aşağa gitmek

Sabit ORACLE nedir ? Temel Kavramları

Mesaj tarafından Mc Zindan Ankara Style Cuma Nis. 30, 2010 1:52 pm

ORACLE İlişkisel Veritabanı Yönetim Sistemleri (Relational
Database Management Systems - RDBMS) büyük miktarlardaki verilerin
güvenli bir şekilde tutulabildiği, bilgilere hızlı erişim imkanlarının
sağlandığı, bilgilerin bütünlük içerisinde tutulabildiği ve birden
fazla kullanıcıya aynı anda bilgiye erişim imkanının sağlandığı
programlardır. Oracle veritabanı da bir ilişkisel veri tabanı yönetim
sistemidir.
Oracle veritabanının özellikleri şunlardır:
Büyük miktarda veri tutabilmekte ve verilerin depolandığı alanları ayarlama imkanı vermektedir.
Aynı anda çok sayıda kullanıcıya verilerin bütünlüğünü bozmadan hizmet
verebilmektedir. Oracle 8 sürümü ile birlikte on binlerce kullanıcıya
hizmet verebilmektedir.
Günün 24 saati ve haftalar boyu hiç kapatılmadan çalışabilmektedir.
İşletim sistemi, veri erişim dilleri ve ağ iletişim protokolleri standartlarıyla uyumludur.
Yetkisiz erişimleri engelleme ve kontrol edebilme imkanı sağlamaktadır.
Bütünlüğü veritabanı düzeyinde sağlayabilmektedir, böylece daha az kod yazılmaktadır.
İstemci/Sunucu mimarisinin bütün avantajlarını kullanabilmektedir.
Oracle ile ilk defa karşılaşan kullanıcılar genellikle Delphi, Visual
Basic gibi görsel programlama dillerine benzeyen uygulamalarla
karşılaşmayı umarlar. Oysa ki yukarıda da belirttiğimiz gibi Oracle bir
ilişkisel veritabanı yönetim sistemidir. Yani bir programlama dili
değildir. Fakat Oracle tarafından geliştirilen ve Oracle�ın kendi
uygulama geliştirme araçları içerisinde kullanılan bir programlama dili
vardır. Oracle ürünleri genellikle büyük çaplı veri kontrolünü
gerektiren uygulamalarda kullanılır. Öncelikle bir ağda Oracle
veritabanı sadece sunucu olarak adlandırılan bilgisayara yüklenir. Bu
sunucu Oracle�ın desteklediği herhangi bir işletim sistemiyle çalışıyor
olabilir. Yani Oracle�ın faklı işletim sistemleri için farklı sürümleri
vardır. Bu sunucu bilgisayara kurulan veritabanı üzerinde tablolar,
indeksler, eşanlamlar,tablo uzayları ve ihtiyaç duyulan kayıtlı
prosedürler oluşturulur. Bunlar raporun sonraki bölümlerinde
anlatılmaktadır. Oracle�ın bu veritabanına erişerek uygulama programı
geliştirmeye yarayan diğer ürünleri de istemci bilgisayarlara kurulur.
Tabi sunucu bilgisayara da isteğe bağlı olarak bu ürünler kurulabilir.
Şimdi Oracle ürünlerini daha ayrıntılı olarak inceleyelim.
Oracle Ürünleri
Aşağıda şu an kullanımı en güncel olan değişik Oracle ürünleri tanıtılımıştır.
Oracle RDBMS
Oracle ilişkisel veritabanı yönetim sistemi Oracle şirketinin ana
ürünüdür. Bu ürünün şu an en yeni sürümü Oracle9i RDBMS�dir. Biz bu
çalışmada bir önceki sürüm olan Oracle8i�yi esas alacağız. Oracle
8i�den bir önceki sürüm Oracle 7 ve onun bir önceki sürümü de Oracle
6�dır.
Oracle Uygulama Geliştirme Araçları
Oracle�ın veritabanı uygulamaları geliştirmek için görsel ürünleri bu
grupta yer alır. Oracle�ın program geliştirmek için kullanılan bu
ürünlerinin eski adı Oracle Power Objects idi. Daha sonra Oracle
Developer 2000 ve sonra da Oracle Developer 6 ürünleri geliştirildi.
Developer 2000 ve Developer 6 içerisinde Form Builder, Report Builder,
Graphics Builder, Procedure Builder ve Schema Builder ürünlerini
içerir. Form Builder kullanıcıya sunulacak arayüzlerin geliştirildiği
programdır. İşte bu uygulama görsel bir programlama dilinin uygulama
geliştirme ortamına benzer. Report Builder ürünü veritabanından elde
edilen bilgiler ile raporlar hazırlamaya yarar. Özellikle banka ve kamu
kuruluşlarının ihtiyacı olan fatura, evrak gibi belgelerin hazırlanıp,
çıktı alınması için geliştirilmiş bir programdır. Procedure Builder
sürekli kullanılacak kodların prosedürler halinde oluşturulup,
kütüphaneler olarak kaydedilmesi işlemine yarayan bir programdır.
Schema Builder ise veritabanı nesnelerinin görsel olarak
oluşturulabilmesi için geliştirilmiş bir uygulamadır. Burada tablo,
görüntü, eşanlam oluşturma, tablolar arası ilişki kurma,tablo
kısıtlamaları oluşturma işlemleri görsel olarak yapılabilir.
SQL*Plus
SQL*Plus, Oracle veritabanında sorgulama yapmak ve SQL komutlarını
çalıştırmak için kullanılan bir araçtır. SQL*Plus�da SQL komutlarının
yanısıra PL/SQL komutları da kullanılabilmektedir. Bu çalışmanın diğer
bölümlerinde anlatılan SQL komutları SQL*Plus kullanılarak
hazırlanmıştır.
PL/SQL
PL/SQL (Procedural Language/SQL), yapısal dillere ait özelliklerin
standart SQL�e eklenmesiyle ortaya çıkan Oracle�a has bir dildir.
PL/SQL Oracle firmasının piyasaya sürdüğü her üründe önemli bir yere
sahiptir. Kullanıcılar PL/SQL�i kullanarak programlarına bir çok yeni
özellikler katmaktadırlar. Bunlar arasında;
PL/SQL tabanlı kaydedilmiş yordamlar(stored procedures) ve veritabanı
tetiklemeleri(triggers) ile önemli iş kurallarını programlamak
Oracle Developer ürünleri ile güçlü ve kolay kullanılabilir görsel
ortamlarla programları detaylandırmak ve daha rahat kontrol etmek
Oracle tabanlı uygulamalarda nesne-tabanlı(object-oriented) tasarımlar yapma Web sayfalarından Oracle veritabanlarına link yapma
PL/SQL�in belki de en önemli özelliği istemci-sunucu ortamları
tasarlama ile ağ üzerinde dağıtık işlemler yapma ve bir çok sorguyu
çalıştırma imkanı sunmasıdır. PL/SQL dili Ada dilinden sonra
tasarlanmıştır. PL/SQL�de en gelişmiş yordamsal dillerde olan veri
tipleri, blok yapısı, şartlara bağlı ve bağlı olmayan kontrol
cümleleri, bir çok döngü tipi, hata durumlarında kullanılacak yordamlar
ve kullanıcı tarafından tanımlanabilecek nesneler yer almaktadır.
Net8
Net8 Oracle�ın bir ağ ürünüdür. Farklı bilgisayarların veritabanına
bağlantı kurması ve ve istemci-sunucu arasında veri alışverişinin
sağlanabilmesi Net8�in ana görevidir. Net8 ağdaki her bilgisayara
kurulur. Ağ bağlantısı sağlandığında NET8 istemci ile sunucu arasında
bir veri taşıyıcısı gibi işlem görür.



Ağ üzerinde bir istemcinin sunucudaki veritabanına erişebilmesi için,
sunucuda bir ağ servis adının(Net Service Name) ve bir
dinleyicinin(LISTENER) oluşturulması gerekir. Oracle Enterprise Edition
ile birlikte gelen Net8 Assistant ile bu gerçekleştirilebilir. Ağ
servis adları, veritabanı gibi bir servisi ağda tanımlamak amacıyla
basit bir yöntem olarak kullanılır. Bir kullanıcı ağ servis adını
kullanarak bağlantısını şöyle sağlar:
Connect kullanıcı_adı/şifre@ağ_servis_adı
Aşağıda Ne8 Assistant görüntüsü verilmiştir. Verilen şekilde ağ erişimi
oluşturmak için gereken işlemler oldukça basittir. Bir ağ servis adı
oluşturmak için �Ağ Servis Adları� dizininin üzerine gelip, yandaki
artı işaretini tıklamak gerekir. Bundan sonra bazı bilgiler girmemiz
istenir. Önce kullancağımız ağ servis adı bilgisi girilir, sonra
iletişimde kullanılacak TCP/IP, SPX gibi protokollerden uygun olanın
seçilmesi işlemi tamamlanır. Bundan sonra ana bilgisayar adı ve port
numarası girilir. Ana bilgisayar adı veritabanının yüklü olduğu
bilgisayarın adıdır. Port numarası ise Oracle�ın veritabanları için
kullandığı standart numara olarak 1521 girilir. Bu işlemden sonra
veritabanın sürümü seçilir ve veritabanı oluşturulurken girilen SID adı
bilgisi verilir. Girilecek tüm bilgiler bu kadardır. Erişimin sağlanıp
sağlanmadığını anlamak için �Test� butonu ile bağlantı denemesi
yapılır. Ağ servis adları TNSNAMES.ORA adlı dosyaya haydedilir. Bu
dosyada yaptığımız bir kayıt şu şekilde yer alır.
OGR =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = bavenoglu)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ogr)
) )
Ağ erişimi dinleyici(LISTENER) adı verilen bir yardımcı programla
sağlanır. Net8 Assistant içerisinde bir dinleyici oluşturulabilir. Bir
istemci sunucuya bağlanmak istediğinde bu isteği dinleyici karşılar ve
istemcinin konfigürasyon bilgileri ile kendi bilgilerini karşılaştırır
eğer uygunsa bağlantı sağlanır. Dinleyicinin konfigürasyonu ile ilgili
bilgiler LISTENER.ORA dosyasında saklanır.



SQL*Net
SQL*Net Net8�in yardımcı programıdır. Bir istemci bilgisayara Oracle
Forms ürününün yüklendiğini düşünelim. Bunun için istemci bilgisayar
SQL*Net ile oluşturulan veritabanı takma adını(alias) kullanır.
Yukarıda Net8 konfigürasyonunun istemci bilgisayarlarda da yapılması
gerektiğini söylemiştik. İşte bu konfigürasyon istemci bilgisayarlarda
SQL*Net sayesinde yapılır. Burada veritabanına verilecek takma isim,
protokol adı, ana bilgisayar adı(veritabanının bulunduğu) ve
veritabanının SID olarak girilen ismi bilgileri girilerek düzenleme
yapılır.
Oracle8i Enterprise Edition ve Gerekli Donanım
Bu rapor Oracle8i Enterprise Edition for Windows NT Release 8.1.5
sürümü üzerine düzenlenmiştir. Oracle8i Enterprise Edition CD�sinde üç
farklı ürün yer almaktadır:
Oracle8i Enterprise Edition (Server)
Oracle8i Client
Oracle Programmer

Oracle8i Enterprise Edition(Windows NT)


Yükleme Türü Açıklama
Typical Tam anlamıyla bir veritabanı kullanmak isteyenler için tavsiye
edilen yükleme türüdür. Bir başlangıç veritabanı, ağ servisleri, Oracle
yardımcı ürünleri ve yardım dokümanları yüklenir.720 MB yer kaplar.
Pentium 133 ya da Pentium 166 işlemci ile kurulabilir. Önerilen işlemci
Pentium 200 dür. 96 MB RAM ile çalışabilir. Tavsiye edilen bellek ise
128 MB �tır.
Minimal Minimum veritabanı paketi kullanmak isteyenler için önerilir.
Bir başlangıç veritabanı, ağ servisleri ve bazı yardımcı ürünleri
içerir. 520 MB yer kaplar. Pentium 133 ya da Pentium 166 işlemci ile
kurulabilir. Önerilen işlemci Pentium 200 dür. 64 MB RAM ile
çalışabilir. Tavsiye edilen bellek ise 96 MB �tır.






Oracle8i Client(Windows NT ve Windows 95/98)


Yükleme Türü Açıklama
Typical Veritabanı yöneticileri için veritabanına bağlanma ve
veritabanı yönetim işlerini gerçekleştirme araçlarını yükler. 299 MB
yer kaplar. Intel 80486 işlemci ile çalıştırılabilir. Tavsiye edilen
Pentium 133 ya da Pentium 166 dır. En az 32 MB RAM ile
çalıştırılabilir. Önerilen 64 MB�tır.

Oracle Programmer(Windows NT ve Windows 95/98)


Yükleme Türü Açıklama
Typical Veritabanına erişebilen geliştirme araçları ve ara yüzlerini
yükler. Bu paket, ön derleyicileri(precompilers), ağ servislerini ve
yardım dokümanlarını içerir. 267 MB yer kaplar. Intel 80486 işlemci ile
çalıştırılabilir. Tavsiye edilen Pentium 133 ya da Pentium 166 dır. En
az 32 MB RAM ile çalıştırılabilir. Önerilen 64 MB�tır.

Oracle8i Enterprise Edition Kurulumu
Kuruluma başlamadan önce Windows NT sistemine �Administrator� olarak girin.
Eğer sistemde Oracle�ın daha önceki sürümleri varsa StartàControl
PanelàServices içerisinde tüm Oracle ile başlayan servisleri seçip, sağ
tıklayın ve açılan menüden �Stop� seçeneğini seçin.
CD-Rom�u takın ve otomatik olarak çalışmasını bekleyin. Eğer çalışmazsa
cd-rom sürücü dizinine geçip Setup.Exe dosyasını çalıştırın.
Şimdi �Oracle Universal Installer� olarak adlandırılan ürün yükleme
sihirbazının çalışmış olması gerekir. Bu ana pencerede
�Install/Deinstall Products� seçeneğini tıklayın.
İlk karşınıza gelen tanıtım penceresidir. Burada daha önce yüklenmiş
ürünlerin listesi görülebilir. Yeni yükleme için �İleri� butonunu
tıklayın.
�Dosya Yerleşimleri� penceresinde kaynak ve hedef dizin ve dosya adları
belirtilir. Kaynak dizin E:\STAGE\PRODUCTS.JAR şeklinde otomatik olarak
belirtilir. Bu dizin adı değiştirilmemelidir.
Hedef olarak bir Oracle giriş dizini adı ve yolu girmeniz beklenir.
Otomatik olarak giriş dizini adı için �OraHome81� ve yolu içinde
�C:\Oracle\Ora81� belirtilir. Bu alanlar değiştirilmeden �İleri� butonu
tıklanabilir.

Ürün bilgileri listesinin yüklenmekte olduğunu belirten bir pencere
geldikten sonra karşınıza �Yüklenebilecek Ürünler� penceresi gelir.
Yukarıda da anlattığımız gibi burada üç ürün vardır. Oracle8i
Enterprise Edition seçeneğini işaretleyerek �İleri� butonuna basın.
�Yükleme Türleri� penceresinde tipik, minimum ya da özel seçeneklerinden biri seçilerek �İleri� butonuna basılır.
Eğer tipik yükleme, ya da özel yükleme seçildiyse burada Oracle yardım
dosyalarını diskten ya da CD-Rom�dan çalıştırma seçeneklerinden birini
seçmeniz beklenir. Eğer diskte yaklaşık 133MB boş yeriniz varsa diske
yükleme seçeneğini seçebilirsiniz.
Bilgisayarınızda daha önceden yüklü bir Oracle veritabanı varsa bu
kısımda bunu güncellemek isteyip istemediğinizi soran bir pencere
gelir. �Migrate an Existing Database� kutusunu işaretlerseniz
yüklemeden hemen sonra �Oracle Data Migration Assistant� programı
çalışır ve eski veritabanınızı yeni sürüme terfi ettirir.
�İleri� butonunu tıkladığınızda karşınıza �Database Identification�
penceresi gelir. Burada �Global Database Name� ve �SID� alanlarını
doldurmanız istenir. Buraya vereceğiniz isim veritabanının adı
olacaktır. Bu alanlardan birini doldurduğunuzda diğeri de aynı değeri
otomatik olarak alır.

�İleri� butonunu tıkladığınızda genel ayarlar, ürün dilleri, alan
gereksinimleri ve yeni yüklenecek ürünleri kapsayan bir liste gelir.
Listede değişiklik yapılamaz. Sadece bildiri amaçlı bir listedir.
�İleri� butonunu tıkladığınızda ürünler yüklenmeye başlar. Oracle8i
Enterprise Edition sürümünün tipik olarak yüklenmesi minimum donanım
ayarlarında yaklaşık yarım saat sürer.
Dosyaların kopyalanması bittikten sonra �Konfigürasyon Penceresi�
gelir.Veritabanının oluşturulması, başlatılması ve ağ ayarlarının
yapılması burada otomatik olarak yapılır. Veritabanı oluşturma
işlemleri bittikten sonra karşınıza giriş şifrelerinin ve veritabanı
ile ilgili bazı bilgilerin verildiği bir pencere gelir. Buradaki
şifreler daha sonra veritabanı yönetimi için kullanılacak şifreler
olduğundan, önemlidir.

Bu işlemler tamamlandıktan sonra �Universal Installer� kapatılabilir.
Oracle8i Enterprise Edition Ürününü Kaldırma
Bu ürünü kaldırmadan önce StartàControl PanelàServices seçilerek
çalışan tüm Oracle servisleri kapatılmalıdır.(�Oracle� kelimesi ile
başlayan tüm servisler)
�Start > Programs > Oracle Installation Products > Universal Installer� seçilerek yükleme asistanı çalıştırılmalıdır.
Burada �Yüklü Ürünler� butonu tıklanır.
Kaldırmak istenilen ürünlerin solundaki kutular tıklanarak boşaltılır ve �Kaldır� butonuna basılır.
Ekrana bu kaldırılacak ürünlerin listesi gelir ve kaldırmak için son kez onay istenir.
�Evet� butonuna tıklanırsa seçili ürünler kaldırılır. Sonra �Universal Installer� kapatılabilir.
Oracle Veritabanı Yapısı
Oracle veritabanının, işletim sistemi tarafından bakıldığında, biri
fiziksel diğeri mantıksal olmak üzere iki bölümü vardır. Fiziksel
bölüm, işletim sisteminden görünen kısımdır. Bunlar Data File(Veri
Dosyası), Control File(Kontrol Dosyası) ve Log File(Log Dosyası) �dan
oluşmaktadır. Mantıksal Bölüm, bir ya da daha fazla tablo
uzayı(Tablespace) ve tablolar(table), görüntüler(view),
sıralar(sequence), eşanlamlar(synonym), indeksler(index),
kümeler(cluster), veritabanı bağlantıları (database link),
prosedürler(procedure), fonksiyonlar(function), ve paketlerden(package)
oluşan şema nesnelerinden oluşmaktadır. Fiziksel bölüm işletim sistemi
tarafından görülebilmesine rağmen, mantıksal bölüm ancak Oracle�a
bağlanıp, SQL komutları çalıştırılarak görülebilmektedir. Yani, Oracle
kurulu herhangi bir makinede, SQL bilgisi olmayan bir insan, Oracle�ın
sadece fiziksel bölümünü görebilmektedir.
Oracle veritabanındaki her nesnenin bir sahibi(kullanıcı olarak
bahsedilir) vardır. Her kullanıcı bir veya daha fazla tablo uzayına
sahip olabilir. Her nesne, ait olduğu kullanıcının herhangi bir tablo
uzayında (mantıksal olarak) bulunur. Her tablo uzayı da, kendisine
sahip olan kullanıcının nesnelerini tutmak için işletim sisteminde bir
veya daha fazla veri dosyasına sahip olabilmektedir.
Sonuç itibariyle, veritabanındaki her nesnenin bir kullanıcısı vardır
ve bu nesneler mantıksal olarak o kullanıcının sahip olduğu tablo
uzaylarının herhangi birinin (hangisi olduğu komutlarla öğrenilebilir)
içerisinde, fiziksel olarak da o kullanıcının sahip olduğu tablo
uzayının herhangi bir veri dosyasında bulunur. Fakat, o veri dosyasının
içerisine işletim sisteminden bu nesneyi bulmak için bakılamaz. Bu
nesnenin sahibi ve mantıksal yeri �DML�(veri işleme dili) komutları ile
bulunabilmektedir.
Fiziksel Bölüm
Fiziksel bölüm veritabanını oluşturan işletim sistemi dosyalarıdır. Bir
Oracle veritabanı fiziksel olarak bir ya da daha fazla veri dosyası,
iki ya da daha fazla log dosyası, bir ya da daha fazla kontrol
dosyasından oluşur.
Veri Dosyaları(Data Files)
Veri dosyaları veri tabanındaki tüm verileri tutan dosyalardır. Tablo,
indeks gibi mantıksal veritabanı yapılarının içerisindeki veriler
fiziksel olarak veri dosyalarında tutulurlar. Bir veri dosyası kendisi
için ayrılan alan dolduğunda, kendi sahip olduğu alanı artırabilecek
özelliklere sahiptir. Bir ya da daha fazla veri dosyası mantıksal bir
veritabanı depolama ünitesi olan bir tablo uzayını oluşturular.
Normal veritabanı işlemleri boyunca bir veri dosyası içerisindeki
veriler okunur ve Oracle için ayrılan belleğe getirilirler. Örneğin bir
kullanıcının veritabanındaki bir tablonun verilerine erişmek istediğini
varsayalım. Eğer istenilen veriler bellekte yer almıyorsa, ancak o
zaman uygun veri dosyasından okunur ve belleğe getirilirler.
Değişikliğe uğrayan veriler ya da yeni eklenen veriler veri dosyalarına
hemen yazılmazlar. Sabit diske erişimi azaltmak ve böylece sistemin
performansını artırmak için veriler bellek havuzunda tutulur ve
gerektiğinde hepsi birden uygun veri dosyalarına kaydedilirler. Bunu
Oracle artalan işlemleri belirler.
Kontrol Dosyaları(Control Files)
Tüm Oracle veritabanları kontrol dosyasına sahiptir. Bir kontrol
dosyası veritabanı adı, veri dosyaları ve log dosyalarının adı ve
diskteki yeri, veritabanının oluşturulma tarihi vb. veritabanı ile
ilgili bilgileri tutar.
Her veritabanı oturumu açıldığında Oracle bu dosyayı kontrol ederek
gerekli bilgileri alır. Eğer veritabanında fiziksel bir değişme
olursa(yeni bir log dosyası ya da veri dosyası oluşturulması gibi),
yapılan değişiklikler Oracle tarafından otomatik olarak kontrol
dosyalarına yansıtılır.
Log Dosyaları(Log Files)
Redo Log dosyaları olarak bilinen bu dosyaların amacı veriler üzerinde
yapılan tüm değişiklikleri kaydetmektir. Eğer veri dosyalarına kalıcı
olarak kaydedilmiş olan, değişikliğe uğramış kayıtlarda bir bozukluk
olursa yapılan değişiklikler redo log dosyalarından sağlanabilir ve
işlemler kaybolmaz. Birden fazla tekrarlanan bozukluk durumlarında redo
log dosyalarının da bozulmasını engellemek için Oracle farklı diskler
üzerinde redo log dosyalarının birden fazla kopyasının alınmasına
olanak sağlar.
Bir veritabanı işlemi sırasında elektrik kesilirse, bellekteki veriler
veri dosyalarına kaydedilmeyecek ve verilerin kaybolması durumuyla
karşılaşılacaktır. Oracle veritabanı tekrar açıldığında redo log
dosyalarında yapılan son değişiklikler veri dosyalarına yansıtılarak
verilerin kaybolması engellenir.
Mantıksal Bölüm
Oracle veritabanının mantıksal yapısı tablo uzaylarını(tablespaces),
şema nesnelerini(schema objects), veri bloklarını(data blocks),
genişlemeleri(extents) ve parçaları(segments) içerir.
Tablo Uzayı(TableSpace)
Bir veritabanı, ilişkili mantıksal yapıların gruplanmasını sağlayan ve
tablo uzayı olarak bilinen mantıksal depolama ünitelerine bölünmüştür.


Yukarıdaki şekil veritabanı, tablo uzayı ve veri dosyaları arasındaki ilişkiyi açıklamaktadır. Buna göre:
Bir veritabanı bir ya da daha fazla tablo uzayına bölünmüştür.
Tablo uzayı içerisindeki tüm mantıksal yapıları fiziksel olarak
depolayabilmek için, her tablo uzayı bir ya da daha fazla veri
dosyasına sahip olabilir.
Tablo uzaylarının toplam kapasitesi, sahip oldukları veri dosyalarının
toplam kapasitesine eşittir.(Yukarıdaki şekil için SYSTEM tablo uzayı
2MB, USERS tablo uzayı 4MB).
Tablo uzaylarının toplam kapasitesi veritabanının toplam kapasitesini belirler.(6 MB)
Bir tablo uzayı açık ya da kapalı olabilir. Tablo uzayı kapalı
olduğunda bu tablo uzayının içerisindeki nesnelere erişilemez. Bir
tablo uzayı yönetim amaçlı olarak kapalı duruma alınabilir.
Veri Tabanı Şema Nesneleri
Şema nesneleri mantıksal veri depolama yapıları olarak bilinir.
Veritabanı üzerinde kullanıcının belirli işleri yapabilmesi için
tanımlanan bu yapılar tablolar, görüntüler, sıralar, eşanlamlar,
indeksler, kümeler, veritabanı bağlantıları, prosedürler, fonksiyonlar,
ve paketlerdir. Bir şema ise bu nesnelerin oluşturduğu gruptur.


Küme(CLUSTER)
Aynı anda sorgulanan birden fazla tablonun bir arada kaydedilmesine
�cluster� denir. Bu yapı, beraber sorgulanan tablolarda hız kazanmak
için çok önemlidir. Örneğin �isci� tablosu ile �bolum� tablosunun(bu
tabloların yapısı için SQL bölümüne bkz.) her ikisi de ortak olarak
�bolum� ve �bolumno� alanlarını içermekte. Yani �isci� tablosundaki
�bolum�, �bolum� tablosundaki �bolumno� alanına karşılık geliyor.
Burada oluşturulacak bir cluster�da her iki tablo veritabanında yan
yana getirilerek aynı veri bloğu içerisine kaydedilir.Böylece daha
hızlı erişim sağlanır.
İndeks(INDEX)
İndeksler tablo ve cluster�lar için kullanılan veri tabanı
nesneleridir. Burada amaç aranılan bir kayda daha hızlı erişimdir.
Özellikle üzerinde çok arama yapılan alan veya alanlar üzerinde indeks
oluşturmak çok etkilidir. İndeks oluşturulduğunda ilgili tablonun
kayıtları yer değiştirmez. Sadece ilgili kayıtların kayıt numaraları
olarak adlandırılan �rowid� �ler alınarak sıralama yapılır.
Bir tablo üzerinde oluşturulabilecek indeks sayısı sütunların
kombinasyonları farklı olduğu müddetçe sınırsızdır. Bir sütun diğer
sütunlarla değişik kombinasyonlarda kullanıldığı müddetçe birden fazla
indeks içerisinde yer alabilir. Aynı sütun kombinasyonlarının indeksi,
faklı indeks ismi kullanarak oluşturulmaya çalışılsa bile
gerçekleştirilemez.
İndeksleme işleminin gerçekleştirilmesinde Oracle çoğunlukla B-tree
indeksleme metodunu kullanır. Bunun yanında �hash cluster indexes�,
�reverse key indexes�, ve �bitmap indexes� yöntemlerini de kullandığı
bilinmektedir.
İndeksler mantıksal ve fiziksel olarak oluşturuldukları tablodan
bağımsızdırlar. Eğer bir indeks silinirse, ilgili tablo zarar görmez,
çalışmaya devam eder. Fakat indeks olmadığı için veri erişim süresi
artacaktır.
Oracle bir indeks oluşturulduğunda onu otomatik olarak kullanmaya
başlar ve indeksin oluşturulduğu tablodaki silme, güncelleme ve ekleme
işlemleri indekse otomatik olarak yansıtılır.
Rol(ROLE)
Oracle veritabanında her nesnenin ait olduğu bir kullanıcı vardır. Bir
kullanıcı bir başka kullanıcının nesneleri üzerinde işlem yapmak
isterse buna hakkı olması gerekir. Bir nesne üzerinde işlem yapabilme
yetkisine hak denir. Örneğin veritabanına bağlanma, tablo oluşturma,
bir başkasına ait tablodan kayıt listeleme, bir başkasının prosedürünü
çalıştırma birer haktır. Bu haklar kullanıcılara atanmak suretiyle
kullanıcıların bu işlemeleri gerçekleştirmeleri sağlanır. Hakların
kullanıcılara atanması iki şekilde olabilir. Birinci olarak bir tabloya
kayıt ekleme, kayıt silme vb. haklar bir kullanıcıya ya da
kullanıcılara ayrı ayrı atanır. İkinci şekilde ise verilmek istenen
haklar bir rol altında birleştirilir ve bu rol istenen kullanıcılara
aktarılır.
Haklar �sistem hakları� ve �nesne hakları� olmak üzere ikiye ayrılır.
Sistem hakları veritabanı ile ilgili olarak önceden tanımlanmış
rollerdir. Oracle�da 60�tan fazla sistem hakkı tanımlanmıştır. Nesne
hakları ise veri tabanı nesneleri üzerinde işlem yapma haklarıdır.
�Create Table�, �Create TableSpace�, �Drop Any Index� gibi haklar
sistem haklarına örnek olarak verilebilir. Nesne hakları ise 8
çeşittir. �Select�, �Insert�, �Update�, �Delete�, �Alter�, �Index�,
�Execute�, �References�, �All� çeşittir. �All� ayrı bir hak olarak
adlandırılmaz. Diğer tüm hakları kapsar. Bu haklar sırayla kayıt seçme,
kayıt güncelleme, kayıt silme, nesnelerin yapısını değiştirme, indeks
oluşturma, alt program çalıştırma, yabancı anahtar tanımlayabilme
işlemlerini içerirler. Rol tanımlama ve hak verme komutları ileride
ayrıntılı olarak işlenecektir.
Geri Alma Parçası(ROLLBACK SEGMENT)
Oracle veritabanının güvenliği açısından �Select�, �Insert�, �Update�,
�Delete� gibi işlemlerin yedeğini almaktadır. Alınan bu yedeklerin
konulduğu yerlere geri alma parçası denir. Kullanıcı bu tip işlemleri
yaptıktan sonra �Rollback� komutunu uygularsa, yaptığı değişiklikler
geri alma parçalarından getirilir ve böylece kayıtlar eski haline
dönmüş olur. Kullanıcı �Commit� komutunu verirse yaptığı değişiklikler
geri alma parçalarından geri getirilemez. Her veritabanında bir ya da
birkaç tane geri alma parçası olabilir.
Sıra(SEQUENCE)
Tablolardaki kayıtlar için otomatik sıra numarası verilmesi isteniyorsa
sıra nesnesi kullanılabilir. Bu sıra numarası veritabanı tarafından
otomatik olarak üretilir. Özellikle çok kullanıcılı ortamlarda tekil
olarak numara üretilmek istendiğinde çok kullanışlıdır. Birden fazla
kullanıcı aynı anda böyle bir sayı üretmek isterse bunun program
koduyla yapılması işlem hızını yavaşlatır. Çünkü bir kullanıcı diğeri
işini bitirene kadar beklemek zorundadır. Sıra nesnesi bu işi otomatik
olarak ve çok seri bir şekilde başarır.
Sıra numaraları Oracle�da tanımlı 38 rakama kadar tamsayılardan oluşur.
Bir sıra tanımlaması sıranın adını, artan ya da azalan olacağını, iki
sayı arasındaki fark miktarını içerir. Oracle tüm sıra numarası
tanımlarını SYSTEM tablo uzayının içerisindeki bir veri sözlüğü
tablosuna kaydeder. SYSTEM tablo uzayı sürekli çalışır durumda olduğu
için tüm sıra numaraları da aktiftir. Sıra numaraları tablolardan
bağımsız olarak üretilir. Yani bir sıra numarası bir ya da daha çok
tablo için kullanılabilir.
Kayıtlı Fonksiyonlar(STORED FUNCTION) ve Kayıtlı Prosedürler(STORED PROCEDURE)
Bir grup SQL ya da PL/SQL komutunun belli bir işi gerçekleştirmek için
bir araya getirilip veritabanına kaydedilmesi kayıtlı prosedürler ve
fonksiyonlar sayesinde olur. Birden fazla uygulama programı içerisinde
aynı işi yapan kodları sürekli yazmak yerine kayıtlı prosedür ve
fonksiyonlar bir kere yazılır ve tüm uygulamalar tarafından kullanılır.
SQL*Plus, Oracle Forms ya da Oracle Reports içerisinden bu prosedürler
çağrılabilir. Prosedürler geriye birden fazla değer döndürebilirken,
fonksiyonlar sadece bir değer döndürürler.
Eşanlam(SYNONYM)
Eşanlam bir tablo, görüntü, sıra, prosedür, fonksiyon ya da paket için
�alias� olarak adlandırılan bir takma isimdir. Eşanlam bir takma isim
olduğu için veri sözlüğü içerisindeki tanımının kapladığı yer
haricinde, veritabanında yer kaplamaz. Eşanlamlar güvenlik ve daha
rahat kod yazma amacıyla kullanılırlar. Bir eşanlam kullanıldığında
ilgili nesnenin adı ve sahibi gizlenir ve SQL komutu içerisinde
kullanımı kolaylaşır.
Eşanlamlar genel(Public) ve özel(Private) olarak tanımlanabilirler.
�Genel� olarak tanımlanan eşanlamlara tüm veritabanı kullanıcıları
erişebilir. �Özel� olarak tanımlanan eşanlamlara sadece ilgili nesnenin
sahibi ve sahibi tarafından hak verilmiş bir başka kullanıcı erişebilir.
Bir nesnenin adı değiştirilmek istendiğinde ya da silinmek
istendiğinde, bu nesneyi kullanan tüm uygulama programları
değiştirilmek zorundadır. Oysa ki bu nesnenin bir eşanlamı
oluşturulursa ve uygulama programları bu eşanlamı kullanırsa, eşanlam
üzerinde yapılacak değişikliklerle bu silme vb. işlemlerden uygulama
programlarının etkilenmesi önlenebilir.
Bir kullanıcı bir başka kullanıcının nesnesini kullanmak istediğinde
�kullanıcı_adı.nesne_adı� şeklinde bir yazım kuralına uymak zorundadır.
Eğer bir �genel� olarak bir eşanlam tanımı yapılırsa tüm kullanıcılar
direk eşanlam ismini kullanarak işlemlerini gerçekleştirebilirler.
Tablo(TABLE)
İlişkisel Veri Tabanı Yönetim Sistemleri�nde veriler tablolar
içerisinde yer alır. Her tablo bir isimle tanımlanır ve her biri bir
�kayıt� olarak adlandırılan satırlar ile bu kayıtlardaki verilerin
özelliklerini belirleyen sütunlardan oluşur. Her tablo bir ya da daha
fazla sütuna sahip olabilir. Her sütunun bir adı ve veri tipi vardır.
Bir tablo oluşturulduğunda Oracle verileri depolamak için bir tablo
uzayı içerisinde bir veri segmenti ayırır. Veri segmentinin değerleri
değiştirilerek bir tablo için ayrılacak yer miktarı da değiştirilebilir.
Görüntü(VIEW)
Görüntü bir ya da birkaç tablodan istenilen alanların alınmasıyla
oluşturulan sanal bir tablodur. Görüntü bu tablolar üzerinde
gerçekleştirilen bir sorgu sonucu oluşturulur. Bir görüntü üzerinde
silme, güncelleme gibi işlemler yapılamaz. Çünkü görüntü oluşturulduğu
tabloların sadece o anlık görüntüsüdür ve veritabanında kendi tanımının
kapladığı yer haricinde yer kaplamaz.
Veri Blokları(Data Blocks), Genişlemeler(Extents),Parçalar(Segments)
Oracle veritabanında verilerin depolandığı en küçük birim veri bloğu
olarak adlandırılır.Bir veri bloğu veritabanının depolama alanı
üzerindeki belli bir byte uzunluğuna karşılık gelir. Veri bloğunun
uzunluğu veritabanı oluşturulurken belirlenir.
Veri bloklarının bir üst birimi genişleme olarak adlandırılır. Bir genişleme art arda olan belirli sayıda veri bloğundan oluşur.
Genişleme�lerin bir üst birimi de parça�lardır. Parçalar belli bir
mantıksal yapı için ayrılmış bir dizi genişleme�den oluşurlar. Farklı
amaçlar için kullanılan parçalar vardır. Bunlar veri parçaları(data
segments), indeks parçaları(index segments), geri alma
parçaları(rollback segments) ve geçici parçalardır(temporary segment).
Bir tablo bir veri parça�sından oluşur. Tablonun verileri bu parça
içerisindeki genişlemelere kaydedilir.(Oracle8i ile birlikte gelen yeni
bir özellik olan bölümlenmiş tablo yapısında her bölüm bir veri
parça�sına karşılık gelir.). Yine bir küme(cluster)�de bir veri
parça�sından oluşur ve küme içerisindeki tüm tablolar o kümenin veri
parça�sında yer alır.
Her bir indeks�te bir indeks parçasından oluşur ve indeks�in bütün
verileri indeks parça�sında yer alır. Bir veritabanında, veritabanı
kurtarma işlemleri(database recovery) ve yapılan değişkilikleri geri
alma işlemleri(rollback) için bir ya da daha fazla geri alma parça�ları
yer alır. Geçici parça�lar Oracle tarafından SQL komutları işletilirken
ihtiyaç olduğunda oluşturulur ve SQL komutu işlemini bitirdiğinde bu
parça tekrar sistemin kullanımına bırakılır.
Aşağıda veri blokları, genişlemeler ve parça ilişkisini gösteren bir şekil yer almaktadır.


Bellek Yapısı(Memory Structure) ve Arka Plan İşlemleri(Background Processes)
Bu bölüm Oracle veritabanının yönetiminin sağlanmasında kullanılan
işlemleri ve bellek yapılarını içermektedir. Tüm bellek yapıları
veritabanının oluşturulduğu bilgisayarın ana belleğinde yer almaktadır.
Bu bölüm birden fazla kullanıcının aynı anda veritabanına erişip
işlemlerini gerçekleştirmesinin nasıl olduğunu anlamak açısından
önemlidir. Aşağıdaki şekil bu bölüm için temel alınacaktır.


Bellek Yapıları
Oracle işlemlerini gerçekleştirmek için bellek yapıları oluşturur ve
bunları kullanır. Örneğin bellek çalışan program kodlarını ve
kullanıcılar arasında paylaşılan verileri depolar. Oracle�da birkaç
adet bellek yapısı mevcuttur: SGA(System Global Area), veritabanı
tamponları(database buffers), redo log tamponları(redo log buffers) ve
paylaşım havuzunu(shared pool) içerir.
SGA(System Global Area)
SGA bir oracle veritabanı oturumu için gerekli verileri ve kontrol
bilgilerini içeren paylaşımlı bellek bölgesidir. SGA ve Oracle arka
plan işlemleri bir Oracle veritabanı oturumunu oluşturur. Veritabanı
oturumu başladığında Oracle SGA�yı oluşturur ve veritabanı
kapatıldığında yok eder. Her bir veritabanı oturumunun kendine ait bir
SGA �sı vardır. Oracle�a bağlanan kullanıcılar SGA içerisinde verileri
paylaşımlı olarak kullanırlar. Yüksek performansın sağlanabilmesi için
SGA�nın olabildiğince büyük olması gerekir. SGA büyük olursa bu alanda
daha fazla bilgi depolanabilir ve sabit diske erişim sayısı azalır. SGA
içerisinde depolanan bilgi veritabanı tamponları, redo log tamponları
ve paylaşım havuzunu içeren birkaç tip bellek yapısına bölünmüştür. Bu
alanlar sabit büyüklüktedir ve veritabanı açılırken oluşturulurlar.
Veritabanı Tampon Belleği(Database Buffer Cache)
En son kullanılan veri blokları SGA içerisinde veritabanı tamponu
denilen yerde depolanır. Bu veritabanı tamponlarının hepsi veritabanı
tampon belleğini oluşturur. Veritabanı tampon belleği değiştirilmiş ve
değiştirilmemiş bilgileri içerir. Son kullanılan verilerin ya da çok
kullanılan verilerin bellekte depolanması sayesinde sabit disk erişim
işlemleri azalır.
Redo Log Tamponu(Redo Log Buffer)
SGA�nın redo log tamponu veritabanı verileri üzerinde yapılan son
değişiklikleri depolar. Redo log tamponunda depolanan değişiklik
bilgileri veritabanı kurtarma işlemlerinde gerekli olan redo log
dosyalarına kaydedilirler.
Paylaşım Havuzu(Shared Pool)
Paylaşım havuzu SGA�nın paylaşımlı SQL alanları gibi bellek yapılarını
içeren kısmıdır. Paylaşımlı SQL alanı veritabanına girilen her farklı
SQL komutunu işlemek için gerklidir. Her bir paylaşımlı SQL alanı aynı
komutu işleyen birden fazla uygulama tarafından kullanılır. Burada amaç
diğer kullanıcılar için daha fazla paylaşımlı bellek alanı
bırakabilmektir.
Geniş Havuz(Large Pool)
Geniş havuz SGA içerisinde isteğe bağlı bir alandır. Bu alan yedekleme,
yapılan işlemleri geri yükleme, sunucunun giriş/çıkış işlemleri vb.
işlemlerde daha geniş bellek ihtiyacı için kullanılan alandır.
Program Genel Alanı(PGA)
PGA sunucu işlemleri için veri ve kontrol bilgilerini içeren bellek
tamponudur. Bir sunucu işlemi başlatıldığında PGA Oracle tarafından
otomatik olarak başlatılır. Genellikle PGA bir kullanıcı ya da bağlantı
için ayrılan belleğe denir. Bu bellek üç bölümü içerir: Birincisi yığın
uzayı�dır(Stack Space). Yığın bir her bir bağlantıya ait değişkenleri,
dizileri vb. yapıları tutan bellektir. İkincisi bağlantı
bilgisi�dir(Session Information). Bağlantı bilgisi, �multitheraeded�
sunucu olarak adlandırılan bir bilgisayarda çalışılmıyorsa PGA
alanında, aksi halde SGA da depolanır.(�multithreaded� uygulamalar aynı
kod ve data segmenti kullanıp, farklı program sayacı, kayıtlık ve yığın
kullanan uygulamalar için kullanılır.) Üçüncüsü Özel SQL alanıdır. Bu
alanda farklı amaçla kulanılan bazı değişkenleri tutmak için kullanılır.
İşlem Yapısı(Process Architecture)
İşlem, işletim sistemlerinde, belli bir işi yapmak için bir adımlar
dizisinin çalıştırılması olarak adlandırılmaktadır. Normalde her
işlemin çalışabilmesi için bellekte kendine özel bir yeri vardır.
Oracle�da da iki tür işlem vardır. Kullanıcı işlemleri(User Processes)
ve Oracle İşlemleri(Oracle Processes).
Kullanıcı İşlemleri(User(Client) Processes)
Bir kullanıcı işlemi bir uygulama ya da yazılımın çalıştırlmasını
sağlamak için oluşturulur. Kullanıcı işlemleri program arayüzü(program
interface) yoluyla sunucuyla iletişim işlemlerini sağlar.
Program arayüzü bir kullanıcı işlemlerinin sunucu ile ileitişim
kurmasında kullanılan mekanizmalar olark bilinir. Program arayüzü
veritabanı ile bir Oracle Forms ya da Reports programı arasında
iletişim standartlarını sağlar.
Oracle İşlemleri(Oracle Processes)
Oracle işlemleri diğer işlemler tarafından işlemin belli adımlarını
gerçekleştirmesi için çağrılırlar. Oracle işlemleri de sunucu
işlemleri(Server Processes) ve arka plan işlemleri(Background
Processes) olarak ikiye ayrılır.
Sunucu İşlemleri(Server Processes)
Oracle, veritabanına bağlanan bir kullanıcının isteklerini
gerçekleştirebilmek için sunucu işlemlerini başlatır. Örneğin bir
kullanıcının, o an SGA�nın veritabanı belleği�nde yer almayan bir
bilgiyi sorgulaması, veri bloklarının veri dosyalarından okunup SGA�ya
getirilmesini sağlayan sunucu işlemini başlatır. İstemci/Sunucu
mimarili sistemlerde kullanıcı işlemleri ve sunucu işlemleri ayrı
bilgisayarlarda çalıştırılır.
Arka Plan İşlemleri(Background Processes)
Oracle her veritabanı için ayrı olarak bir dizi arka plan işlemleri
oluşturur. Oracle veritabanına bir anda birden fazla kullanıcının
bağlandığını ve belli programları çalıştırdığını düşünelim. Oracle
programlar tarafından oluşturulan bu kullanıcı işlemleri�ni
gerçekleştirmek için arka planda bazı işlemler gerçekleştirir. Her bir
veritabanı kendi arka plan işlmelerine sahiptir. Şimdi bu arka plan
işlmelerinin neler olduğuna bakalım:
Veritabanı Yazıcısı(Database Writer- DBWn)
Veritabanı yazıcısı, veritabanı tampon belleğindeki değiştirilmiş veri
bloklarını veri dosyalarına yazmakla görevlidir. Normalde tek bir
veritabanı yazım işlemi bir çok sistemde yeterli olmasına rağmen,
birden fazla yazım işlemi tanımlanabilir. Bu işlemlere DBW0...DBW9
şeklinde isim verilir. Veritabanı açılırken bu DB_WRITER_PROCESSES
parametresi ile veritabına bildirilir.
Bir kullanıcı yaptığı değişiklikleri �commit� komutuyla onayladığında
veritabanı yazıcısı bu değişiklikleri hemen veri dosyalarına kaydetmez.
Veritabanı yazıcısı veri dosyalarına yazma işlemini kendi belirler ve
ya SGA içerisine çok miktarda başka verilerin alınması gerektiği zaman
ya da çok az veritabanı tamponu kaldığı zaman yazma işlemini
gerçekleştirir. Veri dosyalarına yazım işlemi en son kullanılan
verilerden başlanarak gerçekleştirilir.
Log Yazıcısı(Log Writer LGWR)
Log yazıcısı SGA�nın redo log tamponundaki bilgileri diske kaydetmek
için kullanılır. LGWR tampondaki bilgileri o an kullanımda olan bir
redo log dosyasına sıra ile yazar. Bu yazma işlemi veritabanının sahip
olduğu birden fazla redo log dosyasına da yapılabilir.
Değişme Noktası(Checkpoint- CKPT)
Belirli zamanlarda SGA içerisindeki değişikliğe uğramış veritabanı
tamponları DBWn tarafından belleğe yazılır. Bu işlem değişme noktası
işlemi olarak adlandırılır. Değişme noktası işlemi DBWn�e değişme
anlarını haber vermekten ve veritabanındaki bütün veri dosyalarını ve
kontrol dosyalarını yeni değişme noktasından haberdar etmek için
güncellemekten sorumludur.
Sistem Analizi(System Monitor-SMON)
Sistem Analizi veritabanı oturumu açılırken oturum için kurtarma yapar,
yani kontrol dosyalarını kontrol ederek geri alınması gereken bir
işlemin olup olmadığına bakar, eğer varsa geri allma işlemini
gerçekleştirir. Birden fazla veritabanı oturumunun olduğu ortamlarda
SMON aynı zamanda bozulan sistemler içinde ayrı ayrı kurtarma yapar.
SMON aynı zamanda kullanılmayan geçici parçaları(temporary segment)
temizlemekte ve herhangi bir problemden dolayı bozulan işlemleri
kurtarmaktadır. Bozulan işlemlerin sorgu komutları SMON tarafından
tablo uzayı ve veri dosyası tekrar aktif hale getirildikten sonra
kurtarılır. Son olarak SMON veritabanında daha fazla boş yer açılsın
diye boş genişlemeleri birleştirmektedir.
İşlem analizi(Process Monitor-PMON)
İşlem Analizi herhangi bir kullanıcı işlemi bozulduğunda o işlemin
kurtarılmasını yapmaktadır. PMON işlemin kullandığı belleği ve
kaynakları temizlemekten sorumludur. PMON aynı zamanda
dispatcher(ileride anlatılıyor) ve sunucu işlemlerini kontrol eder ve
kapandıklarında yeniden çalıştırır.
Yedekleyici(Archiver-ARCn)
Yeekleyici o an kullanılmakta olan redo log dosyalarını, doldukları
zaman yedek depolama ünitelerine kopyalar. Tüm sistemler için bir ARC0
işleminin olması yeterli olsa da birden fazla işlem
gerçekleştirilebilir. Bu LOG_ARCHIVE_MAX_PROCESSES parametrsei ile
belirlenir. ARCn işlemi veritabanı ARCHIVELOG modda çalışırken
kullanılır.
Geri Kurtarıcı(Recoverer-RECO)
Geri kurtarıcı dağıtık veritabanında sistem veya ağ hatalarından dolayı
bekleyen işlemleri düzenler. Belli aralıklarla, yerel RECO uzaktaki
veritabanına bağlanıp yereldeki dağıtık işlemlerle ilgili �commit� ve
�rollback� işlemlerini yapmaktadır.
Dispatcer(Dnnn)
Dispatcher�lar çoklu ortamlarda isteğe bağlı olarak
çalıştırılmaktadırlar. Her iletişim protokolü için en az bir dispatcher
işlemi (D000,....,Dnnn) oluşturulmaktadır. Her dispatcher işlemi
kullanıcı işlemlerinden gelen istekleri sunucu işlemlerine
yönlendirmekte ve gelen cevapları da uygun kullanıcılara tekrar
döndürmekten sorumludur.
Kilit(Lock-LCKO)
Kilit işlemleri birden fazla veritabanı oturumunun çalıştığı
sistemlerde veritabanları arasında gereken bir takım kilitleme
işlemlerini gerçekleştirir.
İş Kuyruğu(Job Queue-SNPn)
Dağıtık veri tabanı uygulamalarında 38 adetten fazla
(SNP0,...,SNP9,SNPA,....SNPZ) iş kuyruğu işlemi tablo snapshot�larını
otomatik olarak güncelleyebilir. Bu işlemler periyodik olarak
başlatılır.
Oracle�ın Çalışmasına Bir Örnek
Aşağıdaki örnek bir istemcinin ağ üzerinden sunucudaki veritabanına erişip bir sorgulama yapmasının adımlarını içermektedir.
Oracle veritabanı �host� ya da �database server� olarak adlandırılan bilgisayarda çalışıyor vaziyettedir.
Bir kullanıcı istemci bilgisayarda kullanıcı işlemlerini gerçekleştiren
bir uygulama programını çalıştırmaktadır. İstemci bilgisayar sunucu
bilgisayar ile bağlantısını uygun Net8 sürücüsünü kullanarak
gerçekleştirir.
Sunucu bilgisayarda da uygun bir Net8 sürücüsü çalışıyor vaziyettedir.
Sunucu uygulama programından gelen bağlantı isteğini tespit eder ve
kullanıcı işlemine karşılık gelen sunucu işlemini oluşturur.
Kullanıcı bir SQL komutu çalıştırır ve yaptığı değişikliği �commit�
eder, yani onaylar.Örneğin kullanıcı bir tablo içerisindeki bir kaydı
değiştirir.
Sunucu işlemi komutu alır ve paylaşım havuzunda bu SQL komutuna
benzeyen bir paylaşımlı SQL alanı olup olmadığına bakar. Eğer böyle bir
alan bulunursa sunucu işlemi kullanıcının bu SQL cümlesini çalıştırma
haklarını kontrol eder. Eğer böyle bir alan yoksa yeni bir paylaşımlı
SQL alanı oluşturulur ve SQL komutu çalıştırılır.
Sunucu işlemi bu SQL komutu için gerekli verilerin SGA�da olup
olmadığına bakar. Eğer burada yoksa ilgili veri dosyasından verileri
alıp SGA�ya getirir.
Sunucu işlemleri komutun gereklerine göre SGA�daki verileri değiştirir.
DBWn değiştirilmiş veri bloklarını gerekli olduğu zaman kalıcı olarak
diske kaydeder. SQL komutu onaylandığı için LGWR işlemi yapılan SQL
işlemini redo log dosyalarına kaydeder.
Eğer SQL komutunun çalıştırılması başarılı olduysa sunucu işlemi ağ
üzerinden istemcideki uygulamaya mesaj gönderir. Eğer başarılı
olmadıysa uygun hata mesajını gönderir.
Tüm bu işlemler yapılırken veritabanı sunucusu diğer kullanıcıların
aynı ya da farklı veriler üzerindeki işlemlerini de yürütür. Bu
işlemlerin yapılabilmesi ve performansın artırılması için örneğimiz
içerisinde anlatılmayan başka arka plan işlemleride gerçekleştirilir.
Veri Tanımlama Dili Komutları
SQL�de veritabanı nesnelerini oluşturma, silme, yapısını değiştirme
işlemleri için kullanılan komutlara veri tanımlama dili komutları
denir. Bu komutlar �create�, �alter�, �drop�, �grant�, �revoke�,
�analyze�, �audit�, �comment� komutlarıdır. Şimdi bu komutları
kullanarak veritabanı nesneleri ile işlemler yapacağız.

Alıntıdır...
Mc Zindan Ankara Style
Mc Zindan Ankara Style
Admin
Admin

Mesaj Sayısı : 3104
Aktiflik Puanı : 13214
Kayıt tarihi : 26/11/09
Yaş : 31
Nerden : ankara

http://www.amasyateknoloji.tk

Sayfa başına dön Aşağa gitmek

Sayfa başına dön

- Similar topics

 
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz