2012/12/30

Oracle Flashback Teknolojisi

Oracle Flashback teknolojisi 10g ile birlikte geldi.Flashback geniş bir konu drop edilen tabloların geri getirilmesinden,RMAN içinde kullanımına kadar bir çok başlık bulunmaktadır.Veri kayıplarını önlemek için kullanılır. Flashback diğer recovery işlemlerinden ayıran en büyük özellik daha hızlı olmasıdır.
Oracle flashback da olan teknolojiler şunlardır.

  • Flashback Database
  • Flashback Table
  • Flashback Query
  • Flashback version Query
  • Flashback Transcation Query

2012/12/29

Oracle 11g Recycle bin(Geri Dönüşüm kutusu)

Recycle bin düşürülmüş objelerin bilgileri tutan bir çeşit veri dizin tablosudur. Silinmiş tablolar ve tablolara bağlı indexler,constraintler ve diğerleri gibi objeler silinmez.Kalıcı olarak silinmeden bu objeler hala kullanıcı olan kotası dahilinde yer kaplar.Her user kendine ait recycle bin vardır. SYS kullanıcısı ile girildiği zaman tüm kullanıcıların recycle bin görülür. Yani biraz daha basite indirgersek geri dönüşüm kutunuz açık durumda ise veritabanınızda tablo vb. objeleriniz hemen silinmez.Recycle bin kutusuna düşer.


    *SQL> SELECT * FROM RECYCLEBİN    veya
    *SQL> SHOW PARAMETER RECYCLEBİN;
Bu komutlarla geri dönüşüm kutusunda hangi objeler var görebiliriz.Eğer geri dönüşüm kutusu görevini yerine getirmiyorsa archivelog modda veritabanı tekrar kaldırmamız lazım.

Oracle User ve Güvenlik

Oracle kullanıcı erişimini kontrol etmek için bir çok metot sunmaktadır.Bir kullanıcı oluşturulduğu zaman kullanıcı ile ilgili bir çok özelliği yanında bu kullanıcıya ait kimlik denetimini nasıl yapılacağınıda belirtmek mümkündür.
Oracle da kullanıcı erişimlerini kontrol etmek için öncelikle ayrıcalıklar (privilege) kullanılır. Oracle da nesne,sistem ve rol ayrıcalıkları mevcutdur. Bu privilege'leri kullanıcılara vererek yada geri alarak hangi kullanıcının hangi veritabanı nesnelerine ne seviyede erişebileceği belirlenir.Bir diğer yöntem ise profiller aracılığıyla kullanıcıların sistem kaynakları nasıl yönetilmesidir.


  • Oracle da güvenlik;
  • Veritabanı erişimlerini kontrol etmek,
  • Veritabanında ki belirli nesnelere erişim yetkisi vermek,
  • Verilen yada geri alınan ayrıcalıkları Oracle data dictionary ile doğrulamak,
  • Veritanında ki nesneler için sinonimler,eş anlamlılar oluşturmak.

2012/12/28

Oracle Arka plan işlemleri

Oracle 11g instance başlatıldığı andan  kapatılana kadar arka planda çalışmakta olanbir takım process'ler vardır.Oracle veritabanının işlevleri yerine getirmesini sağlamaktadır.Genel olarak bakıldığında arka plan işlemleri şöyle sıralayabiliriz.

  • Process Monitor işlemi (PMON)
  • System Monitor işlemi  (SMON)
  • Database Writer işlemi (DBWN)
  • Log Writer işlemi (LGWR)
  • Checkpoint işlemi (CKPT)
  • Managebility Monitor işlemi (MMON)
  • Memory Manager işlemi (MMAN)
  • Archiver işlemi (ARCN)

Arka planda çalışmakta olan işlemleri listelemek için şu sorguyu yazalım.
    *SQL>  SELECT PROGRAM FROM V$PROCESS ORDER BY PROGRAM;

2012/12/26

Oracle Bellek Yapısı

Oracle sunucusu,bellek yapılarını ve işlerini veritabanı yönetmek ve erişmek için kullanılır.Bu bölümde anlatılacak olan mimari özellikler oracle sunucusunun şunları desteklemesini sağlamaktadır.
     *Çok sayıda kullanıcının aynı anda tek bir veritabanına ulaşmaları,
     *Aynı anda çok sayıda kullanıcının ve uygulamanın bağlandığı bir veritabanının ihtiyaç duyduğu yüksek performans,
