Oracle

fLayer

Kayıtlı Üye
Katılım
Nisan 11, 2019
Mesajlar
231
Puanları
18
Tepkime puanı
13
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.
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.

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

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.

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.



Oracle8 : Veri Tabanı Yönetim Sistemi, günümüzün dinamik çalışma grubu çevrelerinden yüksek hacimli ‘ online transaction' ve sorgulama bazlı veri ambarı sistemlerine kadar uzanan geniş bir yelpazede en uygun, en iyi performansa ulaşmak için esnek, açık, ölçeklenebilir, bağımsız, güvenli bir ortam yaratan, Web-enabled uygulama yaratımını destekleyen ve kolay kullanılabilir yönetim araçları içeren güçlü bir veri tabanı yönetim sistemine sahiptir. Oracle VTYS, 130’dan fazla donanım üzerinde (UNISYS, IBM, DEC, HP, SUN, MAC, Sequent, PC, Mainframe.....) ve tüm işletim sistemlerinde çalışmakta, değişik performans ihtiyaçları için tek işlemcili donanımlar’dan, Simetrik Çoklu İşlemcili sistemler üzerinde çalışabilmektedir
Oracle’ın Kominikasyon Aracı, SQL*Net ürünü, client/server ve server/server Oracle veri iletişimini gerçekleştir. SQL*Net, yagın Kullanılan Tüm İletişim Protokollerini Destekler : TCP/IP, OS, APPLETALK, XODIAC,ve diğerleri
Oracle8 VTYS’nin mimarisi yüksek performans sağlayacak bütün teknolojileri kullanmaktadır:

Contention-Free Queries: Oracle8 VTYS'de sorgulamalar güncelleştirmeleri ve güncelleştirmeler sorgulamaları bloke etmediği için işlemler birbirlerini beklemek zorunda kalmazlar.
Paylaşımlı Derlenmiş SQL: Oracle VTYS, OLTP ortamlarda olduğu gibi çok sayıda kullanıcının aynı grup SQL cümlelerini kullandığı durumlarda bu kullanıcıların SQL cümlelerinin derlenmiş ve ortak bellekte tutulan tek bir kopyasını paylaşmalarına olanak verir. Bu shared compiled SQL yapısı sayesinde hem bellek kullanımı azalır hemde performans artar.
On-line Backup/On-line Recovery: Oracle VTYS, OLTP aktivitenin en yüksek olduğu zamanlarda bile kullanıcıları etkilemeyecek şekilde on-line backup (yedekleme) ve on-line recovery (kurtarma) işlemlerini gerçekleştirebilmektedir.
Otomatik Sıra Numarası Üretimi: Oracle VTYS, veri tabanında sıra numaraları üretilirken herhangi bir tablonun kilitlenmesine gerek olmadığından bu açıdan bir performans darboğazına girmemektedir.

Oracle, veri tabanı kaynaklarına, tablolarına ve verilerine yetkisiz ve kaçak erişimi engellemek ve denetleyebilmek ayrıca DDL komutlarının (create, select, delete vb) kullanım haklarının denetlenmesi için rol bazında güvenlik yöntemini kullanmaktadır. Bu yöntem her kullanıcının her tablo için erişim hakkının sisteme girilmesini gerekli kılan klasik yaklaşıma göre çok daha düşük maliyet getirmektedir. Oracle8 VTYS, güvenlik ve gizlilik nedeniyle erişim ve güncelleştirme için değişik şifrelerle korunma sağlamaktadır. Veri tabanı objelerine erişim yetkileri roller bazında tanımlanabilir (role-based security). Oracle8 VTYS, ANSI/ISO SQL3 güvenlik standardını desteklemektedir.

Rol, bir iş grubunu temsil eder. Veri tabanı kullanıcılarına daha önce tanımlanmış roller verilir. Böylece kullanıcının bulunduğu iş grupları kendisine verilen rollere bağlı olarak tanımlanmış olur. Bir role verilebilecek veri tabanı objelerine değişik erişim yetkileri verilebilir.
Oracle VTYS veri tabanı bütünlüğüne (Integrity) sahiptir. Bir alan üzerinde verilebilecek kısıtlama sayısında herhangi bir limit yoktur. Oracle VTYS veri tabanı bütünlüğüne ilişkin bilgiler aşağıda verilmiştir

