İçerisinde Library Cache ve Data Dictionary Cache’in bulunduğu alandır. Veritabanı operasyonlarının büyük çoğunluğunda kullanılır. Çünkü transactionlar’a ait query’ler, execution planları ve PL/SQL kodlarının parse edilmiş halleri bu alanda tutulmaktadır.
Shared Pool’un büyüklüğü, Instance ile ilgili diğer parametrelerin de bulunduğu pfile okunarak öğrenilebilir. Veya aşağıdaki satır çalıştırılarak da öğrenilebilir.
Library CacheÖrneğin bir SQL cümleciği geldiği zaman, bu SQL’in execution plan’ı için ilk olarak buraya bakılır. Eğer bu SQL için daha önce bir plan oluşturulduysa bu alandaki execution plan kullanılır. Bu işleme ‘soft parse’ denir.
Eğer Library Cache’de, bu SQL için execution plan bulunmuyorsa, Oracle; bu SQL’i parse eder ve yeni bir execution plan oluşturur. Bu işleme ise ‘hard parse’ denir.
Data Dictionary CacheBu alanda bir tabloya erişim yetksinin kimlerde olduğu, tablespace bilgileri ve bir tablonun kolonları gibi bilgiler yer alır. Yani veritabanın metadatasını bulundurur.
Database Buffer CacheTransaction’a ait dataların tutulduğu alandır. Örneğin bir insert komutu geldiğinde; eklenecek veri ilk olarak buraya yazılır. Burada bir süre ‘dirty data’; yani kirli veri adıyla tutulur. Veya örneğin; bir sorgu çalıştırıldığında, istenen data burada mı diye bakılır ve eğer buradaysa, fiziksel diskten okuma yapmadan, sonuç direkt olarak buradan getirilir. Bu da performansı artırır. Database Buffer Cache’de tutulan veriler bir süre sonra datafile’lara yazılır, yerine yeni transaction’lara ait veriler gelir. Bu alan manuel olarak da boşaltılabilir.
Redo Log Buffer CacheBir transaction geldiği zaman; ilk olarak bu transaction’ın kaydı bu alana yazılır ve bu kayıtlar belli aralıklarla ‘LGWR’ process’i aracılığıyla Online Redo Log dosyalarına aktarılır.
Online Redo Log FilesHer bir transaction’ın kaydı ilk olarak Redo Log Buffer Cache’de tutulur. Bu transaction’lar belli aralıklarla Online Redo Log Files olarak kaydedilir ve eğer veritabanı archivemod’da ise bu log file’lar da yine belirli aralıklarla veya manuel olarak switch olarak ‘archivelog’ dosyalarına yazılarak arşivlenir.
Bu dosyalar çok önemlidir. Çünkü veritabanına herhangi bir zarar geldiğinde bu arşiv dosyaları işlenmeden database tutarlı bir şekilde açılmaz ve son ana kadarki veriler kurtarılamaz.
Online Redo Log’ların tutulduğu mantıksal Redo grupları vardır. Bu gruplarda genelde birbirinin aynısı 2 dosya bulunur ( tutarlılık ve yedeklilik için). Bu member değeri 2’den fazla olarak da ayarlanabilir. Redo Log Buffer Cache’daki bilgiler yazılırken, bütün member’lara yazılır. Bu gruplardan herhangi biri dolduğunda ise redo loglar artık diğer group’a yazılmaya başlar.
Switch olan redo loglar Archivelog’lara yazarak arşivlenir. Bu dosyalar recover işleminde son ana kadar dönebilmek için gerekli dosyalardır.
Archive Log
SMON (System Monitor)
Oracle veritabanı istenmedik bir şekilde kapandığında, bu process açılış sırasında online redo log dosyalarını kullanarak, veritabanının tutarlı bir şekilde açılmasını sağlar.
PMON (Process Monitor)Bu process başarısız olan ya da aniden sonlandırılan process’lerin kullandığı sistem kaynaklarını serbest bırakıp sunucuya teslim eder. Ayrıca Oracle instance’ın listener ile iletişim kurmasını sağlar.
RECO (Recoverer)Bu process veritabanında çeşitli sebeplerle yarım kalan işlemlerin tamamlanmasını sağlar.
DBWR (Database Writer)Bir transaction başladığı zaman, ilgili bloklar Database Buffer Cache’te bulunmuyorsa, bu blokları datafile’dan Database Buffer Cache’e taşır. Tam tersi şekilde Datafile’lara yazılması gereken commit’lenmiş dataları, Database Buffer Cache alıp Datafile’lara yazar.
o Database buffer cache de alan dolduğu zaman en eski bloklardan başlanarak datafile lara yazma işlemi başlar. o Checkpoint process i tetiklendiği takdirde. o Bir tablespace read-only moduna getirildiği zaman. o Bir tablespace offline duruma getirildiği zaman. o Herhangi bir tablo drop yada truncate edildiği zaman. LGWR (Log Writer)Bu process’in görevi Redo Log Buffer Cache’deki verileri Online Redo Log Files’lara yazmaktır.
Şu durumlarda çalışır ; o Kullanıcı bir transaction sonucunda Commit gerçekleştirdiğinde o Online Redo log grupları switch ettiği zaman (Log switch) o Her 3 saniyede 1 o Ortalama 1 mb lık Redo log oluştuğu zaman o Redo log buffer alanının 3’te 1’i dolduğu zaman CKPT (Checkpoint)Bu process tetiklendiği zaman Databasse Buffer Cache’de bulunan ‘dirty block’ları, Datafile’lara yazar. Bu process çok sık tetiklenirse sürekli diske yazma işlemi olacağından performans düşer. Çok nadir tetiklenirse , Database Buffer Cache’de çok fazla data birikecek ve herhangi bir crash anında instance’ı kurtarmak uzun zaman alacaktır. Bu yüzden tetikleme aralığı iyi belirlenmelidir.
ARCn (Archiver)Bu process, veritabanı arşiv mod’da olduğunda aktifleşen bir process’tir.Online Redo Log grupları dolduğu zaman, ‘log switch’ sırasında, bu log’ları arşiv olarak kopyalar. Bu process disaster recovery kurulumunda; Disaster ya da standby sunucusuna Redo log dosyalarının gönderilmesi işlemini de sağlar.