Pages

10 Ocak 2011 Pazartesi

RAC mimarisinde zamanlanmış görevler ile servisleri bağlama

Oracle 10g Scheduler servisi, görevlerin görev sınıflarına(job classes) bağlanabilmesine ve bununla beraber RAC içindeki tanımlanan düğümlerdeki servislerede bu görevlerin çalışması için bağlanabilmesine imkan vermektedir.  Görevler ve ilgili RAC servislerinin ilişkilendirilmesinde uygulanacak adımlar alttaki senaryoda yer almaktadır.


  • NIGHT ve DAY adında görev sınıflarını oluşturun.
BEGIN
  DBMS_SCHEDULER.create_job_class(
    job_class_name => 'NIGHT_JOB_CLASS',
    service        => 'SERVICE2);

  DBMS_SCHEDULER.create_job_class(
    job_class_name => DAY_JOB_CLASS',
    service        => 'SERVICE1);
END;
/

  • İlgili kullanıcıların görev sınıflarına erişebildiğinden emin olun.
GRANT EXECUTE ON sys.day_job_class TO user1;
GRANT EXECUTE ON sys.night_job_class TO user1;

  • Bu görev sınıfları için ilişkilendirilecek olan görevi oluşturun.
BEGIN
  DBMS_SCHEDULER.create_job (
    job_name        => 'user1.day_job_test',
    job_type        => 'PLSQL_BLOCK',
    job_action      => 'BEGIN NULL; END;',
    start_date      => SYSTIMESTAMP,
    repeat_interval => 'FREQ=DAILY;',
    job_class       => 'SYS.DAY_JOB_CLASS',
    end_date        => NULL,
    enabled         => TRUE,
    comments        => 'Gorev DAY_JOB_CLASS gorev sınıfına bağlandı.');
END;
/

  • Mevcut görev için görev sınıfı atayın.
EXEC DBMS_SCHEDULER.set_attribute('MY_DAY_JOB', 'JOB_CLASS', DAY_JOB_CLASS');

0 yorum:

Yorum Gönder