Oracle Veri Bütünlüğü Uygulatımı
Oracle VTYS, veri bütünlüğü kurallarının herbirini tanımlamaya ve uygulamaya olanak sağlar. Bu kuralların büyük bir kısmı, bütünlük kısıtlamaları kullanılarak tanımlanır. Bütünlük kısıtlamaları aşağıda sunulmuştur;

Bütünlük Kısıtlamaları (Integrity Constraints)
Bir bütünlük kısıtlaması, bir tablonun bir kolonu için bir kural tanımlamanın bildirimsel (declarative) bir yöntemidir. Bir bütünlük kısıtlaması, Oracle VTYS tarafından veri tabanının temel tablolarına geçersiz veri girişini engellemekte kullanılan bir mekanizmadır. Bütünlük kısıtlamaları, bir veri tabanındaki bilgiler ile ilgili iş kurallarını uygulatmak amacıyla tanımlanabilir. Eğer bir ifade, yürütümünün sonuçlarından herhangi biri bir bütünlük kısıtlamasını ihlal ederse, ifadeye ilişkin değişiklikler ortadan kaldırılır (rollback) ve bir hata kodu döndürülür.
Veri tabanı idarecisinin ya da uygulama geliştiricisinin kolon değerlerinin girdisi üzerinde sınırlamalar koymak için kullanabileceği çeşitli veri bütünlüğü kısıtlamaları vardır.
Oracle VTYS tarafından desteklenen bütünlük kısıtlamaları şunları içerir:
NOT NULL Default olarak, bir tablodaki kolonların tümü "null" değere olanak verir. Yani o kolonlara veri girilmesi zorunlu değildir. Bir NOT NULL kısıtlaması, bir tablonun bir kolonundaki null değere izin verilmemesi anlamına gelir. Örneğin, A tablosundaki her kayıt için, B kolonuna, mutlaka bir değerin girilmesini gerektiren bir NOT NULL kısıtlaması tanımlanabilir.
UNIQUE Anahtar Bir UNIQUE anahtar kısıtlaması, bir tablo içinde belirlenen bir kolon ya da kolon seti içinde yinelenen değerlerin olmamasını sağlar. UNIQUE anahtar kısıtlamasının tanımına dahil edilen kolon ya da kolon seti UNIQUE anahtar olarak adlandırılır. Eğer söz konusu UNIQUE anahtar kısıtlaması birden fazla kolondan oluşuyorsa, kısıtlama karma unique anahtar (composite unique key) olarak adlandırılır.
BİRİNCİL (PRIMARY) Anahtar Bir veri tabanı içindeki her tablo, tek bir BİRİNCİL ANAHTAR kısıtlamasına sahip olabilir. Bir tablonun kayıtları, BİRİNCİL ANAHTAR bütünlük kısıtlaması ile yönetilen değerleri kullanarak tanımlanabilir ya da referans edilebilir. BİRİNCİL ANAHTAR'ın bütünlük kısıtlaması, Oracle VTYS uygulamalarına şunları garanti eder:
Bir kolonun hiçbir iki kaydı belirlenen kolon ya da kolon seti içinde yinelenen değer içermeyecektir. Birincil anahtar kolonu/kolonları null değerlere izin vermeyecektir (yani, her kayıtta birincil anahtar kolonları için bir değer olmalıdır).
YABANCI (FOREIGN) Anahtar Oracle, aşağıdakiler dahil olmak üzere referans bütünlüğü işlemleri tanımlama amacına yönelik YABANCI ANAHTAR bütünlük kısıtlaması kullanımını desteklemektedir:

Referans Bütünlüğü Kısıtlamaları Tarafından Tanımlanan İşlemler
Referans bütünlüğü kısıtlamaları, referans verilen ana anahtar değerinin değiştirilmesi durumunda, bir alt tablo içindeki bağımlı kayıtlar üzerinde gerçekleştirilen özel işlemleri de belirler. Oracle VTYS'in YABANCI ANAHTAR bütünlük kısıtlamaları ile desteklenen referans işlemleri şunları içerir: GÜNCELLEŞTİR (UPDATE), SİLMEYİ KISITLA (DELETE RESTRICT) ve BASAMAKLI SİL (DELETE CASCADE)
Basamaklı Silme (Cascading Deletes) Basamaklı silme işlemi, referans edilen ana anahtar değerlerini içeren kayıtlar silindiğinde, bağımlı yabancı anahtar değerlerine sahip alt tablolardaki tüm değerlerin de silineceğini belirtir. Örneğin, eğer ana tablodaki bir kayıt silinirse, bu kaydın ana anahtar değeri alt tablo içindeki bir ya da birden çok yabancı anahtar değeri tarafından referans alınmışsa, alt tablo içinde ana anahtar değerini referans alan kayıtlar da alt tablodan silinir.

