Blog ' da Ara

Loading

28 Aralık 2011

Oracle Asm Architecture (Asm Mimarisi)

Asm (Automatic Storage Management) mimarisinden ve asm içeriğinden bahsetmeden önce asm faydalarından kısaca bahsetmenin asm mantığını kavramada faydalı olacağını düşünüyorum.
·         Asm diskler üzerinde dengeli yük dağılımını sağlar.
·         Yüksek performans sağlayan cluster yapıdadır.
·         Diskler entegre olmuş gibi asm ortamında tek parça olarak gözükür.
·         Asm ile storage yönetimi kolaydır ve asm bir çok disk probleminide çözmüştür.
Asm faydaları tabi bu saydıklarımızla sınırla değildir ancak temel olarak yukarıdaki 4 madde baz alınabilir. Her bit makina için sadece bir asm instance kurulabilir.Ancak bir asm instance da birden çok veritabanı olabilir.Aşağıda şekil 1 ve şekil 2 de farklı asm konfigurasyonlarını görebilirsiniz.

Şekil 1 : Asm non-cluster multi database konfigurasyon

Oracle ‘da Mail Göndermek & Grid Control Target Status Monitor Etmek


Veritabanı  Yönetiminde bazen bir durumu sürekli veritabanı üzerinden kontrol etmemeiz yada monitor etmemeiz gerekebilir. İstemediğimiz bir event oluştuğunda anında haberdar olmak ve mudahale etmek isteriz.Bunun için veritabanında çalıştırdığımız sql yada pl/sql programların bize döndürdüğü sonuç nasıl mail atılır inceleyelim.

Öncelik Veritabanında mail atmak için aşağıdaki ayarlamaların yapılması gerekmektedir.
Mail gönderebilmemeiz için bizim bir SMTP configurasyonu yapılmış bir makinamız olmalı.Bu makinanın IP sini aşağıdaki gibi veritabanına tanıtacağız.Örneğin bizim SMTP server IP miz 192.168.2.1 olsun.SMTP konfigurasyonunda default port 25 dir.Bu yüzden port tanımlamayacağız.Siz isterseniz farklı port tanımlayabilirsiniz.Bu durumda oracle üzerinde de SMTP_OUT_SERVER=’192.168.2.1:NEW_PORT’ şeklinde parametre set etmeniz gerekir.

SQL> ALTER SYSTEM SET SMTP_OUT_SERVER=’192.168.2.1’ scope=BOTH;
Daha Sonra mail göndereceğimiz Oracle USER için ACL(Access Control List) Tanımları yapmalıyız.

23 Aralık 2011

Oracle Grid Infrastructure Architecture

                   
                Oracle Clusterware
                Cluster şekil 1 dede görüldüğü üzere birbirinden bağımsız ancak aralarında haberleşmeyi sağlayan interconnect denilen bir bağ ile birbirini gören makinelerin yapısıdır.Cluster yapısı performansı artırmak, kesintisiz erişim sağlamak ve yük dengelemek amacıyla kurulur.
Şekil 1 = Cluster Yapısı
                               
                Oracle Cluster yapısı ise Oracle Grid infrastructure temelidir.ASM (Automatic Store Management by oracle for oracle database) ile entegre çalışabilir.ASM cluster file system (ACFS) temelini oluşturur.Oracle cluster yapısı sadece oracle db için değil başka uygulamalar içinde cluster yapısı olarak kullanılabilir.Örneğin Apache server. Aşağıda oracle clusterware servislerini tanımlanmıştır.

28 Kasım 2011

ORACLE RECOVER TEKNOLOJILERI


