Oracle Database, dünyanın en yaygın kullanılan kurumsal ilişkisel veritabanlarından biridir; bankacılıktan telekomünikasyona, kamu sistemlerinden büyük e-ticaret altyapılarına kadar kritik iş yüklerinin arkasında sıkça karşınıza çıkar. Bu yazıda Oracle Database nedir, nasıl çalışır, hangi mimariye ve özelliklere sahiptir ve ne zaman tercih edilir sorularını dengeli biçimde ele alıyoruz.
İlgili içerikler: Veritabanı türleri rehberi · PostgreSQL Nedir? · MySQL Nedir? · Microsoft SQL Server Nedir?
Oracle Database Nedir?
Oracle Database, Oracle Corporation tarafından geliştirilen ticari bir ilişkisel veritabanı yönetim sistemidir (RDBMS). Verileri satır ve sütunlardan oluşan tablolarda tutar, tablolar arası ilişkileri anahtarlarla tanımlar ve verilere SQL ile erişilmesini sağlar. Klasik ilişkisel modelin yanında, aynı motor içinde JSON, mekânsal (spatial), grafik ve metin gibi çok modelli veri türlerini de işleyebilir.
Oracle, işlemlerin güvenilir biçimde tamamlanmasını sağlayan ACID ilkelerine uyar ve çok kullanıcılı ortamlarda okuma tutarlılığını çoklu sürüm (multiversion read consistency) yaklaşımıyla korur. Bu sayede bir kullanıcı veriyi güncellerken, diğer kullanıcılar tutarlı bir anlık görüntü okumaya devam edebilir.
Kısa Tarihçe
Oracle'ın kökeni 1970'lerin sonuna, Larry Ellison, Bob Miner ve Ed Oates'in kurduğu şirkete uzanır. Oracle, ticari olarak satılan ilk SQL tabanlı ilişkisel veritabanı ürünlerinden biri olarak tarihe geçti. O günden bu yana ürün; kümeleme, bulut, otomasyon ve son dönemde yapay zekâ destekli arama gibi alanlarda kapsamlı biçimde genişledi.
Bu uzun geçmiş, Oracle'ın etrafında geniş bir ekosistemin oluşmasını sağladı: deneyimli veritabanı yöneticileri (DBA), olgun yönetim araçları, kapsamlı belgeler ve büyük bir topluluk. Kurumsal karar alırken bu ekosistem çoğu zaman ürünün kendisi kadar önemlidir, çünkü uzun ömürlü sistemlerde bilgi birikimi ve destek erişimi kritik hâle gelir.
Temel Mimari: Instance ve Veritabanı
Oracle mimarisinde iki kavramı ayırmak önemlidir: instance (örnek) ve database (veritabanı). Veritabanı, verinin diskte saklandığı dosyalar bütünüdür. Instance ise bu dosyalara erişimi yöneten bellek yapıları ve arka plan süreçlerinin toplamıdır. Basitçe, disk üzerindeki veriye ancak çalışan bir instance aracılığıyla ulaşılır.
- SGA (System Global Area) — tüm oturumların paylaştığı ana bellek alanı; veri bloğu önbelleği, paylaşılan havuz ve redo tamponunu barındırır.
- PGA (Program Global Area) — her sunucu sürecine özel, oturuma ait geçici bellek alanı.
- Arka plan süreçleri — DBWn (veri yazıcı), LGWR (redo yazıcı), SMON, PMON, CKPT gibi süreçler veriyi tutarlı ve dayanıklı tutar.
- Depolama dosyaları — veri dosyaları, kontrol dosyaları ve redo log dosyaları.
Veriler mantıksal olarak tablespace adı verilen alanlarda gruplanır; fiziksel olarak ise bu tablespace'ler bir veya birden çok veri dosyasına karşılık gelir. Bu ayrım, depolamayı esnek biçimde yönetmeyi kolaylaştırır.
Multitenant Mimari: CDB ve PDB
Modern Oracle sürümleri multitenant (çok kiracılı) mimariyi destekler. Burada bir Container Database (CDB) içinde birden çok Pluggable Database (PDB) barınır. Her PDB kendi şemalarına ve verisine sahip bağımsız bir veritabanı gibi davranır; ama arka plan süreçleri ve bellek gibi ortak kaynakları CDB üzerinden paylaşır.
- PDB'ler bir konteynerden çıkarılıp (unplug) başka bir konteynere takılabilir (plug), bu da taşınabilirliği artırır.
- Yükseltme ve yama işlemleri konteyner düzeyinde yapılabildiği için yönetim yükü azalır.
- Birden çok uygulamayı tek bir altyapıda izole biçimde barındırmak kolaylaşır (konsolidasyon).
SQL ve PL/SQL
Oracle'da sorgular standart SQL ile yazılır. Bunun yanında Oracle'ın kendi prosedürel dili PL/SQL, SQL'e döngü, koşul, istisna yönetimi ve modülerlik ekler. Saklı yordamlar (stored procedure), fonksiyonlar, paketler ve tetikleyiciler (trigger) PL/SQL ile yazılır. Ayrıca veritabanı içinde Java çalıştırma imkânı da vardır.
-- Basit bir tablo ve sorgu
CREATE TABLE calisanlar (
id NUMBER GENERATED ALWAYS AS IDENTITY,
ad VARCHAR2(100) NOT NULL,
departman VARCHAR2(50),
maas NUMBER(10,2),
CONSTRAINT pk_calisanlar PRIMARY KEY (id)
);
SELECT departman, AVG(maas) AS ortalama_maas
FROM calisanlar
GROUP BY departman
ORDER BY ortalama_maas DESC;-- PL/SQL: basit bir saklı yordam
CREATE OR REPLACE PROCEDURE zam_uygula(
p_departman IN VARCHAR2,
p_oran IN NUMBER
) AS
BEGIN
UPDATE calisanlar
SET maas = maas * (1 + p_oran / 100)
WHERE departman = p_departman;
COMMIT;
END;
/Sürümler ve Edisyonlar
Oracle Database farklı edisyonlarda sunulur; edisyonlar arasındaki fark, dahil edilen özellikler ve kullanım ölçeğidir. Aşağıdaki tablo edisyonların genel amacını özetler. Kesin özellik listesi ve kısıtlar sürümden sürüme değişebildiği için, güncel resmî belgelerden doğrulanmalıdır.
| Edisyon | Genel Amaç |
|---|---|
| Express Edition (XE) | Ücretsiz; öğrenme, geliştirme ve küçük ölçekli kullanım için kaynak sınırlıdır |
| Standard Edition 2 (SE2) | Orta ölçekli iş yükleri için; bazı kurumsal özellikler dahil değildir |
| Enterprise Edition (EE) | Büyük ölçekli, yüksek erişilebilirlik gerektiren kritik iş yükleri; çoğu ileri özellik burada |
| Personal Edition | Tek kullanıcılı geliştirme senaryoları için |
Sürüm adlandırmasında bir dönem sonuna c (cloud) eki kullanıldı; daha yeni bir uzun destekli sürümde ise yapay zekâ ve vektör arama yeteneklerini vurgulayan ai eki tercih edildi. Belirli bir sürüm numarasına bağlı karar vermeden önce, o sürümün destek durumunu Oracle'ın yaşam döngüsü belgelerinden kontrol etmeniz sağlıklı olur.
Öne Çıkan Özellikler
Oracle'ı kurumsal ortamlarda öne çıkaran şey, tek bir platform içinde toplanan geniş özellik yelpazesidir. Bunların birçoğu Enterprise Edition ve ek seçeneklerle (option) gelir.
| Özellik | Ne İşe Yarar |
|---|---|
| Real Application Clusters (RAC) | Birden çok sunucunun aynı veritabanına eş zamanlı hizmet vermesi; erişilebilirlik ve ölçeklenebilirlik |
| Data Guard | Bekleyen (standby) kopyalar ile felaket kurtarma ve iş sürekliliği |
| Partitioning | Büyük tabloları bölümlere ayırarak yönetim ve sorgu performansını iyileştirme |
| Automatic Storage Management (ASM) | Veritabanı için entegre birim/depolama yönetimi |
| RMAN (Recovery Manager) | Yedekleme ve geri yükleme işlemlerini yöneten araç |
| Flashback | Verinin geçmiş bir andaki hâline dönme veya sorgulama yeteneği |
| AI Vector Search | Yeni sürümlerde benzerlik araması için vektör (embedding) desteği |
Yüksek Erişilebilirlik ve Yedekleme
Kritik sistemlerde kesinti maliyetlidir. Oracle bu alanda birden çok katman sunar: RAC ile düğüm arızalarına karşı dayanıklılık, Data Guard ile ayrı bir konumdaki yedek veritabanı, RMAN ile tutarlı yedekleme ve nokta-anına-kurtarma. Flashback özellikleri ise insan hatası veya yanlış işlem sonrası geri dönüşü kolaylaştırır.
Oracle Autonomous Database ve Bulut
Oracle, bulut tarafında yönetilen bir hizmet olarak Autonomous Database sunar. Bu hizmet, yama, ölçekleme, ayarlama ve yedekleme gibi rutin yönetim görevlerinin büyük ölçüde otomatikleştirilmesini hedefler. Böylece ekipler altyapı bakımından çok, veriyi kullanan uygulamalara odaklanabilir. Oracle Database ayrıca kendi veri merkezinizde (on-premise), diğer bulutlarda veya melez (hibrit) kurulumlarda da çalıştırılabilir.
Güvenlik ve Veri Koruma
Kurumsal veritabanlarında güvenlik, tek bir özellik değil bir katmanlar bütünüdür. Oracle bu alanda kimlik doğrulama, yetkilendirme ve denetim (audit) mekanizmalarının yanında veri şifreleme seçenekleri de sunar. Amaç, verinin hem beklerken (at rest) hem de aktarılırken (in transit) korunmasıdır.
- Şeffaf Veri Şifreleme (TDE) — veri dosyalarının disk üzerinde şifreli tutulması.
- Rol ve ayrıcalık yönetimi — kullanıcılara yalnızca ihtiyaç duydukları yetkilerin verilmesi (en az ayrıcalık ilkesi).
- Denetim (auditing) — kimin hangi veriye eriştiğinin kayıt altına alınması.
- Ağ şifrelemesi — istemci ile sunucu arasındaki trafiğin korunması.
Lisanslama ve Maliyet
Oracle Database ticari, kapalı kaynaklı bir üründür. Ücretsiz Express Edition dışındaki edisyonlar lisans gerektirir ve lisans modeli genellikle işlemci (processor) veya adlandırılmış kullanıcı (Named User Plus) esasına dayanır. Ek özellikler (option) ve paketler ayrı lisanslanabilir; bu da toplam sahip olma maliyetini artırabilir.
Ne Zaman Oracle Tercih Edilir?
Oracle; çok yüksek işlem hacmi, sıkı erişilebilirlik hedefleri, gelişmiş güvenlik ve olgun kurumsal araç ekosistemi gerektiren senaryolarda güçlü bir seçenektir. Buna karşılık daha küçük projelerde, bütçenin sınırlı olduğu veya açık kaynak esnekliğinin önemli olduğu durumlarda alternatifler daha uygun olabilir.
Karşılaştırma için: açık kaynak ve zengin özellik dengesi arıyorsanız PostgreSQL, web uygulamalarında yaygınlık için MySQL, Microsoft ekosistemi için Microsoft SQL Server ve Oracle'ın kendi bellek-içi (in-memory) çözümü için Oracle TimesTen yazılarına göz atabilirsiniz.
Sık Sorulan Sorular
Oracle Database ücretsiz mi?
Tamamen ücretsiz bir edisyon vardır: Express Edition (XE). Ancak kaynak sınırlıdır ve büyük üretim iş yükleri için tasarlanmamıştır. Standard ve Enterprise edisyonları lisans gerektirir.
Oracle ile MySQL aynı şey mi?
Hayır. İkisi de Oracle Corporation'a ait olsa da ayrı ürünlerdir: Oracle Database ticari kurumsal RDBMS, MySQL ise açık kaynaklı ayrı bir veritabanıdır.
PL/SQL ile SQL arasındaki fark nedir?
SQL, veriye erişim ve manipülasyon için kullanılan bildirimsel sorgu dilidir. PL/SQL ise SQL'e döngü, koşul ve istisna yönetimi gibi prosedürel yetenekler ekleyen, Oracle'a özgü bir programlama dilidir.