دیتابیس اوراکل Server Processes را ایجاد می کند برای مدیریت handle کردن درخواست هایی که از طریق client processes های مرتبط با instance هستند. Client Processes ها همیشه با دیتابیس ارتباط دارند از طریق Server Processes های مجزا.

Server processes از طرف Database Application ها مانند اوراکل ایجاد می شوند که می توانند یک یا چند وظیفه داشته باشند :

– Parse و اجرا کردن دستورات SQL صادر شده از طریق یک برنامه Application , که می تواند شامل ایجاد و اجرای یک Query Plan باشد.

– اجرا دستورات و کدهای PL/SQL

– خواندن Data Block هایی که از Data File یه Database Buffer Cache انتقال داده می شود.

– نتایج اطلاعات و داده هایی که برنامه Application مورد پردازش قرار می دهد را نمایش و برمی گرداند.

Dedicated Server Processes

در سرورها و ارتباطات اختصاصی هر Client کاربر فقط و فقط با یک Server Processes ارتباط دارد و مرتبط است.

در سیستم عامل لینوکس، ۲۰ Client Processes که با Database Instance ارتباط دارد دقیقا فقط به ۲۰ Server Processes سرویس رسانی می کند و ارتباط دارد. هر Client Processes بصورت مستقیم به یک Server Processes خاصی مرتبط است. (هر Cilent Processes به یک Server Processes مرتبط است) این Server Processes با Client Processes ارتباط دارند و سرویس می دهند تا زمانی که Session برای هر کاربر برقرار باشد. همچنین Server Processes ها اطلاعات و داده های هر process را در حافظه PGA برای هر Session ذخیره می کند.

Shared Server Processes

در سرورها و ارتباطات اشتراکی یک Client Application در بستر شبکه به یک dispatcher process متصل می شود نه یک Server Processes. به عنوان مثال ۲۰ Client Processe همه باهم به یک dispatcher process تنها می تواند ارتباط برقرار کند.

کار dispatcher processes در واقع میاد درخواست ها و request هایی که کلاینت هایی که به دیتابیس میخواهد متصل شوند را دریافت می کند و این درخواست را مرتب کرده و در قالب صف queue در large pool قرار می دهد . اولین Server Processes اشتراکی که در اوراکل فعال باشد تمامی درخواست کاربران را مرتب کرده و در صف queue قرار داده و مورد پردازش process قرار می دهد. در نهایت dispatcher processes ها درخواست ها مرتب و در صف queue قرار داده و سپس نتیجه درخواست به کاربر انتقال می دهد.

همانند Server Procesess Dedicated اختصاصی در Server Processes Shared اشتراکی اطلاعات Server Process در PGA ذخیره می شود. در سرورهای اشتراکی UGA برای Session در بخش SGA قرار می گیرد که سرور اوراکل به این اطلاعات SGA دسترسی دارد.

دیتابیس اوراکل چگونه Server Processes را ایجاد می کند

دیتابیس اوراکل از چندین راه Server Processes را ایجاد می کند البته بستگی به نوع ارتباط دارد :

Bequeath

SQL*PLUS از طریق یک OCI client یا هر client application می تواند Server Processes را ایجاد کند.

Oracle Net listener –

یک Client Application به دیتابیس اوراکل از طریق listener به دیتابیس متصل شود

اطلاعات بیشتر در مورد این مطلب : آشنایی با Server Processes