Oracle Scheduler Architecture
نشر بواسطة : Obay Salah , November 19, 2024
في الحقيقة أن هناك العديد من المناسبات التي يحتاج عندها مدير قاعدة البيانات والمستخدمون تنفيذ مهامهم بصورة ألية عن طريق جدولتها ومن أمثلة ذلك
عمل النسخ الإحتياطي وإصدار التقارير وجمع الإحصائيات عبر الOptimizer Statistic وغيرها من المهام التي تنجز بشكل دوري.
في الإصدارات السابقة من قاعدة البيانات أوركل كان يتم جدولة المهام عن طريق الحزمة DBMS_JOB.
هذه الحزمة مازالت موجودة لكن ليست واسعة الإنتشار بعد إصدار الحزمة الجديدة DBMS_SCHEDULER في الإصدار أوركل 10g.
هناك العديد من المعالجات التي تعمل في بيئة الScheduler Jobs وتقوم بمهام مختلفة، من ذلك CJQ0 Process حيث يقوم هذا المعالج
برقابة الجدول DBMS_SCHEDULER_JOBS وهو عبارة عن جدول في الDATA DICTIONARY يحتوي على معلومات عن جميع الScheduler Jobs وعند
الضرورة يقوم بتنفيذ الJobs، وأيضاً Jnnn Processes حيث يقوم بتنفيذ الJobs.
يقوم الCJQ0 بوضع الJobs في جدول الJob Queue ثم يقوم بتمريرهم للتنفيذ، وهو أيضاً يقوم بإنهاء هذه الJobs عن الطلب.
عموماً يستطيع مدير قاعدة البيانات متابعة جميع الScheduler Jobs عن طريق الجدول DBMS_SCHEDULER_JOBS في الDictionary Data
ويستطيع متابعة الProcesses الحالية التي تعمل على قاعدة البيانات عن طريق الV$PROCESS.
SELECT PROGRAM FROM V$PROCESS WHERE PROGRAM LIKE '%J%';
هناك عدد من الكائنات التي يمكن أن تعمل في بيئة الScheduler لكن الكائن الأساسي في هذه البيئة هو Job حيث يستطيع القيام بالعمل مكتفيًا ذاتيًا.
من خلال الJob نستطيع تحديد وتعريف ما نريد فعله ومتى نريد فعله وغير ذلك من خيارات التهيئة التي نحتاجها في هذا الشأن.
Comments
لايوجد تعليق حتى الان