DBAtlas · Veritabanı operasyon atlası

Zamanlanmış iş (job) oluştur

Oracle

BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    job_name        => 'GECELIK_BAKIM',
    job_type        => 'PLSQL_BLOCK',
    job_action      => 'BEGIN my_maintenance_proc; END;',
    start_date      => SYSTIMESTAMP,
    repeat_interval => 'FREQ=DAILY; BYHOUR=3',
    enabled         => TRUE);
END;
/

DBMS_SCHEDULER.CREATE_JOB ile zamanlanmış iş tanımlanır; repeat_interval takvim ifadesiyle tekrarı belirler.

PostgreSQL

SELECT cron.schedule('gecelik-vacuum', '0 3 * * *', 'VACUUM ANALYZE');
-- pg_cron eklentisi gerekir. Alternatif: pgAgent.

pg_cron eklentisi cron.schedule ile standart cron sözdiziminde iş tanımlar; eklenti kurulu değilse pgAgent veya işletim sistemi cron kullanılır.

MySQL

SET GLOBAL event_scheduler = ON;
CREATE EVENT gecelik_temizlik
ON SCHEDULE EVERY 1 DAY STARTS '2026-01-01 03:00:00'
DO
  DELETE FROM logs WHERE created_at < NOW() - INTERVAL 30 DAY;

CREATE EVENT olay zamanlayıcı ile çalışır; event_scheduler global değişkeni ON olmalıdır, aksi halde olaylar tetiklenmez.

SQL Server

USE msdb;
EXEC dbo.sp_add_job @job_name = N'GecelikBakim';
EXEC dbo.sp_add_jobstep @job_name = N'GecelikBakim', @step_name = N'Adim1',
     @subsystem = N'TSQL', @command = N'EXEC dbo.usp_Bakim;';
EXEC dbo.sp_add_schedule @schedule_name = N'HerGunSaat3',
     @freq_type = 4, @freq_interval = 1, @active_start_time = 030000;
EXEC dbo.sp_attach_schedule @job_name = N'GecelikBakim', @schedule_name = N'HerGunSaat3';
EXEC dbo.sp_add_jobserver @job_name = N'GecelikBakim';

SQL Server Agent işleri msdb yordamlarıyla oluşturulur: iş, adım, zamanlama tanımlanıp sunucuya bağlanır. SQL Server Agent servisi çalışıyor olmalıdır.

MongoDB

# Uygulanamaz: MongoDB'de yerleşik zamanlayıcı yoktur. Dış cron/systemd timer, uygulama zamanlayıcısı veya MongoDB Atlas Scheduled Trigger kullanın.

Topluluk sürümünde zamanlanmış iş yoktur; dış zamanlayıcı veya Atlas Trigger gereklidir.

Redis

# Uygulanamaz: Redis'te yerleşik iş zamanlayıcı yoktur. Anahtar süre sonu için EXPIRE/keyspace bildirimleri, periyodik görevler için dış cron kullanın.

Redis zamanlanmış iş çalıştırmaz; TTL/keyspace bildirimleri ve dış cron ile çözülür.

Elasticsearch

PUT _slm/policy/gunluk-snapshot
{
  "schedule": "0 30 1 * * ?",
  "name": "<snap-{now/d}>",
  "repository": "backup_repo",
  "config": { "indices": ["*"] },
  "retention": { "expire_after": "30d" }
}

SLM (Snapshot Lifecycle Management) zamanlanmış snapshot alır; veri yaşam döngüsü için ILM, gelişmiş otomasyon için Watcher kullanılır.

DBAtlas'ta aç →