Oracle recover yani kurtarma teknolojileri adlı bu makalemizde;Recover gerçekleştirmek için nelere ihtiyaç duyulur, Enterprise manager yada RMAN de recover nasıl yapılır, Recover opsiyonları nelerdir ve Control file, Redolog File ve Data file Recover nasıl yapılır açıklamaya ve örneklemeye çalışacağız.Şimdiden faydalı olmasını diliyoruz.
Öncelikle Veritabanını açabilmek için neler gereklidir ve veritabanı açılış aşamaları nelerdir açıklmaya çalışalım.Bir Veritabanını açabilmek için;
·         Tüm Control File ‘ler hazır ve senkron olmalıdır.
·         Tüm Online Data Fileler hazır ve senkron olmalıdır.
·         En az bir adet redolog dosyası hazır ve senkron olmalıdır.
Bununla birlikte Veritabanı açılış aşamaları için şekil 1 referans olarak gösterilebilir.
Şekil 1: Oracle Veritabanı Nasıl Açılır

16 Kasım 2011

ORACLE VERITABANINDA DATAFILE NASIL TAŞINIR

Bir Oracle Veritabanında datafile 'ı başka bir diske taşıma işleminin adımları veritabanının arşiv modda olup olmaması durumuna göre belirlenir.Bu işlemleri aşağıda olumsuz durumlar karşısında geri dönme senaryoları ile birlikte bulabilirsiniz.
                SELECT log_mode FROM v$database;
Sorgusu ile veritabanının arşiv modda olup olmadığını görebilirsiniz.
Eğer Veritabanı Arşiv Modda ise (ARCHIVELOG) datafile aşağıdaki adımlarla diger bir diske taşınabilir.
ALTER DATABASE DATAFILE 'old_datafile_path/datafile_name' OFFLINE;
Adım 1;
cp /old_datafile_path/datafile_name  /new_datafile_path/datafile_name;
Datafile diğer diske başarılı bir şekilde kopyalanırsa;
Adım 2;
ALTER DATABASE RENAME FILE  'old_datafile_path/datafile_name' to  'new_datafile_path/datafile_name';

                                                                                                                        

20 Eylül 2011

ORACLE BACKUP TEKNOLOJILERI

                                                
                Oracle veritabanı yönetiminde backup yani tedekler alıp ihtiyaç olursa bu yedeklerden data kaybını önlemek bir dbanın temel görevlerindendir.Oracle veritabanı backupını alırken üç teknik vardır.Bunlar RMAN, Oracle Secure Backup ve User Managed Backup dır.User Managed Backup dediğimiz teknik dba tarafından yazılan scriptler ile alınır.İşletim sistemine görede bu scriptler değişebilir.Biz bu yazıda daha çok oracle tarafından yazılmış backup teknikleri olan RMAN ve Secure Backup teknolojierinden bahsedeceğiz.
                Öncelikle Backup terminolojisinden bahsedelim ve kavram ve terimleri açıklamaya çalışalım.


13 Eylül 2011

ORACLE YEDEKLEME VE KURTARMA TEMELLERİ

                Bu yazımızda oracle yedekleme ve kurtarma yapabilemk için bilinmesi gereken temel bilgiler, kavramlar, terimler üzerinde duracağız.Böylelikle yedekleme ve kurtarmanın mantığının daha iyi anlaşılacağını düşünüyorum.
                Yedekleme ve kurtarma senaryoları oluşturma, veritababının düzenli yedeklerinin alınması ve olası bir hata karşısında kurtarma yapabilme bir dba' nın temel görevlerindendir.Burda önemli olan tabiki bu işleri yapabilmekten ziyade veritabanının gereken en kısa zamanda tekrar ayağa kaldırılması önemlidir.Mesela banka yada Telekom gibi sektörlerde ki bir veritabanı için bu süre bazen 1 dk. bile olsa kabul edilemezdir.Hiç hata almaz mı? Tabiki alabilir ancak kesintisiz servis ayrı bir uzmanlıktır ve ilerleyen yazılarımızda açıklamaya çalışacağız.Şimdi yedeklem ve kurtarma temelleri nelerdir açıklamaya çalışalım.

27 Ağustos 2011

ORACLE DATABASE MAINTENANCE (DATABASE BAKIMI)

                        
                Oracle Veritabanı yönetmek süreklilik açısından maintanence yani bakım işlemlerini dikkatli yürütmekle olur. Çünkü hali hazırda çalışan bir veritabanının maintenance raporlarından performansını yada aldığı hataları izleyerek çözümler geliştirebilir yada önlemler alabilirsiniz.Şekil 1 i incelediğimizde bir oracle database maintenance işlemlerini sistematize olarak görmüş oluruz.