Oracle 11g Database Server, çalışır durumdayken belirli bir alanı kendi işlemleri ve kullanıcı işlemleri için ayırır. Rezerve edilen bu bellek yapıları SGA(system global area) ve PGA(program global area) olarak adlandırılmaktadır.
Oracle sunucusu bir database ve database instance den oluşur.Oracle database'in her açılışında bellek de SGA alanı tahsis edilir ve oracle background process işlemleri başlatılır.Bu işlemler ve tahsis edilen buffer memory birleşimi Oracle instance oluşturur.

2012/12/25

Oracle Mantıksal Yapısı

Oracle veritabanını yönetebilmek için mantıksal olarak daha küçük parçalara ayırır.Mantıksal kısmı dört bölümde inceleyebiliriz.

  • Tablespace
  • Segment
  • Extent
  • Oracle bloklar




Resimdeki sıralamadan da anlaşılayacığı gibi bloklar extentleri,extentler segmentleri,segmentlerde tablespace'leri oluşturur.

2012/12/24

Oracle Fiziksel Yapısı

Oracle üzerinde kurulduğu yapı "Fiziksel yapı" ve "Mantıksal yapı" olmak üzere ikiye ayrılmıştır.Bu yazıda fiziksel yapıya neler aittdir ondan bahsedeceğim.Veritabanı,tablolarındaki verileri ve veritabanına ait gerekli yapılandırma dosyalarını saklamak üzere fiziksel diskler üzerinde depolanan dosyalar kullanılır.Bu dosyalar siz silmediğiniz veya üzerinde depolandıkları diskte bir hata meydana gelmediği sürece varlıklarını sürdürürler.Fiziksel yapıyı oluşturan bileşenler şunlardır;

  • Datafiles
  • Controlfiles
  • Redo log files
  • Archive log files
  • Parameter files
  • Alert ve Trace log files
  • Backup files  



2012/12/23

Oracle 11gR2 Database Kurulumu

Bu yazıda Oracle 11gR2 Database kurulumu Ret Hat Enterprise Linux 5.5 işletim sistemi üzerine kurulmuştur. 
Oracle veritabanımızı http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html indirebiliriz. Oracle veritabanını Linux işletim sistemi kurmadan önce bazı parametreler set etmemiz gerekiyor. Öncelikli olarak bu parametrelerden başlıyalım.

2012/12/22

Oracle Operatörler


Operatörler veri üzerinde  işlem yaparak bir sonuç döndüren işlemlerdir.Bu operatörleri 4 başlık altında inceleyebiliriz. Sıralayacak olursak;
 1-)Küme operatörleri;
      Küme işlemi yapmak için kullanılır.Küme işlemlerini de  4 bölümde inceleye biliriz;

  • Union; iki sorguda yer alan tüm satırları verir,aynı olanları bir kez alır.Kümelerdeki birleşim işleminin karşılığıdır.
  • Union all; İki sorgudaki tüm satırları verir,tekrar eden satırların hepsini alır.
  • Intersect; İki sorgudaki satırlar döner,tekrar edenleri bir kez alır kümelerde kesişimin karşılığıdır.
  • Minus; 1.sorguda olup 2.sorguda olmayanları alır.Kümelerde fark işleminin karşılığıdır.

2012/12/21

Ensar Erdoğan: Oracle Joins and Constraints

Ensar Erdoğan: Oracle Joins and Constraints: Oracle Joins(Birleştirmeler) Veritabanın da bir çok tablolardan yararlanılır. Bazı zaman ihtiyaç duyulan bilgileri almak için birden çok t...

Oracle Joins and Constraints

Oracle Joins(Birleştirmeler)

Veritabanın da bir çok tablolardan yararlanılır. Bazı zaman ihtiyaç duyulan bilgileri almak için birden çok tablodan yararlanmak gerekir.Bu gibi işlerde joinler yani birleştiriciler den yararlanılır. Join çeşitlerine bakacak olursak;


  • Eşitlik(Equijoin) birleşmesi
  • Eşitsizlik(Non_equijoin)
  • Dıştaki (outer join)
  • Kendi kendine (self join)


