ORACLE VERİTABANI
Bir banka çekirdek sistemini, bir havayolu rezervasyon motorunu veya büyük bir telekom faturalandırma altyapısını incelediğinizde altta çoğunlukla aynı isim çıkar: Oracle. 1979'da piyasaya sürülen bu veritabanı, on yıllar boyunca üzerinde para hareket eden sistemlerin "varsayılan tercihi" oldu — ve bu pozisyonu kolay kaybetmiyor. Sebep tek başına performans değil; instance ile veritabanını ayıran mimari, yıllar içinde olgunlaşmış PL/SQL motoru ve Real Application Clusters gibi yüksek erişilebilirlik araçlarının bir paket olarak gelmesi.
Aşağıda Oracle Database'in ne olduğunu, hangi sürümlerle dağıtıldığını, mimarisinin temel parçalarını, PL/SQL'in neden kritik olduğunu ve MySQL gibi alternatiflerden hangi noktalarda ayrıştığını derledik. Resmi kaynak olarak Oracle Database ürün sayfası mevcut sürüm matrisi için referans alınabilir.
Oracle Veritabanı Nedir?
Oracle Database, Oracle Corporation tarafından geliştirilen bir ilişkisel veritabanı yönetim sistemidir (RDBMS). Veriyi tablolar halinde saklar, SQL ile sorgulanmasına izin verir, ACID özelliklerini titizlikle uygular ve birden fazla kullanıcının aynı anda veri okuyup yazmasını çakışma yaratmadan yönetir. Yani diğer ilişkisel veritabanlarıyla aynı temel iş tanımına sahip — fark, bu işi nasıl yaptığında ve etrafına ne kadar araç paketlediğinde.
Tarihsel olarak Oracle, ticari RDBMS pazarının ilk büyük oyuncusuydu. 1979'da v2 olarak çıktı (v1 hiç dış pazara verilmedi), 1980'lerde mainframe alternatifi olarak büyük kurumlara girdi ve günümüzde 23ai sürümüne kadar geldi. Bu uzun süreklilik, ürünün hem güçlü tarafı (olgun, kanıtlanmış, geniş üçüncü taraf entegrasyon havuzu), hem zayıf tarafı (lisans modeli karmaşık, hardware gereksinimi yüksek, öğrenme eğrisi dik).
Sürümleri ve Edisyonları
Tek bir "Oracle Database" yok; ihtiyaca göre kalibre edilmiş edisyonlar var. Pratikte en çok konuşulan üçü:
- Express Edition (XE): Ücretsiz. Eğitim, küçük uygulamalar, prototip için ideal. Sınırlamalar net: tek soket CPU, en fazla 2 GB RAM, 12 GB kullanıcı verisi. Production'da küçük araçlar için yeterli olabilir; büyüklükte değil.
- Standard Edition 2 (SE2): Orta ölçekli kurumlar için. Daha kolay yönetim, otomatik araçlar, geniş donanım uyumu. Bazı ileri özellikler (örneğin Partitioning, Advanced Compression) yok.
- Enterprise Edition (EE): Tam paket. Partitioning, Advanced Security, Real Application Clusters, Active Data Guard, paralel sorgu, materialized view'lar gibi büyük ölçekte fark yaratan tüm özellikler burada. Lisans maliyeti de buna göre.
Buna ek olarak Personal Edition (tek geliştirici lisansı), Oracle Database Free (XE'nin yeni varyantı), ve bulutta yönetilen Autonomous Database da seçenekler arasında. Sürüm seçerken klasik hata, lisans avantajı sağlamak için SE2 alıp sonra Partitioning'a ihtiyaç duyduğunda EE'ye yükseltmek zorunda kalmaktır — gereksinimleri en başta dürüstçe listelemek pahalı sürprizleri engeller.

Mimari Yapısı
Oracle mimarisinin diğer veritabanlarından en belirgin ayrımı şu kavramsal ikilikte gizli: instance ve database ayrı şeylerdir. Database disk üzerindeki pasif dosyalar topluluğu; instance ise bu dosyalara erişen bellekteki süreçler ve memory yapıları. Bir database'i birden fazla instance açabilir (RAC senaryosu); ya da bir instance restart olunca aynı database'e tekrar bağlanabilir.
Bir instance'ın iki temel bellek alanı vardır:
- SGA (System Global Area): Tüm session'ların ortak kullandığı paylaşımlı bellek. İçinde Database Buffer Cache (disk bloklarının cache'i), Shared Pool (parse edilmiş SQL planları ve data dictionary), Redo Log Buffer (değişiklik kayıtları) ve Large Pool gibi yapılar bulunur.
- PGA (Program Global Area): Her oturuma ait özel bellek. Sort alanları, hash join çalışma alanları, session değişkenleri burada tutulur.
Bunlara eşlik eden arka plan süreçleri Oracle mimarisinin can damarıdır: DBWR (dirty buffer'ları diske yazar), LGWR (redo log'u diske yazar), CKPT (checkpoint), SMON (instance recovery), PMON (oturum temizliği), ARCH (archive log) ve diğerleri. Bu süreçlerin her birinin görevi açık tanımlıdır; bir sistemde performans sorunu yaşandığında neyin nereye sıkıştığını anlamak için bu mimariyi okuyabilmek gerekir.
Veri tarafında tablespace mantığı vardır. Tablespace'ler mantıksal saklama birimleri, datafile'lar ise onların fiziksel karşılığı. Bir tabloyu hangi tablespace'e yerleştirdiğin, hangi diske düştüğü, ne kadar büyüyebileceği gibi yönetim kararları bu katmanda alınır. PostgreSQL'de de benzer bir kavram var ama Oracle'da çok daha merkezi rol oynar.
PL/SQL Ne İşe Yarar?
Oracle'ı sadece bir RDBMS olarak görüp PL/SQL'i atlamak, bir aracı yarısını bilmeden kullanmaktır. PL/SQL (Procedural Language for SQL), Oracle'ın geliştirdiği prosedürel SQL uzantısıdır. Saf SQL deklaratiftir — "ne istediğini" söylersin; PL/SQL ise döngü, koşul, değişken, exception handling ve hatta nesne yönelimli yapılar getirir. Yani veritabanının içinde mini bir programlama dili çalıştırırsın.
Tipik PL/SQL kullanımları:
- Stored procedure ve function'lar: İş kuralları veritabanı içinde tutulur; uygulama tarafı tek bir call ile çağırır.
- Trigger'lar: Bir tabloda INSERT/UPDATE/DELETE olduğunda otomatik tetiklenen kod blokları — denetim kaydı, türetilmiş alan hesabı, validasyon için kullanılır.
- Package'lar: İlgili procedure'ler, function'lar ve değişkenleri tek bir mantıksal birimde toplar; modüler tasarımın temeli.
- Anonymous block'lar: İsim verilmemiş, tek seferlik çalıştırılan PL/SQL blokları; veri yükleme veya bakım işleri için pratik.
PL/SQL'in en güçlü tarafı veritabanı motoruyla aynı süreçte çalışması — SQL ile PL/SQL arasında network round-trip yok, type'lar paylaşılıyor, exception handling SQL hatalarıyla bütünleşik. Modern PL/SQL'i derinlemesine öğrenmek istersek Oracle PL/SQL eğitimi sıralı bir müfredat sunar.
RAC, Data Guard ve Yüksek Erişilebilirlik
Oracle'ın enterprise dünyasında bu kadar yer tutmasının önemli bir sebebi yüksek erişilebilirlik özellikleridir. İki temel ürün öne çıkar:
Real Application Clusters (RAC): Aynı veritabanına birden fazla sunucudan eş zamanlı erişim. Bir node düşse bile diğerleri çalışmaya devam eder; planlı bakım canlı sistemi durdurmadan yapılabilir. Cache fusion teknolojisiyle node'lar arası tutarlılık korunur. RAC'in kurulumu ve yönetimi karmaşıktır, ama 7/24 çalışması gereken sistemler için kurumsal bir standart hâline gelmiştir.
Data Guard: Primary veritabanından bir veya birden fazla standby kopyasına otomatik replikasyon. Felaket kurtarma (DR) senaryosunda primary çökerse standby devreye alınır. Active Data Guard ile standby'lar read-only olarak raporlama yüküne hizmet edebilir — okuma trafiği primary'den ayrışır.
Bu iki ürün birlikte kullanıldığında hem yatay ölçek (RAC ile aynı veritabanına birden çok node), hem coğrafi yedek (Data Guard ile farklı veri merkezi) elde edilir. Açık kaynak alternatiflerinde aynı seviye için multi-tool kurulum gerekir; Oracle'da paket içinde gelmesi, kurumsal tercih sebeplerinin başında.
Oracle Cloud ve Autonomous Database
Oracle son on yılda yoğun şekilde buluta yatırım yaptı. Oracle Cloud Infrastructure (OCI) AWS, Azure, GCP ile yarışmaya yönelik kendi bulut altyapısı; içinde de Oracle Database yönetilen servis olarak sunuluyor.
Asıl ilginç ürün Autonomous Database. Otomatik provisioning, otomatik patching, otomatik tuning, otomatik backup ve hatta otomatik indeks öneren makine öğrenmesi tabanlı bir veritabanı servisi. İki ana profili var:
- Autonomous Transaction Processing (ATP): OLTP yükleri için optimize.
- Autonomous Data Warehouse (ADW): Analitik ve raporlama yükleri için optimize.
Pratikte Autonomous Database, DBA işlerinin önemli kısmını ortadan kaldırma iddiasıyla satılıyor. Gerçek senaryolarda hâlâ insan müdahalesi gerekiyor (özellikle veri modelleme ve uygulama tarafı tuning'i için), ama rutin bakım işlerinin önemli ölçüde otomatikleştiği doğru. Free Tier ile küçük denemeler ücretsiz başlatılabiliyor.

MySQL ve PostgreSQL'den Farkı Nedir?
Bu soru genellikle "hangisi daha iyi?" formunda gelir; doğru cevap "hangi senaryoda?" sorusuyla başlar. Birkaç boyutta kıyaslamak gerekir:
- Lisans modeli: Oracle ticari, edisyon-ve-CPU bazlı lisanslanır. MySQL Community Edition GPL altında ücretsiz; Enterprise Edition ücretli. PostgreSQL tamamen açık kaynak, kısıtsız ticari kullanım.
- Prosedürel dil: Oracle'da PL/SQL, ileri özellik seti (package, bulk operations, native compilation). PostgreSQL'de PL/pgSQL benzer ama daha sade. MySQL'in stored procedure desteği görece zayıf.
- Yüksek erişilebilirlik: Oracle RAC ile aktif-aktif cluster sunar; PostgreSQL ve MySQL'de aktif-aktif için üçüncü taraf araçlar veya senkron replikasyon stratejisi gerekir.
- Optimizer ve ölçek: Oracle'ın cost-based optimizer'ı ve paralel sorgu motoru çok büyük veri setlerinde olgun davranır. PostgreSQL son yıllarda hızla yaklaştı; MySQL OLAP yüklerinde geride.
- Donanım gereksinimi: Oracle ağır. Küçük bir uygulama için MySQL veya PostgreSQL'in başlangıç maliyeti çok daha düşük.
- Topluluk: PostgreSQL ve MySQL geniş açık kaynak toplulukları; Oracle daha çok kurumsal danışmanlık ekosistemiyle gelir.
Pratik kural: Yeni bir web uygulaması, küçük-orta SaaS, açık kaynak proje için PostgreSQL veya MySQL çoğu zaman daha mantıklı. Büyük bir banka çekirdek sistemi, milyonlarca işlemin saniye altı garantili çalışması gereken sigortacılık, mevcut Oracle ekosistemine derinden bağlı bir kurum için Oracle hâlâ savunulabilir bir tercih.
Ne Zaman Oracle Tercih Edilir?
Oracle seçimi teknik bir karar olduğu kadar kurumsal bir karardır. Genelde şu durumlarda tercih edilir:
- Mevcut sistemler zaten Oracle üzerinde çalışıyor ve göç maliyeti taşınmaz boyutta. (Bir bankanın 25 yıllık çekirdek sistemini PostgreSQL'e taşımak teknik olarak mümkün, ekonomik olarak nadir mantıklı.)
- Yüksek hacimli OLTP yükü, kesintisiz operasyon zorunluluğu var ve RAC + Data Guard kombinasyonu doğrudan gereksinime cevap veriyor.
- Çok karmaşık PL/SQL tabanlı iş mantığı yıllar içinde veritabanı içine taşınmış; bu mantığı uygulama katmanına çekmek aylar süren refactor anlamına geliyor.
- Düzenleyici gereklilikler (finans, telekom, kamu) Oracle sertifikalı ürünleri zorunlu kılıyor.
- Mevcut Oracle ekosistemine entegre (E-Business Suite, Oracle Apps, JD Edwards, Siebel) ERP/CRM uygulamaları ana iş sürecini yürütüyor.
Tersine: yeni bir mikroservis mimarisi kurarken, küçük ekiple hızlı iterasyon yaparken, açık kaynak felsefesini benimseyen bir startup'ta veya bulut-doğal bir uygulama tasarlarken Oracle çoğunlukla overkill kalır. Oracle Database'in geniş tarihçesini ve mevcut sürüm durumunu görmek için Wikipedia Oracle Database maddesi referans alınabilir; sürüm tarihi ve özellik değişimleri için kompakt bir özet sunar.
Oracle hakkında bilinmesi gereken son şey şu: ne kadar büyük bir araç olduğu. Tek bir kursta öğrenilmez, tek bir projede tam kavranmaz. DBA, geliştirici, performance tuning uzmanı, security uzmanı — her rolün Oracle'a bakış açısı farklı. Sistematik öğrenme isteyenler aşama aşama ilerleyen başlangıç kaynaklarından yararlanabilir; mimari, SQL, PL/SQL ve yönetim konularını sıralı şekilde derleyen müfredatlar tavsiye edilir.
Sık Sorulan Sorular
Oracle Database ücretsiz kullanılabilir mi?
Evet, sınırlı şartlarda. Oracle Database Express Edition (XE) ve yeni adıyla Oracle Database Free, üretim ortamında bile ücretsiz kullanılabilir; ancak tek soket CPU, 2 GB RAM ve 12 GB veri sınırları vardır. Eğitim, prototip ve küçük uygulamalar için yeterli; orta-büyük ölçek için Standard veya Enterprise lisansı gerekir.
Oracle ile MySQL arasındaki temel fark nedir?
İkisi de ilişkisel veritabanı ama farklı sınıflarda. MySQL hafif, açık kaynak, web uygulamaları için yaygın; basit kurulum ve düşük donanım gereksinimiyle gelir. Oracle ağır, ticari, kurumsal sistemler için tasarlanmış; PL/SQL, RAC, Data Guard gibi gelişmiş özellikleri içerir. Küçük projede MySQL, büyük finansal sistemde Oracle daha uygun düşer.
PL/SQL öğrenmek ne kadar sürer?
Temel sözdizimi (blok yapısı, değişkenler, cursor'lar, exception) iki-üç haftada öğrenilir. Package tasarımı, bulk operations, dinamik SQL, performans optimizasyonu gibi ileri konular birkaç ay deneyim ister. Asıl pekişme gerçek projede iş kuralı yazarken olur; teorik kurslar tek başına yetmez.
Oracle DBA ne iş yapar?
Oracle DBA (Database Administrator) veritabanının kurulumu, yapılandırması, yedeklenmesi, performans tuning'i, kullanıcı yönetimi, patch uygulanması ve felaket kurtarma planlarını yönetir. Büyük kurumlarda 7/24 nöbet sistemiyle çalışır; orta ölçekli şirketlerde DBA aynı zamanda PL/SQL geliştirme ve raporlama desteği de verir. Sertifikasyon (OCP, OCM) kariyer ilerlemesinde belirleyici rol oynar.
Oracle Cloud Autonomous Database gerçekten DBA'sız çalışır mı?
Rutin bakım işlerinin önemli kısmını otomatikleştirir: patching, backup, indeks önerisi, basit tuning. Ama veri modelleme, uygulama tarafı sorgu optimizasyonu, güvenlik tasarımı ve karmaşık troubleshooting hâlâ insan müdahalesi gerektirir. "Sıfır DBA" değil, "DBA yükü azaltılmış" olarak düşünmek daha gerçekçi.
Oracle 23ai ne demek?
Oracle Database'in en güncel ana sürümlerinden biri; "ai" eki yapay zeka odaklı yeniliklere referans. Vector search, AI Vector Index, JSON Relational Duality gibi özellikler bu sürümle geldi. Geleneksel RDBMS özelliklerine modern veri tipleri ve makine öğrenmesi entegrasyonları ekleniyor — Oracle'ın bulut sonrası dönemde ürünü konumlandırma stratejisinin parçası.
Oracle lisansı neden bu kadar pahalı?
Lisans modeli CPU çekirdek sayısı ve seçilen ek modüllere (Partitioning, Advanced Compression, RAC, Active Data Guard vb.) göre katmanlı çalışır. Enterprise Edition'a Partitioning eklendiğinde, dört çekirdekli bir sunucunun yıllık lisansı yüzbinler seviyesine çıkabilir. Bu yapı Oracle'ı küçük projelerde mantıksız, büyük kurumsal projelerde "zaten harcadığımız bütçenin alt kalemi" konumuna yerleştirir.
Oracle Database'i tek bir cümleyle tanımlamak gerekirse: ilişkisel veritabanı dünyasının en olgun, en geniş kapsamlı, en pahalı ve en derin öğrenme eğrisine sahip ticari ürünü. Doğru senaryoda eşsiz değer üretir, yanlış senaryoda gereksiz yük olur. Mimarisini, PL/SQL'ini ve ekosistemini tanımak — Oracle kullanmasanız bile — bir veritabanı profesyonelinin genel kültürünün bir parçası halini almıştır.



