Concurrent Processing:Kullanıcı arayüzde işlerini sürdürürken arkaplanda da çalışan işlerin tamamlanmasıdır.
Concurrent Request: Kullanıcı program çalıştırmak istediğinde, bu isteğe concurrent request denir.
Concurrent Manager: Concurrent manager concurrent request'leri çalıştıran programdır.
Concurrent Manager’lar Nasıl Açılır\Kapatılır? – Start\Stop
İşlemleri
Concurrent
Manager’ları açıp kapamak için kullanılan script Web Server açıp kapamak için
kullanılan klasörün altında adcmctl.sh script’idir. Bu script’in açılımı
ad(application dba), cm (Concurrent Manager) ve ctl (control) anlamına gelmektedir.
Bu script çalıştırıldığında adcmctl.txt adlı dosya da bu komutun çalıştırılma
kayıtları tutulur. Bu loglar da $COMMON_TOP/admin/log/$CONTEXT_NAME aşağıdaki
örnek mekana yerleştirilir.
Açmak için:
adcmctl.sh start apps/******
Kapamak için:
adcmctl.sh stop apps/******
Kaç Tip Concurrent Manager Bulunmaktadır?
3 tip concurrent manager bulunmaktadır.
1-ICM - Internal Concurrent Manager: ICM ile diğer concurrent manager'ların açılıp kapanması sağlanır.
2-SM - Standard Manager: SM eğer bir concurrent request için concurrent manager tanımlanmadıysa concurrent request'i alıp çalıştırır.
3-CRM - Conflict Resolution Manager Concurrent Manager'larda yaşanabilecek herhangi bir sorunun çözülmesinde rol alırlar.
ICM Nedir?
Internal Concurrent Manager diğer concurrent manager'ların açılıp kapanmasını sağlar. ICM kapansa da diğerleri çalışmaya devam eder; ancak en başta açılmazlarsa o zaman sorun oluşur.
ICM Log'u Nerededir?
$APPLCSF/$APPLLOG klasörü altındadır. Log dosyasının adı_MMDD.mgr şeklindedir. veritabanının adını gösterir.
ICM log = .mgr
Concurrent Manager Log = w.mgr
Request Log = l.req
Request Output = o.out
Concurrent Manager'ların Açık Olduklarını Nereden Görebilirim?
"ps -ef | grep -v grep | grep FNDLIBR" komutuyla açık olan concurrent manager process'lerini görebiliriz. Eğer concurrent manager'lar çalışmıyorsa hiçbir process görülmez.
Açmak için:
adcmctl.sh start apps/******
Kapamak için:
adcmctl.sh stop apps/******
Kaç Tip Concurrent Manager Bulunmaktadır?
3 tip concurrent manager bulunmaktadır.
1-ICM - Internal Concurrent Manager: ICM ile diğer concurrent manager'ların açılıp kapanması sağlanır.
2-SM - Standard Manager: SM eğer bir concurrent request için concurrent manager tanımlanmadıysa concurrent request'i alıp çalıştırır.
3-CRM - Conflict Resolution Manager Concurrent Manager'larda yaşanabilecek herhangi bir sorunun çözülmesinde rol alırlar.
ICM Nedir?
Internal Concurrent Manager diğer concurrent manager'ların açılıp kapanmasını sağlar. ICM kapansa da diğerleri çalışmaya devam eder; ancak en başta açılmazlarsa o zaman sorun oluşur.
ICM Log'u Nerededir?
$APPLCSF/$APPLLOG klasörü altındadır. Log dosyasının adı
Concurrent Manager Log = w.mgr
Request Log = l.req
Request Output = o.out
Concurrent Manager'ların Açık Olduklarını Nereden Görebilirim?
"ps -ef | grep -v grep | grep FNDLIBR" komutuyla açık olan concurrent manager process'lerini görebiliriz. Eğer concurrent manager'lar çalışmıyorsa hiçbir process görülmez.
Concurrent Manager’da Sorun Giderilmesi
Eğer
Oracle Apps Dba olarak bir Concurrent Manager başlatıldıysa ve bir sorunla karşılaşılmışsa yine ilk
bakılacak yer Concurrent Manager log dosyasıdır. Bu log dosyası $APPLCSF/$APPLLOG dizininde bulunur.
Concurrent Request Akışı:
1-FND_CONCURRENT_REQUESTS tablosu request ile birlikte güncellenir.
2-Request'in incompatibility değerlerinin olup olmadığı kontrol edilir.
3-CRM eğer incompatibility varsa concurrent'ın ne zaman çalıştırılıp çalıştırılmayacağını kontrol ediyor.
4-Incompatibility yoksa bunun için tanımlanmış özel bir concurrent manager var mı diye kontrol edilir. Yoksa Standard Manager çalıştırılır.
5-İş bitince de fnd_concurrent_request tablosu güncellenir.
Concurrent Manager Nasıl Yaratılır?
Concurrent Manager yaratmak için System Administrator>Concurrent>Manager>Define yolunu inceleriz.
Manager kısmına manager adını yazarız.
Type: Concurrent manager tanımlıyorsak concurrent manager seçeneğini yoksa ne tanımlayacaksak onu seçeriz.
Cache Size: Cache size ile queue'dan bir kere de kaç tane concurrent request alabileceğimizi belirleriz. Başka concurrent almadan önce bunların bitmesi beklenir. Workshift process'i 2 cache size'ı 4 ise 4 request okunur ama sadece 2'si aynı anda çalıştırılır. Best practise olarak cache size'ın workshift process'inin en az 2 katı olması beklenir.
Consumer Group: Consumer group ile belirlenen kullanıcılar çok kaynak tüketen ya da az kaynak tüketen gruplara atanarak sonrasında concurrent manager ile eşlenebilirler. Özetle eğer bir grup çok kaynak tüketiyorsa onlara özel bol kaynaklı belirli saatlerde çalışan concurrent manager tanımlanabilir.
Specialization Rules: Hangi tip concurrent request'lerin çalışacağı specialization rules ile belirlenir.
Concurrent Manager Performans Ayarları:
Manager'ın performans ile ilgili 3 tane ayarını inceleyebiliriz. Process sayısı,sleep süresi, cache size ayarı. Concurrent manager'ı performans için tune ederken bilmemiz gereken şey var olan belirlenmiş SQL'leri ya da çalışan process'ler ile oynamadığımızdır. Amacımız concurrent request'lerin bir an önce çalışmaya başlamasıdır. Bu yüzden concurrent'ların bekleme zamanını azaltmaya çalışırız.
Concurrent request'imiz çalışmaya başlamadan önce ilk önce incompatibility'lerle ilgili bir çakışma durumu var mı diye bekletilir. Bunu bu işe bakan CRM(Conflict Resolution Manager) yapar. Ertesinde tanımlı olan özel concurrent manager'a bakar. Sonuç olarak kendisine atanan concurrent manager tarafından çalıştırılmayı bekler.
-Process Sayısı: İşletim sistemi tarafından bir workshift içerisinde aynı anda çalıştırılacak process sayısı. Her process bir concurrent request çalıştırabilir.
-Sleep Süresi: Bu zaman aralığında belirtilen durum ICM'in çalışacak request'lere bakma aralığıdır. Eğer bu süre daha az olursa daha fazla request'ler incelenir ve request'lerin bekleme süresi azalır.
-Cache Size Ayarı: Cache size ile queue'dan ne kadar request alınacağı belirtilir. Yüksek olması önemlidir. Tavsiye edilen değer var olan process sayısının 2 katıdır. Bu değerin ayarlanmasının nedeni concurrent manager'ın sürekli fnd_concurrent_requests tablosuna bakmasıdır. Bu miktar ne kadar az olursa concurrent request'lerın çalışmaya başlaması daha erken gerçekleşir.
Concurrent Manager İçin Önemli Scriptler:
Concurrent manager ile ilgili scriptler $FND_TOP/sql altındadır.
Concurrent Request Akışı:
1-FND_CONCURRENT_REQUESTS tablosu request ile birlikte güncellenir.
2-Request'in incompatibility değerlerinin olup olmadığı kontrol edilir.
3-CRM eğer incompatibility varsa concurrent'ın ne zaman çalıştırılıp çalıştırılmayacağını kontrol ediyor.
4-Incompatibility yoksa bunun için tanımlanmış özel bir concurrent manager var mı diye kontrol edilir. Yoksa Standard Manager çalıştırılır.
5-İş bitince de fnd_concurrent_request tablosu güncellenir.
Concurrent Manager Nasıl Yaratılır?
Concurrent Manager yaratmak için System Administrator>Concurrent>Manager>Define yolunu inceleriz.
Manager kısmına manager adını yazarız.
Type: Concurrent manager tanımlıyorsak concurrent manager seçeneğini yoksa ne tanımlayacaksak onu seçeriz.
Cache Size: Cache size ile queue'dan bir kere de kaç tane concurrent request alabileceğimizi belirleriz. Başka concurrent almadan önce bunların bitmesi beklenir. Workshift process'i 2 cache size'ı 4 ise 4 request okunur ama sadece 2'si aynı anda çalıştırılır. Best practise olarak cache size'ın workshift process'inin en az 2 katı olması beklenir.
Consumer Group: Consumer group ile belirlenen kullanıcılar çok kaynak tüketen ya da az kaynak tüketen gruplara atanarak sonrasında concurrent manager ile eşlenebilirler. Özetle eğer bir grup çok kaynak tüketiyorsa onlara özel bol kaynaklı belirli saatlerde çalışan concurrent manager tanımlanabilir.
Specialization Rules: Hangi tip concurrent request'lerin çalışacağı specialization rules ile belirlenir.
Concurrent Manager Performans Ayarları:
Manager'ın performans ile ilgili 3 tane ayarını inceleyebiliriz. Process sayısı,sleep süresi, cache size ayarı. Concurrent manager'ı performans için tune ederken bilmemiz gereken şey var olan belirlenmiş SQL'leri ya da çalışan process'ler ile oynamadığımızdır. Amacımız concurrent request'lerin bir an önce çalışmaya başlamasıdır. Bu yüzden concurrent'ların bekleme zamanını azaltmaya çalışırız.
Concurrent request'imiz çalışmaya başlamadan önce ilk önce incompatibility'lerle ilgili bir çakışma durumu var mı diye bekletilir. Bunu bu işe bakan CRM(Conflict Resolution Manager) yapar. Ertesinde tanımlı olan özel concurrent manager'a bakar. Sonuç olarak kendisine atanan concurrent manager tarafından çalıştırılmayı bekler.
-Process Sayısı: İşletim sistemi tarafından bir workshift içerisinde aynı anda çalıştırılacak process sayısı. Her process bir concurrent request çalıştırabilir.
-Sleep Süresi: Bu zaman aralığında belirtilen durum ICM'in çalışacak request'lere bakma aralığıdır. Eğer bu süre daha az olursa daha fazla request'ler incelenir ve request'lerin bekleme süresi azalır.
-Cache Size Ayarı: Cache size ile queue'dan ne kadar request alınacağı belirtilir. Yüksek olması önemlidir. Tavsiye edilen değer var olan process sayısının 2 katıdır. Bu değerin ayarlanmasının nedeni concurrent manager'ın sürekli fnd_concurrent_requests tablosuna bakmasıdır. Bu miktar ne kadar az olursa concurrent request'lerın çalışmaya başlaması daha erken gerçekleşir.
Concurrent Manager İçin Önemli Scriptler:
Concurrent manager ile ilgili scriptler $FND_TOP/sql altındadır.
1. afimchk.sql = ICM ve PMON'un statusunu gösterir.
2. afcmstat.sql = Manager ile ilgili aktif process'leri gösterir.
3. afrqscm.sql = Manager'ların log dosyaları listelenir.
4. afimlock.sql = ICM'ın beklediği lock'lar gösterilir.
Concurrent Manager Status Codes
Çeşitli önemli Concurrent tabloları:
FND_CONCURRENT_QUEUES
FND_CONCURRENT_PROGRAMS
FND_CONCURRENT_REQUESTS
FND_CONCURRENT_PROCESSES
FND_CONCURRENT_QUEUE_SIZE
Ayrıca FND ile ilgili aşağıdaki tablolarda kullanılabilinirler.
FND_APPL_TOPSFND_LOGINS
FND_USER
FND_DM_NODES
FND_TNS_ALIASES
FND_NODES
FND_RESPONSIBILITY
FND_DATABASES
FND_UNSUCCESSFUL_LOGINS
FND_LANGUAGES
FND_APPLICATION
FND_PROFILE_OPTION_VALUES
Referans:
Concurrent Processing (CP) / APPS Reporting Scripts [213021.1]
Hiç yorum yok:
Yorum Gönder