Basit birleştirme işlemleri;
     Birleştirme işlemi yapılırken iki tabloyu ilişkilendirmek için en çok  kullanılan operatör (=) eşittir. Sütunları verilen verileri eşit olan kayıtlar birleştirilir.Buna inner join denir.
  • SQL> select bölgeler.bölgeler_id, bölge_adi, il_adi  from bolgeler ,iller where bölgeler.bölgeler_id=iller.bölge_id;
  • SQL>select * from employees e, departments d where e.department_id=d.department_id;


SQL Tablo oluşturmak ve DDL cümlelerin kullanımı


Tablolar veritabanın da yer alan en basit veri saklama yapılarıdır. İlişkisel veri tabanında tablolar arasında da çeşitli ilişkiler oluşturulmuştur.Her tablonun kendisine ait özel bir ismi vardır.Bir tablo için kullanılan isim aynı şema içerisinde başka bir tabloya daha verilmez. DDL ise veritabanı objeleri yaratılmasıyla ilgili komutlardır. DDL açılımı ise şöyledir ( Data Definition Language).
 Tablo oluşturmak;
   Şemaların barındırılabileceği nesnelerin belkide en önemlisi  olan ve verileri barındıran  tabloları oluşturma işlemine diyebiliriz.Tablo oluşturmak için create table cümlesi kullanılır..
  •      Kullanım şekli;

                    Create table kitaplar(
                    Kitap_no number(4),
                    Kitap_adi varchar2(20),
                    Yazi_adi varchar2(20),
                    Fiyat number(10,2)
           );

2012/12/20

DML(Data Manipulation Language) cümlelerin kullanımı



      Veri tabanına veri ekleme,mevcut verileri güncelleme ve silme işlemleri DML kullanarak yapılmakdadır.Veri tabanı objeleri kullanma işleri yapılır. DML açılımı ise (Data manipulation language) demekdir.Bunları şöyle sıralayabiliriz;
  • insert; Tabloya kayıt ekler.
  • update;  Tablodaki kayıtları değiştirir yani günceller.
  • delete; Tablodaki kayıtları siler.
  • merge;  Tabloya kayıt ekler yada değiştirir.

Ret Hat Enterprise Linux 5.5 Kurulumu



Öncelikle kuracağımız Red Hat Enterprise Linux 5.5 sürümünü http://www.redhat.com/ sitesinden indiriyoruz. Sonra DVD'ye imajı boot olarak ekliyoruz.Yada sanal kurulum  için iso dosyası olması yeterli olacaktır. 

  • İlk olarak karşımıza ekran gelecek bu ekranda enter basarak ilerliyelim.

SQL Grup Fonksiyonları



    Grup fonksiyonları tek kayıt fonksiyonların aksine her bir kayıt için değil her bir grup için bir kez çalıştırılır.Grup fonksiyonları tek kayıt fonksiyonlarından farklı olarak bir veye daha fazla girdi değeri alır .Null değeri dikkate almaz ve genelde null dönürmezler. Şimdi de bir kaç tane grup fonksiyonunu anlatmaya çalışalım;
  • Distinct; Aynı değere sahip kayıtların sadece bir kez değerlendirmeye alır;
  • Avg; Aritmatik ortalamayı verir.
  • Count; Null olmayan değerlerin sayısını verir.
  • Grouping; Özetlenmiş kayıtlar için 1, özetlenmemiş kayıtlar için 0 değeri döndürüler.
  • Group_id; Her bir grubu belirtilen bir belirteç değeri döndürür.
  • Max; En büyük değeri döndürür.
  • Min; En küçük değeri döndürür.
  • Sum; Aritmatik toplamı verir.

 Şimdi ise bu grup fonksiyonlarından bazılarına örnekler verelim;

2012/12/19

SQL TEK KAYIT FONKSİYONLARI



