bildirgec.org

zynex

11 yıl önce üye olmuş, 4 yazı yazmış. 0 yorum yazmış.

Adım Adım Firebird 2.1 Kurulumu (Resimli Anlatım)

zynex | 10 November 2009 18:15

Öncelikle FirebirdSql.org sitesinden kurulum dosyasını indirmemiz lazım. Kurulum dosyası 6-7 MB civarındadır.

http://www.firebirdsql.org/index.php?op=files&id=engine adresine girin ve indirmek istediğiniz sürümün üzerine tıklayın. 1.0.x ve 1.5.x sürümleri, bu sürümleri kullanan kullanıcıları desteklemek için devam etmektedir. 2.1.x kullanmanız şiddetle tavsiye edilir.

Firebird-…-Win32.exe isimli Windows kurulum dosyasına tıklayıp, kurulum dosyası indirilir. 2.1 RC1 için dosyanın tam adı : “Firebird-2.1.0.17735_0_Win32.exe” dir. Burda 32 bit ve 64 bit windows sürümleri için dosya farklıdır. Sisteminize uygun olan dosyayı seçiniz.

Firebird Veritabanı Bozulma Nedenleri/Öneriler

zynex | 10 November 2009 08:59

Merhaba,

Bilgisayarda saklanan her bilgi gibi Firebird veritabanınızda bozulabilir, yanlışlıkla silinebilir. Windows veya diğer işletim sistemleri, aman bu veritabanı buna özel muamele yapayım demez. Bu makalemizde yapılan yanlışları tespit ederek, veritabanını bozulmaktan nasıl kurtarabilirsiniz, onu anlatmaya çalışacağım.

Veritabanı Neden Bozulur?

  • En büyük nedenlerden biri veritabanı yüklü makinanın, genelde elektrik kesintisi nedeniyle kontrolsüz kapanmasıdır. Pek çok işletim sisteminde bu tarz durumlarda kullanımda olan dosyalar bozulabilmektedir. Çözüm olarak 50-100 $ arası ufak bir kesintisiz güç kaynağı almak şarttır.
  • Bilgisayar parçalarında meydana gelen kusur veya bozukluklar. Harddiskin bozulması, Raid kartlarının bozulması vs. Bu tarz durumlarda bilgi kurtarma biraz sıkıntılı olabilir. Beki de bozulan harddiskteki veritabanına hiç ulaşamayabilirsiniz. Çözüm düzenli olarak yedek almak ve kurtarılması mümkün olmayan durumlarda bu yedekten geri dönüş yapmaktır.
  • Firebird Server (servis) çalışırken veritabanı dosyasını kopyalamak veya başka yöntemlerle erişmek. Programlarınızın kapalı olması, veritabanı dosyası üzerinde işlem yapılmadığı manasına gelmez. Firebird server sweep gibi işlemleri yapıyor olabilir. Çözüm : Veritabanı dosyalarını (*.fdb, *.gdb) servis çalışırken kopyalamayın ve kullanıcıları bu konuda uyarın. Kopyalamanız gerekiyorsa, denetim masasından firebird servisini kapatıp kopyalayın. Yedeklerinizi dosya kopyalama yöntemiyle değil, backup ile alın.
  • Kararsız sürümleri kullanmak. Interbase 5.1 ile 5.5 arasındaki sürümler ciddi sıkıntısı olan sürümlerdir. Çözüm : Bunları client veya server olarak kullanmayın. Mümkün derece server ve client sürümlerini aynı tutun.
  • Veritabanın bulunduğu diskte boş yer kalmaması. Bu da sıkıntı çıkarabilmektedir.
  • Forced Writes parametresinin kapalı olması. Bu parametre on (açık) veya off (kapalı) olabilmektedir. Bu parametre diske yazımları kontrol eder. Açık ise, bilgi commit edildiği anda diske yazılır, off ise hemen yazılmaz. Bilgi kaybını önlemek için, bu parametrenin mutlaka on(açık) olması gerekmektedir.
  • Veritabanı dosyası boyutunun (veritabanının değil!) aşılması. İşletim sistemine de bağlı olarak Firebird için bu 32 TB’dır. Ancak Interbase 6 beta sürümleri ve öncesi için bu limit 4 GB’dır. Bu limit aşılınca yeni veritabanı dosyası eklenmelidir.
  • Veritabanı dizaynında yapılan hatalar. Bu genelde “not null” ile ilgili olmaktadır. not null bir alan eklediğiniz zaman, sorunsuzca eklenir. Ancak backup alıp, restore yapmak istediğiniz zaman tabloya daha önce eklenmiş kayıtlarda bu alanın değeri null olduğu için restore işlemini gerçekleştiremezsiniz. Interbase 7.1 ve üstü sürümlerde bunun için önlem alınmış. Ancak Firebird’deki durum nedir bilemiyorum. Çözüm : Dizaynınızı standartlara uygun şekilde yapmalı ve mutlaka yedeklerden geri dönüş testini yapmanız lazım.
  • Kullanımda olan veritabanı üzerinde metadata değişiklikleri yapmak, özellikle table ekleyip/silmek. Bu da veritabanına zarar verebilmektedir. Çözüm olarak tüm kullanıcıların bağlantılarını kestikten sonra, hatta servisi durdurup dosyanın ismini değiştirerek hiçbir kullanıcının bağlanmayacağı şekle getirip metadata değişikliklerini yapmalısınız.
  • Kaza ile veritabanı dosyasını silme. Maalesef bu aşamada yapacak çokta birşey yok, undelete programlarını deneyebilirsiniz. Düzenli bir şekilde yedek almak lazım. Yedek işlemini de otomatik bir düzeneğe bağlamak iyi olacaktır. Çünki insan insiyatifine bırakılınca birkaç hafta sonra aksamaya başlayacak ve bir süre sonra da tamamen bırakılacaktır. FIBS gibi bir yedek yöneticisi program kullanmak uygun olacaktır.
  • Eski sürüm kullanmak. Nadirde olsa bazı durumlarda bug’lardan kaynaklanan bozulmalar olabilmektedir. Bunlar tespit edildiği anda düzeltilmektedir. Yeni sürüm çıktığı zaman, testlerinizi yapıp yeni sürüme geçmeniz iyi olacaktır. Örneğin 2.0.3 kullanırken 2.0.4 çıktı ise, testlerini yapıp 2.0.4’e geçmelisiniz.
  • Veritabanı uzantılarınızı .fdb yapın. Çünki interbase’in kullandığı .gdb uzantısı, windows’un system geri yükleme (system restore) dosyalarıyla çakışmaktadır. Bu da bazen sıkıntı çıkarabilmektedir. İlla ki .gdb uzantısı kullanmak istiyorsanız, sistem geri yüklemesini kapatın.
  • Bazı antivirüsler dosya tarama işini abartabilmektedir. Normal şartlarda bir sıkıntı hiç duymadım ama veritabanı dosyalarını (*.fdb) tarama dışında bırakmak iyi olacaktır.

