Bir Oracle instance’ını (örnek) bellek ve işleçler oluşturur. İşleç dediğimiz şeylerin windowstaki karşılığı iş parçacığıdır (thread). Üç tip işleç vardır:
1) Sunucu İşleçleri (Server Processes) : Bir kullanıcının isteği üzerine çalışır; atanmış ve paylaşımlı sunucular gibi.
2) Arkaplan İşleçleri (Background Processes) : Veritabanının başlatılması ile çalışırlar ve çeşitli bakım görevleri yaparlar; blokları diske yazmak, online redo kütüğünün bakımı, bitirilen işleçlerin temizlenmesi gibi.
3) Esir İşleçler (Slave Processes) : Arkaplan işleçlerine benzerler ancak bir arkaplan veya sunucu işleci adına fazladan iş yaparlar.
Sunucu İşleçleri (Server Processes)Atanmış ve paylaşımlı sunucular aynı işi yapar; onlara verilen SQL’i işler. Bir sorgu gönderildiğinde bunu ayrıştırır ve paylaşımlı havuza koyarlar (veya orda bulurlar). Sorgu planını bu işleç oluşturur, gerekli veriyi tampon önbellekten okur veya diskten tampon önbelleğe okur. En fazla CPU zamanını bu işleçler kullanır; sort, sum ve birleştirme (join) işlemlerini yaparlar.
Atanmış sunucu modunda kullanıcı oturumu ile sunucu işleci arasında birebir eşleme vardır; 100 oturum varsa 100 işleç olacaktır. Kullanıcı ile sunucu arasında Net8 ağ (network) yazılımı/protokolü kullanılır. Atanmış sunucular için Oracle Net8 Dinleyici İşleci (Listener Process) şart değildir ancak paylaşımlı sunucular için şarttır.
Atanmış Sunucuya Karşı Paylaşımlı Sunucu
SQL tabanlı uygulamalar Oracle veritabanına bağlanmak için en yaygın olarak atanmış sunucu modunu kullanırlar (kurması daha kolaydır, hiç/çok az konfigürasyon gerektirir, MTS ise birkaç basit basamak daha gerektirir). Kullanıcı oturumu ile sunucu arasında, atanmış sunucu modunda birebir eşleme varken MTS’de bireçok eşleme vardır; çok kullanıcıdan tek paylaşımlı sunucuya.
MTS, kısa ve sık işlemli (transaction) OLTP sistemleri için çok uygundur ancak veri depoları (data warehouse) için hiç uygun değildir, bunlarda bir sorgu 1, 3, 5 dakika ya da daha fazla sürebilir. Atanmış sunucu ve MTS, tek bir instance’da (örnek) birlikte kullanılabilir. MTS’in avantajları şunlardır:
1) İşletim sistemi (OS) işleçlerinin ve iş parçacıklarının sayısını azaltır : Çok kullanıcılı sistemlerde kullanıcıların sadece küçük bir kısmı aynı anda aktiftir (örneğin %1).
2) Eşzamanlılığın (concurrency) derecesinin suni olarak ayarlanmasına izin verir : Belli bir sınıra kadar eşzamanlı kullanıcı sayısı arttıkça işlem (transaction) sayısı da artar, sonra artış durur ve eşzamanlı kullanıcı arttığı halde işlem sayısı düşmeye başlar. En yüksek işlem hacmi (throughput) için, en yüksek eşzamanlılık bu nokta ile sınırlanmalıdır.
3) Sistemde ihtiyaç duyulan belleği azaltır: MTS kullanıldığında UGA, SGA’in içinde tutulur. MTS kullanılırken ne kadar UGA belleğe ihtiyaç duyulacağı iyice belirlenmelidir. Her bir atanmış/paylaşımlı sunucu PGA kullanır, MTS kullanıldığında ihtiyaç duyulan PGA azalır böylece daha az bellek kullanılır.