Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Ví dụ về công việc DBMS_SCHEDULER Chạy mỗi giờ

Ví dụ này cho bạn thấy cách tạo một công việc trong Oracle để chạy hàng giờ bằng cách sử dụng DBMS_SCHEDULER gói hàng.

1. Tạo công việc bằng DBMS_SCHEDULER.CREATE_JOB

Mã PL / SQL sau sẽ lên lịch công việc sẽ bắt đầu vào ngày 20 tháng 10 năm 2019 lúc 1:00 sáng theo giờ Ấn Độ để chạy hàng giờ vào mỗi ngày. Bạn có thể xóa Tên ngày khỏi thông số khoảng thời gian lặp lại để loại trừ một ngày cụ thể . Loại công việc là thủ tục được lưu trữ và sẽ chạy thủ tục được chỉ định trong tham số Hành động công việc.

BEGIN
  DBMS_SCHEDULER.CREATE_JOB (
   job_name           =>  'HOURLY_JOB',
   job_type           =>  'STORED_PROCEDURE',
   job_action         =>  'YOUR_SCHEMA.YOUR_PROCEDURE',
   start_date         =>  '20-OCT-19 01.00.00 AM Asia/Kolkata',
   repeat_interval    =>  'FREQ=HOURLY;BYDAY=MON,TUE,WED,THU,FRI,SAT,SUN', 
   end_date           =>  NULL,
   auto_drop          =>   FALSE,
   job_class          =>  'SYS.DEFAULT_JOB_CLASS',
   comments           =>  'run job every hour');
END;
/

2. Kích hoạt công việc

BEGIN 
    DBMS_SCHEDULER.enable('HOURLY_JOB'); 
END;
/

DBMS_SCHEDULER hàng giờ của bạn công việc được tạo và kích hoạt ngay bây giờ. Bạn có thể thay đổi múi giờ từ " Châu Á / Kolkata "đến bất kỳ múi giờ quốc gia nào bằng cách nhận giá trị từ truy vấn sau:

SELECT DISTINCT tzname, TZ_OFFSET (tzname)
 FROM V$TIMEZONE_NAMES
ORDER BY tzname;

Hướng dẫn liên quan:

  • Oracle PL / SQL:DBMS_SCHEDULER.CREATE_JOB chạy mỗi ngày một lần
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các câu lệnh DDL có luôn cung cấp cho bạn một cam kết ngầm hay bạn có thể nhận được một lần khôi phục ngầm không?

  2. Sự khác biệt giữa 'YYYY' và 'RRRR' trong Oracle SQL là gì

  3. Từ khóa 'Partition By' và 'Row_Number' của Oracle

  4. Oracle Xóa hàng Khớp với Nhiều Giá trị

  5. Kết nối chuỗi tổng hợp trong Oracle 10g