Oracle Veritabanına Kuşbakışı – 1.Ders

@ 14 Ocak 2010 tarihinde yazdı. Yazıya yorum yazın.

Bu dersleri Oracle veritabanına kuşbakışı bakmamızı sağlaması adına hazırladım.

Bir çok arkadaşımızın Oracle ile tanışıklığı başlangıcında ençok problem yaşadığı nokta ingilizcesinin yetersiz olduğu idi.Bu derslerde nerdeyse tamamını türkçeleştirdim, fakat burda biraz basitleştirme  veya komik  ifadeler yer aldı. Örneğin tablespaces = tablo uzayları  ama tablespaces’i tablo uzayları olarak bilmek oracle ile ilerledikçe tablespaces’le karşılasınca bu ifadeyi tanımama gibi  yeni problemlere yol açacaktı bu yüzden kimi yerlerde isimleri karışık verdim. 9. ve 10. dersleri hepimizin çok dikkat etmesi gereken bir konu olan  SQL Tuning’e ayırdım.  Faydalı oldumsa ne mutlu…

İ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 11g 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 (oracle forms)  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 kendi diliyle :) dersin 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ü 11g’dir. Biz bu çalışmada  Oracle8i’den itibaren ele alacagız.

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 ve PL/SQL

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 (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.

Şimdi genel hatları ile Oracle8i Enterprise Edition’ı kurulumunu inceleyelim.

Gerekli Donanım

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  )

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  )

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

  1. Kuruluma başlamadan önce Windows NT sistemine “Administrator” olarak girin.
  1. 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.
  2. 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.
  3. Ş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.
  4. İ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.
  5. “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.
  6. 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.
  1. Ü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.
  1. “Yükleme Türleri” penceresinde tipik, minimum ya da özel seçeneklerinden biri seçilerek “İleri” butonuna basılır.
  2. 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.
  3. 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.
  4. “İ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.
  1. “İ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.
  2. “İ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.
  3. 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.
  1. Bu işlemler tamamlandıktan sonra “Universal Installer” kapatılabilir.

Oracle8i Enterprise Edition Ürününü Kaldırma

  1. 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)
  2. “Start > Programs > Oracle Installation Products > Universal Installer” seçilerek yükleme asistanı çalıştırılmalıdır.
  3. Burada “Yüklü Ürünler” butonu tıklanır.
  4. Kaldırmak istenilen ürünlerin solundaki kutular tıklanarak boşaltılır ve “Kaldır” butonuna basılır.
  5. 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

Hayrullah AYAN