Daha önce Oracle programının bazı kullanımlarını tanıtmıştım, ancak birçok arkadaş hala onu nasıl kullanacaklarını bilmediklerini söyledi. Kısa bir süre önce planlanan görevlerin zamanını ayarlamayı planladım, bu yüzden bu arada göstereceğim ve kaydedeceğim!
1. Özel iş tanımını görüntüleyin
dba_scheduler_jobs'dan sahip, iş_adı, iş_türü, iş_işlemi, yorumlar, etkin, to_char (son_başlangıç_tarihi, 'yyyy-aa-gg hh24: mi: ss'), to_char (sonraki_run_date, 'yyyy-aa-gg hh24: mi: ss') seçin ;2. PROGRAM_NAME içeriğini bulun (çok anlamlı değil)
sahibi, türü, metni, adı dba_source'tan seçin; burada isim '% ARCHIVE%' gibi;3. Geçmişi görüntüleyin
log_id, log_date, owner, job_name, job_subname, log_date desc ile DBA_SCHEDULER_JOB_LOG sırasından durum seçin;Burada, normal çalışıp çalışmadığına bakılmaksızın, esas olarak önceki zamanlama görevinin çalışmasının sonucuna bağlıdır.
Gereksinimler: Zamanlanmış görevi her Cumartesi saat 1'de gerçekleştirilecek şekilde değiştirin
1. Devre dışı bırakın
başla dbms_scheduler.disable ('SYSTEM.ARCHIVE_120_TABLES'); son; /2. planını kaldırın (programı değiştiriyorsunuz)
başla dbms_scheduler.SET_ATTRIBUTE_NULL ('SYSTEM.ARCHIVE_120_TABLES', 'SCHEDULE_NAME'); / * SCHEDULE_NAME alan adı * / son; /3. Özel programlayın (Cumartesi günü saat 1)
başla DBMS_SCHEDULER.SET_ATTRIBUTE (isim = > "SYSTEM.ARCHIVE_120_TABLES", özellik = > 'tekrar_aralığı', değer = > 'frekans = günlük; byday = SAT; bysaat = 1; bydakika = 0; bysaniye = 0'); son; /4. etkinleştirin
başla dbms_scheduler.enable ('SYSTEM.ARCHIVE_120_TABLES'); son; /5. Zamanlama görevlerini görüntüleyin
sahibi seçin iş adı, meslek türü, job_action, yorumlar etkinleştirildi, to_char (last_start_date, 'yyyy-aa-gg ss24: mi: ss'), to_char (sonraki_run_date, 'yyyy-aa-gg ss24: mi: ss') dba_scheduler_jobs'tan;Bir sonraki infaz tarihinin önümüzdeki Cumartesi saat 1 olduğunu görebilirsiniz.
öznitelik: iş ayarının özniteliğini ifade eder, öznitelikler şunlardır:
logging_level Kaydedilen günlük bilgileri, üç değer vardır (DBMS_SCHEDULER.LOGGING_OFF, DBMS_SCHEDULER.LOGGING_RUNS,
DBMS_SCHEDULER.LOGGING_FULL)
yeniden başlatılabilir - başarısız olursa işin yeniden başlatılıp başlatılmayacağını ayarlayın
max_failures 1 ile 1000000 arasında değişen izin verilen iş başarısızlıklarının sayısı varsayılan olarak boştur.
max_runs - 1 ile 1000000 arasında değişen maksimum iş yürütme sayısı, varsayılan değer boştur (işin tekrar tekrar yürütüleceği veya iş yürütme bitiş bitiş tarihine ulaşılacağı veya belirtilen hata sayısına ulaşılacağı anlamına gelir).
Maksimum değere ulaşıldığında, iş devre dışı bırakılacak ve durum TAMAMLANDI olarak değiştirilecektir.
max_run_duration Çalışmakta olan işin etkin zamanını ayarlayın. Belirli bir değer ayarlanırsa, program, değere ulaşıldığında JOB_OVER_MAX_DUR olayını rapor edecek ve ardından olay işleyicisi devam edip etmemeye karar verecektir
instance_stickiness-yalnızca rac veritabanı için kullanılır. Varsayılan değer true'dur, true olarak ayarlanır, iş düğümde en hafif yükle çalışır; bir düğüm kapatılırsa veya yük çok ağırsa, yeni bir iş başlatılmaz, ancak başka bir düğüm işi yürütür.
stop_on_window_close pencere kapatıldığında işi durdurun, varsayılan yanlıştır. Bu nedenle, pencere varsayılan olarak kapatılırsa, iş yürütülmeye devam eder, ancak pencerenin kapatılmasının kaynak kullanım planının değişeceği anlamına geldiğine dikkat edilmelidir.
job_priority Aynı sınıfta iş yürütme önceliği, varsayılan 3'tür.
program_sınırı - ertelenecek işi başlatmak için izin verilen süre, ayar değeri 1 dakika ile 99 gün arasındadır. Gecikme süresinden sonra iş başlatılmayacaktır. Bu değeri ayarlamazsanız, gerekli kaynaklara izin verildiği sürece başlayacaktır. Ek olarak, gecikme süresi boyunca, iş yürütme veya başarısızlıkların sayısı atlanacak ve bu süre sayılmayacaktır.
program_name-iş yürütme nesnesi. Bu öznitelik ayarlanırsa, job_action, job_type, number_of_arguments boş olarak ayarlanmalıdır.
job_action-job yürütme nesnesi içeriği
job_type-job yürütme nesne türü ('PLSQL_BLOCK', 'STORED_PROCEDURE', 'EXECUTABLE' ve'CHAIN '). Bu değer ayarlanırsa, program_adı parametresi boş olarak ayarlanmalıdır.
argüman_sayısı Parametrelerin sayısı. Bu değer ayarlanırsa, program_adı parametresi boş olarak ayarlanmalıdır.
program_adı Program adı Bu değer ayarlanırsa, bitiş_tarihi, başlangıç_tarihi ve tekrar_aralığı boş olarak ayarlanmalıdır.
tekrar_aralığı Yürütme aralığı Bu değer ayarlanırsa, program_adı'nın boş olması gerekir.
start_date yürütme başlangıç zamanı, bu değer ayarlanmışsa, program_adı boş olmalıdır.
bitiş_tarihi İşin artık yürütülmediği zaman Bu değer ayarlanırsa, program_adı boş olmalıdır.
job_class-jobclass
yorumlar Açıklamalar
auto_drop - iş durumu tamamlandığında işi otomatik olarak sil
event_spec-ihtiyaçlarının iki değer içermesi gerekir (olay koşulu ve kuyruk özelliği)
Raise_events İş durumu yükseltildiğinde ayarlayın, belirli zaman türleri için olay türüne bakın.
Çoğu zaman veri tabanında zamanlanmış görevler kurarız, sayı çok büyük olduğunda zaman kolayca birikir, bu nedenle üretim ortamında zamanlanmış görevlerin zamanının planlanması önerilir. Daha fazla devop ve DBA içeriği daha sonra paylaşılacak ve ilgilenen arkadaşlar buna dikkat edebilir ~