Bu rehber neyi çözer?
Oracle Database tasarımında teknik performans kadar platform sertifikasyonu, lisanslama, support, HA ve güvenlik mimarisi önemlidir. Donanım/OS seçimi Oracle support matrix ile doğrulanmalıdır.
İşletim sistemi ve sertifikasyon
Oracle Linux doğal seçeneklerden biridir; RHEL ve diğer platform destekleri kullanılan Oracle Database sürümünün kurulum ve sertifikasyon dokümanından doğrulanmalıdır.
Üretimde destek dışı kernel veya OS kombinasyonu seçmek troubleshooting ve vendor support riskini artırır.
CPU ve RAM
SGA/PGA bellek yapıları nedeniyle RAM kapasitesi ve memory bandwidth kritik olabilir. Büyük OLTP/warehouse sistemlerinde NUMA, core lisanslama etkisi ve CPU topology birlikte değerlendirilmelidir.
CPU eklemek teknik performansı artırırken lisans maliyetini de etkileyebileceğinden kapasite planı maliyetle birlikte yapılmalıdır.
Storage
ASM, SAN, NVMe veya vendor-certified storage seçeneklerinde latency, throughput, redundancy ve write durability ölçülmelidir.
Redo log latency transaction performansında kritik olabilir; data, redo, FRA ve backup I/O profilleri ayrı analiz edilmelidir.
Güvenlik
Transparent Data Encryption ve tablespace/column encryption, Oracle Net native encryption/TLS, auditing, Database Vault/VPD gibi katmanlar risk ve lisans kapsamına göre değerlendirilir.
Encryption key/keystore güvenliği, encrypted backup ve yetki ayrımı tasarımın temel parçasıdır.
HA / DR
Data Guard, RAC ve farklı HA modelleri iş sürekliliği hedeflerine göre seçilir; her HA tasarımı aynı problemi çözmez.
RMAN backup, restore testleri ve ayrı failure domain DR kopyaları korunmalıdır.
Sık Sorulan Sorular
Oracle için Oracle Linux şart mı?
Her durumda değil; ancak kullanılan sürümün desteklediği OS/kernel matrisi Oracle dokümantasyonundan doğrulanmalıdır.
Oracle için çok CPU her zaman daha mı iyi?
Hayır. Workload, NUMA, memory bandwidth ve lisanslama etkisi nedeniyle doğru sizing gerekir.
TDE kullanınca backup otomatik güvenli olur mu?
Encrypted database backup süreçleri ve keystore koruması ayrıca tasarlanmalıdır; anahtar kaybı recovery riskidir.
Veritabanı Altyapınızı Birlikte Değerlendirelim
Workload, güvenlik, donanım, HA ve yedekleme gereksinimlerinize göre altyapıyı birlikte planlayabiliriz.
Mimari ve çalışma modeli
Oracle altyapısında SGA ve PGA, process eşzamanlılığı, redo ve datafile I/O birlikte tasarlanır. CDB/PDB, RAC ve diğer seçeneklerin işletim ve lisans koşulları sürüm/edition bazında doğrulanmalıdır. ASM, dosya sistemi ve storage redundancy farklı katmanlardır. Backup için RMAN ve gerekli archived redo kapsamı ayrı kayıt altına alınır.
- 1Oturum ve SGA/PGA
- 2Sorgu/transaction
- 3Redo ve datafile
- 4RMAN/restore doğrulaması
Tasarım parametreleri
- SGA ve PGA
- Paylaşılan alan ve process belleğini eşzamanlı sessionlarla birlikte bütçeleyin.
- Redo ve archive
- Redo yazma, archive kapasitesi ve backup kurtarma zincirini birlikte izleyin.
- İş yükü ve sorgu dağılımı
- Okuma/yazma oranı, bağlantı sayısı, transaction süresi ve yoğun sorguları ölçün. Veritabanı boyutu tek başına donanım gereksinimini açıklamaz.
- Bellek ve depolama
- Çalışma kümesi, günlük yazması, geçici alan ve checkpoint davranışını ayrı inceleyin. Güvenilir yazma garantisi performans kadar önemlidir.
- Kurtarma zinciri
- Başlangıç yedeği, gerekli günlükler, yapılandırma ve anahtarların birlikte geri getirilebildiğini sınayın.
- Erişim ve değişiklik
- Uygulama rolü, yönetici rolü ve schema değişiklik yetkisini ayırın. Üretimde indeks veya parametre değişimini kontrollü yapın.
Hesap ve uygulama örneği
Örnek yoğun batch sırasında PGA tüketimi ve geçici alan ile redo üretimini ölçün. Daha fazla paralellik toplam süreyi azaltırken diğer kullanıcı gecikmesini büyütebilir. Restore testinde datafile yanında controlfile, parametre, anahtar ve gerekli archive kapsamını kontrol edin.
Hata teşhisi
| Belirti | Olası neden / ayrım | Doğrulama |
|---|---|---|
| Commitler yavaş, disk alanı var | Redo flush gecikmesi veya log switch baskısı olabilir. | Bekleme kayıtlarını redo I/O ve archive durumuyla eşleştirin. |
| CPU düşük, sorgu yavaş | Kilit, I/O veya istemci beklemesi baskın olabilir. | Yürütme planını ve bekleme türünü aynı sorgu için inceleyin. |
| Replica bağlı ama verisi eski | Gönderme, uygulama veya transaction beklemesi gerilik yaratabilir. | Son uygulanmış işlem ve kaynağın commit zamanını karşılaştırın. |
| Disk sürekli büyüyor | Günlük tutma, açık transaction, replication slot veya bakım ihtiyacı etkili olabilir. | Ürünün desteklediği istatistikleri inceleyin; günlükleri elle silmeyin. |
Kabul ve doğrulama kontrolleri
- Edition ve seçenek koşullarını performans kararından ayrı resmî kapsam kontrolüne alın.
- Temsilî transactionları ve sorguları gerçek veri dağılımıyla test edin.
- Ayrı hedefe restore yapıp uygulama kayıtlarını doğrulayın.
- Yetkisiz okuma ve schema değişikliği denemelerini test kimliğiyle reddedin.
- Failover sonrasında tek yetkili yazıcı ve doğru bağlantı hedefini doğrulayın.
- Bakım sırasında kilit, günlük hacmi ve gecikme değişimini ölçün.
İlgili kavramlar
Transaction sınırı
Transaction, uygulamanın belirli işlemleri birlikte başarılı veya başarısız kabul ettiği mantıksal birimdir. Veritabanı içindeki atomiklik, e-posta gönderimi veya farklı servislerdeki değişikliklerin otomatik olarak aynı atomik kapsamda olduğu anlamına gelmez. Commit noktası ve hata sonrasında tekrar denemenin davranışı açık olmalıdır. Aynı isteğin iki kez işlenmesini önlemek için idempotency gereksinimini değerlendirin. Testte ağ kesintisi ve bağlantı kopmasını commit öncesi ve sonrasında ayrı uygulayın; istemcinin hata alması işlemin kesinlikle başarısız olduğu anlamına gelmeyebilir.
İşlem günlüğü ve recovery zinciri
WAL, redo veya transaction log gibi mekanizmalar, veri değişikliklerinin kalıcılaştırılması ve kurtarılması için sıralı kayıt tutar; ürünler arasında ayrıntılar farklıdır. Veri dosyası kopyası ile işlem günlüklerinin zamanı ve zinciri uyumlu olmalıdır. Günlüklerin bulunması tek başına belirli bir zamana dönülebileceğini kanıtlamaz: başlangıç yedeği ve kesintisiz gerekli günlük aralığı da gerekir. Arşivleme gecikmesini, günlük hacmini ve geri oynatma süresini ölçün. Günlükleri kapasite kazanmak için rastgele silmeyin; saklama ve temizleme ürünün desteklediği yöntemle yapılmalıdır.
İndeks ve sorgu planı
İndeks, uygun sorgularda taranacak veriyi azaltabilir; her yeni indeks yazma, bakım ve depolama maliyeti getirir. Sütun sırası, seçicilik, filtre ve sıralama gereksinimi birlikte değerlendirilir. Sorgu yavaşlığını yalnız indeks yokluğuna bağlamayın: yanlış tahmin, kilit beklemesi, disk gecikmesi veya gereksiz veri taşıma da neden olabilir. Temsilî sorgunun yürütme planını ve gerçek satır sayılarını inceleyin. Değişikliğin okuma kazancını, yoğun yazma sırasında oluşturduğu maliyetle birlikte ölçün; üretimde kontrolsüz bakım işlemleri başlatmayın.
Kilit, bekleme ve deadlock
Eşzamanlı işlemler veri bütünlüğü için kilit veya sürümleme mekanizmaları kullanır. Uzun açık transaction, diğer işleri bekletebilir; deadlock ise birbirini bekleyen işlemler arasındaki döngüdür. Ürün bazı işlemlerden birini sonlandırabilir ve uygulamanın güvenli tekrar deneme yapması gerekebilir. Bekleyen sorgu ile onu bloke eden sorguyu birlikte inceleyin. İzolasyon seviyesini rastgele düşürmek veri tutarlılığını değiştirebilir. Transaction süresini kısaltma, tutarlı erişim sırası ve uygun indeks gibi seçenekleri aynı iş yükünde doğrulayın.
Kalıcılaştırma ve güç kaybı
Commit edilmiş verinin güç kaybından sonra korunması veritabanı, işletim sistemi, dosya sistemi, kontrolcü ve diskin yazma garantilerinin birleşimine bağlıdır. Yazma önbelleği ve flush davranışını bilmeden performans için güvenlik ayarlarını kapatmayın. Güç kaybı korumalı depolama faydalıdır fakat bütün zincirin doğru yapılandırıldığını tek başına kanıtlamaz. Üretim yerine kontrollü laboratuvarda arıza ve recovery testi yapın. Veri bütünlüğünü örnek dosya açılmasıyla değil, uygulama kayıtları ve desteklenen tutarlılık kontrolleriyle doğrulayın.
Replikasyonun kapsamı
Replikasyon veri veya durum değişikliklerini başka bir kopyaya aktarır. Senkron aktarım gecikme ve bağlantı bağımlılığı yaratabilir; asenkron aktarım ise geride kalabilir. Kopyanın güncel olması, yanlış değişikliklerden korunması anlamına gelmez: silme veya bozulma da taşınabilir. Gecikmeyi yalnız bağlantı durumu üzerinden değil, uygulamanın tamamlanan son işlemiyle karşılaştırın. Kaynak düğüm kaybedildiğinde yazma yetkisinin hangi kopyaya geçeceğini ve eski düğüm geri gelince nasıl uzlaştırılacağını tanımlayın. Replikasyon gecikmesi ile gerçek kurtarma noktasını ayrı raporlayın.