Şekil 1 : Oracle Database Maintenance (Bakım)
                Proaktif Database Maintenance şekildede görüldüğü üzere AWR raporlarından ve otomatik işlerden meydana gelir.AWR raporları her oracle db de mevcut olan repository deki bilgilerden alınmış, tüm istatistik bilgilerini, yük bilgisi gibi bilgilerin tutulduğu raporlardır.Otomatik işlerde database rutin backup, optinmizer istatistiklerinni refresh edilmesi, database health check denilen kontrollerdir.

25 Ağustos 2011

ORACLE UNDO DATA YÖNETİMİ

                                
                Oracle Undo Data Yönetimi hakkında yazımıza öncelikle Undo data nedir tarif ederek başlayabiliriz.Undo data ;
·         Orjinal, değişime uğramamış datanın kopyasıdır,
·         Her transaction (Dml işlemleride bir transcation gibi çalışırlar) sonrası değişen data,
·         En azınad transaction son buluna kadar tutulurlar,
·         Kullanıldığı alanlar;
o   Rollback operasyonları,
o   Read-consistent sorguları,
o   Flashback utility
o   Fail olan transactionların recover edilmesi

Transaction ve Undo Data Arasındaki ilişki

  Şekil 1 : Transaction ve Undo Data Arasındaki ilişki

22 Ağustos 2011

ORACLE LOCK YÖNETİMİ


                Bir DML işlemi çalışırken, başka bir dml işleminin aynı data üzerinde etki etmesini öznleme mekanizmasına Oracle Lock Mekanizması denebilir. Şekil 1 de bu durum simgelenmeye çalışılmıştır.
Şekil 1: Oracle Row Lock

                Transactionlar dataları row seviyesinde yada tüm bir tablo seviyesinde lock layabilirler. Bu durum çakışma olmaması için manuel sağlanabileceği gibi otomatik olarak da sağlanabilir.Locking oracle tarafından yapıldığında mümkün olan en az data locklanacak ve potansiye laçkışma riski azaltılmış hatta yok edilmiş olacak.

5 Ağustos 2011

ORACLE DEPOLAMA BIRIMLERI YÖNETIMI

                                
                Oracle depolama birimleri dendiğinde akla tablespaceler gelir. Biz de bu yazımızda tabloların nerede depolandığını, oracle veritabanında tablespace ve data file ne amaçla kullnıldığını ve Oracle yen depolama teknolojosi olarak sunulan ASM (Automatic Storage Management) konularını açıklamaya çalışacağız.
                Depolama Birimleri( Storage Structures): Aşağıda verilmiş olan şekil1 oracle depolama birimlerini sembolize etmektedir.
  Şekil1 : Oracle Depolama Birimleri
                                             

28 Temmuz 2011

PL/SQL COMPOSITE (KARMAŞIK) VERİ TİPLERİ

                                                               
                PL / Sql ile programlama yaparken veri kaynağı olarak tabloları kullanırız. Yaptığımız işler tablolardan verileri okuyup, bu verileri yorumlayarak yine tablolara veriler eklemek yada tabloları güncellemek olarak temel anlamda tanımlanabilir. Bu işlemleri yaparken diğer programlama dillerindeki gibi  kontrol blokları , döngüler, hata denetim sistemleri vs. kullanılır. Ancak bazen diziler ile işlemler yaptığımızda yada değişken olarak kullanmak istediğimiz veri bir tek veri değilde bir kolon yada bir row olursa, ya bu verileri değişkenlere parçalamamız yada karmaşık veri tiplerini kullanmamız gerekir.Bu yazımızda advanced derecede veri tipleri pl/sql de nelerdir, nasıl kullanılır açıklamalar ve örnekler yazacağız.
                PL / Sql karmaşık veri tiplerini iki gurupta incelemek mümkündür.
                PL/Sql Record :Bu veri tipi birbirleri arasında ilişki bulunan ancak tipleri benzemeyen verileri için kullnılır.Mesela bir ürünün adını, fiyatını, seri numarasını tutan bir record yazabiliriz.Bu ürüne ait bilgileri değişkenlerde tutmak istesek 3 adet değişken tip tanımlamamız gerekir. Ürün adı için varchar2, fiyatı için number ve seri numarası içinde number olacak şekilde. Ancak record ile tüm bilgileri tek bir değişkende tutabiliriz.
                PL/Sql Koleksiyon : Koleksiyonlar ise aynı tip ancak birden çok verileri turmak için idealdir. Mesela Tüm çalışanların isimlerini tek bir koleksiyon tutabiliriz.Koleksiyon tipleri,