Oracle8 VTYS, bir tablonun veri dağılımı ve saklama indekslere ve istatistiklere dayanarak SQL ifadeleri için otomatik olarak bir yürütme planı seçmektedir. Bu özellik, otomatik maliyet-esaslı eniyileyici (Cost-based optimizer) olarak adlandırılmaktadır. Kullanılan istatistikler arasında tablo ebatı, kolonların seçiciliği, verilerin indekslenen değerlerin etrafında fiziksel olarak kümelenme derecesi, vb. yer almaktadır. En etkin erişim yolunu seçerek, sorgulamanın performansını, sorgulama cümlesinin yazılım şeklinden (sözdiziminden) bağımsız hale getirmektedir. Tabloları birleştirme (join) ya da tablo erişim yolu gibi noktalarda eniyileyicinin kararlarını yönlendirmek için, SQL ifadeleri içinde bulunan ve kullanıcı tarafından verilen ipuçları kullanılmaktadır. Oracle8 VTYS'nin cost-based optimizer'ı istatistik oluştururken verinin uniform olduğunu farz etmemektedir.
Oracle veri tabanı ailesi ilişkisel mimarinin yanı sıra, nesne yönetimli teknolojiyi de tamamen destekleyen bir mimariye sahiptir. Endüstri eğilimi ve beklentileri sonucunda Oracle hem ilişkisel hem nesnesel mimariyi; paralellik, devamlılık güvenlik, ölçeklenebilirlik, kolay yönetilebilirlik, yüksek performans ve yeni veri tipleri ile birleştirerek bilgi çağında yarattığı devrimin yanı sıra evrensel bir yaklaşım sunmaktadır
Oracle8 ORDBMS, standart veri tipleri dışında kullanıcı tarafından tanımlanmış veri tipleri kullanımına imkan vermektedir. Kullanıcı tarafından tanımlanan veri tipleri ile gerçek nesnelerin modellenmesi mümkün olmaktadır. Bu amaçla Oracle, SQL3 standartları çerçevesinde SQL diline ekler getirmektedir

Kompleks veri nesnelerinin modellenmesi amacıyla, Oracle8 yeni veri tipleri ile veritabanını genişletmek (user-defined veri tipleri) imkanı sunmaktadır. Bu yapı altında; Harici prosedürlerde Object veritipleri tanımlanması, Index-only tablolar, Nested tablolar, Array veri tipleri tanımlanabilmektedir.
Oracle8, mevcut ilişkisel veriler üzerinde Object View’ler yaratarak, ilişkisel ve object (nesne) verilerin bir arada kullanılmasına olanak verir
Hükümet ve ticari güvenlik ihtiyaçlarını karşılamak amacıyla çok seviyeli güvenlik yaklaşımını destekleyen Oracle veri tabanı ailesinin kişisel bilgisayar ihtiyaçlarına da karşılık veren aynı kernel'e sahip versiyonu mevcuttur.
Ne
twork Computing Architecture (NCA)'ın anahtar bileşeni olan Oracle8 Enterprise Edition, network-merkezli bilgisayım ve nesne geliştirim yöntemlerinin peformansını, güvenilirliğini ve ölçeklenebilirliğini karşılamak üzere tasarlanmıştır. İster geleneksel şirket uygulamaları ister Web üzerinde elektronik ticaret olsun Oracle8 Enterprise Edition ve NCA; en çok gereksinim duyulan uygulamalara destek vermek üzere performans, güç, network bütünleşmesi ve esneklik sağlar.

Veri depolama uygulamaları, yüklü miktarda veri ile çalışan karmaşık, anlık sorgulamalara bağlı olarak OLTP uygulamalarından daha farklı işleme tekniklerine gereksinim duyarlar. Bu özel gereksinimleri karşılamak üzere Oracle8 çok çeşitli sorgu işleme teknikleri, veri erişim yolunu seçmek üzere incelikli sorgu optimizasyonu ve paralel donanım konfigürasyonundan tam anlamıyla yararlanan ölçeklenebilir bir mimari sunmaktadır.