Kolay gelsin.

Firebird Limitleri.

zynex | 05 November 2009 09:57

FIREBIRD 2.0

Veritabanı Limitleri

Maksimum Veritabanı Boyutu : Birden çok dosya kullanarak sınırsız. Şu ana kadar bilinen en büyük veritabanı boyutu 980 GB’ın üzerinde.

Maksimum Veritabanı Dosyası Büyüklüğü : TB’larca büyüklüğe ulaşabilir ancak pratik olarak işletim sisteminin dosya sınırı ile sınırlıdır. Bazı işletim sistemlerinde maksimum dosya büyklüğü 4 GB veya 2 GB’tır.

Maksimum Veritabanı Dosyası Sayısı : 64.535

Maksimum Tablo (table) Sayısı : 64.535

Bir Tablo’nun Ulaşabileceği Maksimum Boyut : Yaklaşık 32 TB.

TRIGGER, STORED PROCEDURE ve REFERENTIAL INTEGRITY

zynex | 02 November 2009 16:16

Bu yazıda verilecek örnek kodlar Sybase Adaptive Server Anywhere ve Interbase6 üzerinde çalıştığı test edilmiş kodlardır. Kodlar içinde kullanılan SQL cümleleri standart SQL cümleleri olması sebebi ile diğer veritabanlarında da kolayca çalışacaktır. Sadece trigger ve stored procedure tanımlamalarındaki kod yapısı farklılıklar göstermektedir. Çalışacağınız veritabanında nasıl trigger ve stored procedure tanımlanabileceğini öğrenerek bu denemeleri yapmak mümkün olabilir. İtiraf edeyim ki yazı biraz uzun olduğu için tekrar baştan aşağı okumadım. Yaptığım hataları uyarmanız sonucu düzeltmekten memnuniyet duyarım.