6 Temmuz 2011

TEMEL INDEX PRENSIPLERI

Merhabalar,
Bu yazımızda Oracle Performans geliştirmleri konsuunda bir çerçeve çizip, farklı açılardan tanımlamalar yaptıktan sonra query tuning için gerekli olan index prensiplerinden ve temel query tuning prensiplerinden örnekler ile bahsetmeye çalışacağız.
                Öncelikle Oracle Performans Tuning Nedir? Şeklinde bir soruya benim vereceğim cavap; Oracle Veritabanına dayalı uygulamaların mümkün olan en kısa zamanda işlevini gerçekleştirmesi için yapılan çalışmalar diyebiliriz.

30 Haziran 2011

PL / SQL Nedir? PL / SQL ile Programlama’ ya Giriş

Merhabalar,


Bu yazımızda PL/ SQL hakkında başlangıç aşamasında bilgiler bulacaksınız. Tabi ilerleyen zamanlarda, yazılarımıza daha spesific konularda yer vereceğiz. Sql ilişkisel veritabanlarında veriye ulaşmak ve bu veriyi okumak, yorumlamak, değiştirmek yada verinin depolandağı birimler ile her türlü işlemlerin yapıldığı kodlardır.

SQL (Structured Query Language) yani yapısal sorgulama dili aslında dört kategoride düşünülebilir.

DDL : (Data Definition Language): Verinin tutulacağı tablo  yada veritabanı ile ilgili tanımlama yada oluşturma işlemlerini yaptığımız komutlardır.Bunlardan en genel kullanılanlar aşağıdaki komutlarıdır.
         CREATE         – Veritabanında nesne yaratır.
         ALTER           – Veritabanının yapısını değiştirir.
         DROP            – Veritabanından obje siler.
         TRUNCATE     – Tablodaki kayıtları içerdikleri alan ile birlikte siler.
         COMMENT      – Yorum ekler.
         RENAME        – Nesnenin asını değiştirir.

21 Haziran 2011

Oracle Dba için Linux- Dosyalarla Çalışma ve VI Editör Komutları


Linuxda çalışabilmek için linux yapı mimamirisi temel seviyedede olsa bilinmelidir. Çünkü linux çok esnek bir konfigürasyon yapısına sahiptir.Sadece configürasyon dosyalarını düzenleyerek çok farklı bir linux oluşturabilir yada yanlış düzenlediğiniz bir dosyadan dolayı sisteminize zor anlar yaşatabilirsiniz.Öncelikle linux yapı mimarisini anlatıp, hangi klasörde ,ne tür dosyalar bulunur ve vi editörü nedir? Nasıl kullanılır temel seviyede açıklamaya çalışacağız.

Linux Dosyalama Mimarisi;


16 Haziran 2011

Oracle Instance Yönetimi


Merhabalar,
Bu yazımızda oracle instance yönetimi hakkında bir araştırma yapıyor olacağız. Genel olarak oracle açma , kapama gibi işlemler nasıl yapılır, parametre dosyasında neler vardır, ne anlama gelir, alert log lar ve trace dosyaları nasıl kullanılır, dinamik viewlardan instance izleme nasıl yapılır gibi konular hakkında yazacağız.
            Öncelik bir oracle veritabanı yönetirken framework çatısını şekil1 deki gibi gösterelim.
Şekil1:Oracle Management Framework.

13 Haziran 2011