Oracle8 ile geliştiriciler ve son kullanıcılar fiziksel olarak dağıtımlı veritabanını tek bir mantıksal veritabanı olarak ele alırlar ve dağıtımlı ağ ortamındaki her türlü veriye tek bir lokal makina üzerindeymişçesine erişim sağlarlar ve verinin güncellemesini aynı kolaylıkla yerine getirirler. Üretim uygulamaları da çoklu sistemler üzerine dağıtılabilir.
Personal Oracle8, Oracle8 veritabanının masaüstü sürümü olup yeni sezgisel kullanıcı arabiriminin yanı sıra ileri veri kopyalama özellikleri sunmaktadır.

Personal Oracle8 üzerinde geliştirilen uygulamalar yeni yapılandırmaya gerek kalmadan diğer Oracle8 platformlarında da çalışmaktadır. Personal Oracle8 istemci/sunucu uygulamalarında ideal geliştirim platformudur. P O 8 sayesinde ;
Veritabanı nesnelerini yönetebilirisiniz. Tablo verisi izleyebilir ve düzenleyebilirsiniz. Uzaktaki çoklu bağlantıları yönetebilirsiniz. Otomatik veri uyumu konfigürasyonu yapabilirsiniz.

Personal Oracle Lite bir megabyte bellekten daha azına sığabilen tek kullanıcılı nesne-ilişkisel veritabanıdır.. Personal Oracle Lite az yer kaplayan aygıtlarda tek kullanıcılı, küçük çaplı uygulamalar geliştirmek isteyenler için ideal bir yazılımdır.
Personal Oracle Lite çalışma grupları ve şirketler için kullanılan Oracle veritabanıyla veri kopyalanmasını desteklemektedir. İstemci veritabanı altında kullabılmak üzere geliştirilmiş mükemmel bir gömülü veritabanıdır (embedded database) 1MBtan az bellekten daha azına gereksinim duyan Oracle Personal Lite hem hafif hem de çok güçlüdür. Bu sayede uygulamalar çok az bellek kaynağı gerektirirken istemci veritabanı kullanmanın avantajlarına da sahip olurlar. Personal Oracle Lite SQL nin set-tabanlı ilişkisel özelliklerinin gücünü karmaşık veri temsili birleştirir ve C++ gibi nesne-yönelimli programlama dillerinden doğrudan dolaşma (navigation) erişimine izin verir. Personal Oracle Liteın sahip olduğu bu nesne teknolojisi yeni kuşak Oracle nesne yönelimli araçların, bağlanırlığın ve sunucu ürünlerinin tamamlayacaktır.

Oracle ConText option, Oracle8 ilişkisel veritabanınızın bütün gücünü kullanarak, metin bilgi kaynaklarını yapısal verilerde olduğu kadar kolay ve hızlı kullanımına olanak veren metin yönetimidir. Haber arşivlerinden önemli Web içeriklerine kadar her tür bilgi kaynağına ulaşım ve yönetim için idealdir

The Oracle Video Option, kullanıcıların firma ağı üzerinden istemcilere gerçek zamanlı, tam ekran video ve yüksek kaliteli seslerin saklanması, yönetimi ve kullanımına çözüm sağlayan yazılımdır. Oracle8 Server’a opsiyon olarak Oracle Video Option geleneksel veri modelini yüksek kalitede ses ve video kullanarak geliştirir.

Oracle Advanced Networked Option, firma dizin hizmetleri, tek oturumla açılan hizmetler, network şifreleme, jeton ve kullanıcının biyometrik doğrulanması sayesinde tek kaynaklı bütünleşme ve Oracle8nin OSF Distributed Environmet (DCE) ile birleşimine olanak verir
Oracle değişik bireysel teknolojiler kullanılarak bu tür hizmetler sağlamanın bir çok yolu olduğunun bilincindedir. Advanced Networking Option her bir hizmetin yürütülmesinde bir çok yol sunan "tabii teknoloji"dir. Bunun sonucunda, ağ ortamlarına ve güvenlik yazılımlarına yaptığınız yatırımları korurken, yeni teknolojileri de çıktıkça sisteminize katabilirsiniz.