Tek kayıt fonksiyonları tek bir satır için çalışır ve sonuçta sadece tek değer döndürebilirler.Tek kayıt fonksiyonları aşağıdaki gruplara ayırmak mümkündür.
  • Karakter fonksiyonları
  • Sayısal fonksiyonları
  • Tarih fonksiyonları
  • Dönüştürücü fonksiyonlar
  • Diger fonksiyonlar

    Tek kayıt fonksiyonları sql  içerisinde alabileceği bölümler verilmiştir. Select cümlelerinin; 
  • select,where ve order by kısımlarında,
  • update cümlelerin set kısımlarında,
  • insert cümlelerinin values kısmında,
  • delete cümlelerinin where kısmında,

     Tek kayıt fonksiyonları iç içe yazma imkanını verir.Yani bir fonksiyonun sonucunu diğer bir fonksiyona parametre olarak verebiliriz.

Oracle Veri Tipleri


Veri saklamak için veritabanında bir tablo oluşturulduğu zaman tabloda her bir sütun için bir veri tipi tanımlanmişdır.Bir cok veri tipi mövcutdur.Bunları şöyle sıralayabiliriz;

Katagori
Veri Tipleri
Karakter
CHAR,VARCHAR2…
Sayisal
NUMBER
Long ve raw
LONG,LONG RAW,RAW
Tarih ve zaman
DATE,TIMESTAMP,INTERVAL YEAR TO MOUNTH,INTERVAL VAL DAY SECOND…
Buyuk nesneler
CLOB,NCLOB,BFILE…
Row id
ROWID,UROWID

 CHAR:Veritabanı belirtilen büyüklük degerinin tamamen doldurulmasını sağlar.Büyüklügü en küçük 1 byte ve en büyük 2000 bytedır.1 byte’I 1 karakter olarak düşünmekdedir.Yani veritabanına char(10) yazdıgımızda veri tabanında ne olursa olsun 10 bytelık yer ayıracakdır.Siz oraya 1 karakter girseniz bile o yine 10 bytelık yer kaplıyacakdır.

2012/12/18

Oracle startup-shutdown


    Oracle’in açılması 3 aşamada gerçekleşir.ilk önce veritabanı ile ilişkili instance çalıştırılır.2.olarak açılan bu instance veritabanı ile ilişkilendirilir.Son olarak da veritabanı kullanıcıların kullanımına açılır.Bunu biraz daha açıklıcak olursak şöyle devam edelim;
1-)Nomount olması,
2-)Mount olması,
3-)Open olması,
Veritabanı nomount olması için pfile ve spfile denilen parameter file’lerine ihtiyaç duyar.Oracle'la alakalı herşey bu parameter file larda bulunur.Bu parameter file yeri de şöyle ğösterilebilir.
  •     Oracle_home/dbs/spfile{oracle_ SID}.ora yani spfileDB11G.ora

   Oracle farklı aşamalarda açmak için aşagıdaki komutlar kullanılır.

Oracle Nedir?


Kısaca oracle'dan bahsetmek gerekirse iliş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 kısaca şunlardır;
-Büyük miktarda veri tutabilme ve verilerin depolandığı alanları ayarlama imkanı verebilmektedir.
-Aynı anda çok sayıda kullanıcıya verilerin bütünlüğünü bozmadan hizmet verebilmektedir.
-Günün 24 saati ve haftalar boyu hiç kapatılmadan çalısabilmektedir.
-İşletim sistemi, ve erişim dilleri standartlariyla uyumludur.
-İstemci/Sunucu mimarisinin bütün avantajlarını kullanabilmektedir.
-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.
    

2012/12/17

SQL nedir ve ne işe yarar?



 Merhaba arkadaşlar ilk yazımda baslık olarak yazdığım konuyu sizlere anlatmaya calısacağım.Öncelikle sql'in ne olduğunu neler yapılabıleceği gibi en temel sorular üzerinden başlamak istedim.
  
  Structured Query Language yani "Yapılandırılmış sorgu dili" anlamındadır.. (RDBMS) Relatianol Database Management System veritabanlarına girmek için kullanılan standart yazılım..Sql kısaca bir veritabanında veri saklamak ve istenildiğinde veriye ulaşmak için gerekli yoldur.SQL dili;MS Sql server,IBM DB2,ORACLE,My Sql ve Microsoft Access gibi tum modern veritabani sistemleri icin en temel bir yapidir.