Oracle 12c – Multi threaded Model

Linux ve Unix tabanlı işletim sistemleri process based tabanlı çalışan işletim sistemleridir. Process based tabanlı işletim sistemlerinde her bir iş için işletim sistemi tarafında bir process create edilir. Şimdiye kadar da bu yapıyı oracle’ ın tüm sürümlerinde bu şekilde kullandık. Bu yapıyı kullanıyor olmanın bir takım avantajları ve dezavantajları bulıunmaktadır. Örneğin oracle tarafında processlerin sayısı artmaya başladığı zaman, (database de her bir processe karşılık gelen bir OS procesesi olacağından dolayı) prosess sayılarının çokluğundan dolayı performans problemleri ile karşılaşma ihtimalimide artmaktadır. Defaultta oracle 12c ile de aynı yapı ile geliyor. Ancak burada istersek bir parametre değişikliği ile process based tabanlı yapıdan thread based tabanlı yapıya geçebiliriz. Multithred yapı ile anlatılmak istenen her bir process aslında bir thread altında çalışıyor. Buda OS tarafında kaynakların daha verimli kullanılmasını sağlıyor.

Process based yapıda normalde oracle processlerinin nasıl izlendiğine ve kaç adet olduğuna bakalım ;

[oracle@Redhat70 admin]$ ps -ef|grep -v grep|grep ora_ ; ps -ef|grep -v grep|grep ora_ | wc -l
oracle 25240 1 0 23:26 ? 00:00:00 /u01/sq/ora_3/oracle/db/12.1.0.2/bin/tnslsnr listener_12c -inherit
oracle 25908 1 0 23:35 ? 00:00:00 ora_pmon_t1
oracle 25912 1 0 23:35 ? 00:00:00 ora_psp0_t1
oracle 25916 1 1 23:35 ? 00:00:00 ora_vktm_t1
oracle 25922 1 0 23:35 ? 00:00:00 ora_gen0_t1
oracle 25926 1 0 23:35 ? 00:00:00 ora_mman_t1
oracle 25934 1 0 23:35 ? 00:00:00 ora_diag_t1
oracle 25938 1 0 23:35 ? 00:00:00 ora_dbrm_t1
oracle 25942 1 0 23:35 ? 00:00:00 ora_vkrm_t1
oracle 25946 1 0 23:35 ? 00:00:00 ora_dia0_t1
oracle 25950 1 0 23:35 ? 00:00:00 ora_dbw0_t1
oracle 25954 1 0 23:35 ? 00:00:00 ora_dbw1_t1
Continue reading