ORACLE UYGULAMA GELİŞTİRME ARAÇLARI
Oracle’ın ölçeklenir uygulama geliştirim çözümü içerisinde iki ürün grubu yer almaktadır: Oracle Designer/2000 ve Oracle Developer/2000™. designer/2000™ iş süreci yeniden yapılandırması (BPR), analiz ve tasarım diyagramcıları ile karmaşık sistemlerin modellenmesine destek verir.
Developer/2000 organizasyonların iş gruplarından şirketlere, çeşitli ölçeklerde, hızlı ve üretken bir biçimde incelikli sistemler üretmelerini sağlar. Ortak bir depo, esnek modelleme ve yöntembilim desteği ve portatif açık mimari sayesinde Designer/2000 ve Developer/2000 endüstrinin tek ikinci kuşak istemci/sunucu ve geliştirim araçlarıdır.

Üretkenlik
Developer/2000in güçlü bildiri yeteneği kullanılarak veritabanı tanımlamalarından, tek bir kod satırı yazmadan, uygulama yaratımı gerçekleştirilebilir.
İstemci/Sunucu Ölçeklenirliği
Ölçkelenirlik Developer/2000 geliştiricileri için oldukça basit bir işlemdir, çünkü ürünün mimarisi içerisinde bu özellik içsel olarak mevcuttur. Dizi getirme, veritabanı imleçleri, bağ değişkenleri, kayıt noktaları ve sıralar olarak sunucu işlevselliği paralel olamayan desteğinde belirtilmiştir
Taşınabilir Olma
Taşınabilir olma ve küresel yaygınlaştırım Oracle ürünlerinin ticari markalarıdır.
Birleşik İstemci/Sunucu Düzenleme ve Hata Ayıklama
Developer/2000 uygulamalarınızın özgün hale getirilmesi sunucu nesnelerinizin değiştirilmesi kadar kolaylaşmıştır.
Tam Bir GUI Desteği
Developer/2000, Windows, Macintosh ve Motif üzerinde doğal bir biçimde taşınanbilir uygulamalar ve character mode sağlar.
Model Yöneltimli Geliştirim
Geliştiriciler depo tanımlamalarından tam bir Developer/2000 uygulamasını gerçekleştririken Designer/2000 kullanmayı seçebilirler. Herhangi bir başka ürünle bu kadar karmaşık, belgelenmiş, standart hale getirilmiş, serbest kullanımlı uygulamalar yaratmanıza olanak yoktur.
Kolay Bütünleşme
Uygulamalarınızın becerilerini genişleten açık mimari sayesinde Developer/2000 esneklik garantisi vermektedir.
Takım Geliştirimi
Developer/2000 uygulamalarınız, uygulama mantığı ve kullanıcı arabirim nesnelerini paylaşabilmekte, bu sayede size takım geliştirim standartlarını tanımlama ve güçlendirme ve uygulama nesnelerini ya da kodunu bir anda yeniden kullanma olanağı vermektedir.
Türdeş Olmayan Veri Erişimi
Developer/2000 yalnızca güçlü Oracle8 veritabanı becerilerini kullanmak üzere değil aynı zamanda formatı ve konumu ne olursa olsun organizasyonunuz içerisindeki tüm veriye erişim sağlamak üzere tasarlanmıştır. DB/2, SQL Server, DB2/400, Access ve RDB dahil olmak üzere seçiminizin gerektirdiği veri kaynakları ile iletişim kurmak üzere Open Client Adapter™, Oracle Open Gateway™ teknoloji ya da uygulama programlama arabirimler (API’ler) kullanır.
Bunun yanısıra;
İlişkendirilmiş veritabalarındaki verileri yönetilen bilgilere dönüştürmeyi mümkün kılıyor. Oracle Express in güçlü olanaklarıyla doğan Discoverer, kullanıcıların tek kaynaktan tüm olası iş araçlarına ulaşmasını sağlıyor. Discoverer ın predictive query governer (tahmini sorgulama yönetimi) özelliği, bir sorgulamanın sonuçlanmasının ne kadar süreceğini bildiriyor ve sorgulamanın tamamlanması kararını kullanıcıya bırakıyor. Bu özellik, sistemi yavaşlatan çok uzun süreli taramalardan tasarruf sağlıyor.
Web yayınlama özelliği sayesinde kullanıcılar Oracle discoverer dan son raporları Web üzerinde yayınlama olanağı buluyor. Bu sayede organizasyon içinde çok fazla kişinin standart Web tarayıcısı kullanarak sonuçlara ulaşmasını sağlıyor.
 
Üst