VmWare oel4 linux üzerine Adım Adım Oracle Database 11g Release 2 kurulumu


Merhabalar,
Bu yazımızda vmware üzerinde kurulmuş redhat linux üzerine oracle database 11g release 2 kurulumunu tamamlayacağız.
Öncelikle Donanımımızın yeterli olup olmadığını sorguluyoruz.
32 bit makina üzerine kurulumda en az 1GB 64 bit Makina içinse en az 4GB ram sahibi olmalıyız, Biz vmware üzerinde 32 bit linux ile çalışıyoruz.
Ram linuxta nasıl sorgulanır aşağıdaki snapshot ‘ ta görebilirsiniz.
        grep MemTotal /proc/meminfo

En az 1 GB temporary alanımız olmalıdır. Eğer yeterli alanımız yoksa /tmp dosyasındaki gereksiz dosyaları kaldırmalıyız.
        df –h /tmp
 

10 Haziran 2011

Oracle Dba için Linux- Linux komutları ve kullanımı

Merhabalar
Bu yazımızda linux kullanmaya başlarken bilinmesi gereken en temel komutları ve ne işlev yaptıkalrını örneklerle açıklamaya çalışacağız. Bu noktada sürecimizi bir oracle dba ‘in bilmesi gereken linux bilgilerini anlatarak devam edeceğiz.
Neden Linux komutlarını bilmeliyiz: Linux desktop ekranı her ne kadar olsada yapısı gereği komut ları bildiğinizde istediğiniz işlemleri daha çabuk yapmanızı, ekranlar ve dosyalar içinde boğulmaktansa genel dosya yapısını öğrendiğinizde işlevselliğin zirve yaptığı bir işletim sistemi olduğunu sizde farketeceksiniz. Windows kullanıcıları ilk zamanlar bu komutlarla çalışırken zorlanabilirler.Ancak şu da bilinmelidir ki oracle dba lar linux ta çalışırken remote bağlantı yaparlar ve terminal windowda çalışırlar.Ayrıca processlerin takibi, yönetimsel araçlar vs.. birçok işlemide desktop üzeinden mousla yönetmek aslında komut ları bilmekten daha zordur.
Öncelikle vmvare üzerine bir linux kurduktan sonra putty ile bu makinaya nasıl bağlanılır bunu açıklayalım.Putty indirebileceğiniz link http://www.putty.org/.
Daha sonra vmware içinde bulunan linuxda bazı değişiklikler yapmamız gerekiyor,
Öcelikle aşağıdaki şekil1 de gözüktüğü üzere network ayarlarını bulalım.

3 Haziran 2011

Oracle Database Mimarisi

Merhabalar,
Çağımızda, Yazmanın ve bilgiyi yayınlayarak paylaşmanın güzel olduğuna inanan insanların az olduğunu düşünmekteyim. Ve bende mesleki anlamda naçizane bilgilerimi bir blogda yayınlayarak, bu azınlık gurubun içinde olmayı bir mutluluk saydım.
Bu bağlamda yazılarımı elimden geldiğince anlaşılacak şekilde ve Türkçe yazmaya karar verdim. Bununla Birlikte Oracle Database hakkında en temel seviyeden başlayarak zamanla tüm konulara değinmeye çalışacağım. Böylece sizlerinde bu yazılardan oracle database hakkında genel esasları yada bazende hiç bilmediğiniz detayları öğrenmenizi yada bildiklerinizi daha sistematik anlatarak hatırlamanızı amaçlamaktayım.Ancak oracle’ ı anlayabilmek için ingilizce bilmenin şart olduğuda kesindir.
         
         Neyse, Lafı fazla dolandırmadan ilk yazımız olan Oracle Database Architecture ile muhabbetimize devam edelim.
Bir Oracle Database Server Şekil 1 de görüldüğü gibi, Oracle Database, bir veya daha fazla instance den oluşur.Instance ise memory ve background proseslerden oluşur.Bir instance başlatıldığında, Shared Global Area (Genel olarak SGA ) oluşturulur ve background prosesler başlatılır.

Şekil 1.Oracle Database Mimarisi