منبع اصلی نوشتار زیر در این لینک قرار دارد

مفاهیم فرایند های سرور Dedicated و Shared

در اوراکل سه دسته فرایند های پس زمینه (Background Process)، فرایند های سرور و فرایند های کاربر را داریم. فرایند های پس زمینه در مطلب “مفهوم فرایند های پس زمینه و آشنایی با برخی از آنها در اوراکل” توضیح داده شده است. فریاند کاربر متعلق با کار یا برنامه کاربردی در سمت کلاینت است که درخواستی را ایجاد و به سمت سرور پایگاه داده ارسال می کند و فرایند سرور مربوط به ماشین سروری است که پایگاه داده (به طور واضح تر Database Instance) در آن قرار دارد و درخواست رسیده از کلاینت را به پایگاه داده تحویل می دهد و پاسخ را به کلاینت ارسال می کند.

پس اوراکل فرایند های سرور (Server Process) ها را برای مدیریت و اداره فرایند های کاربر (User Process) ایجاد می کند که به دو روش است :

  • dedicated server process که تنها به یک فرایند کاربر سرویس می دهد.
  • shared server process که هر فرایند سرور به چندین فرایند کاربر سرویس می دهد.

شکل زیر حلت dedicated را نشان می دهد که در آن هر فرایند کاربر از سمت کلایت درخواستش را به یک فرایند سرور ارسال کرده و فرایند سرور تنها به همان فرایند کاربر سرویس می دهد. در موقیعت های زیر از dedicated server process استفاده می شود.

  • برای انجام یک batch job (کار دسته ای)
  • برای انجام پشتیبان گیری، بازیابی و ترمیم پایگاه داده توسط RMAN

oracleserverprocess1

شکل زیر نیز حالت shared server را نشان می دهد که یک فرایند سرور همزمان چندین فرایند کاربر را اداره می کند. فرایند کاربر از سمت کلاینت با Dispatcher ارتباط برقرار می کند. همچنین  Dispatcher از چندین ارتباط همزمان از سوی کلاینت پشتیبانی می کند. هر ارتباط کلاینت به یک Virtual Circuit مقید می شود. Virtual Circuit بخشی از حافظه به اشتراک گذاشته شده از توسط dispatcher برای درخواست ها و پاسخ های ارتباطات کلاینت است. در شکل زیر dispatcher یک virtual circuit را در صف درخواست ها درون SGA قرار می دهد. سپس درخواست ها به یک فرایند سرور تحویل داده شده و در نهایت پاسخ به کلاینت ارسال می شود.

oracleserverprocess2



برچسب ها : , ,

به سیاره لینوکس امتیاز دهید

به اين صفحه امتياز دهيد