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

Oracle PL / SQL:Ví dụ về DBMS_SCHEDULER.CREATE_JOB

Yêu cầu là tạo một công việc trong Oracle để chạy hàng ngày vào lúc 3:00 sáng và thực hiện một thủ tục được lưu trữ để thực hiện một tác vụ nhất định. Ví dụ:tên thủ tục được lưu trữ là PROC_DAILY_UPDATES .

Để đạt được điều này, ví dụ sau sử dụng DBMS_SCHEDULER.CREATE_JOB của Oracle thủ tục:

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

BEGIN
  DBMS_SCHEDULER.CREATE_JOB (
   job_name           =>  'JOB_DAILY_UPDATES',
   job_type           =>  'STORED_PROCEDURE',
   job_action         =>  'YOURSCHEMA.PROC_DAILY_UPDATES',
   start_date         =>  '28-SEP-19 03.00.00 AM America/New_York',
   repeat_interval    =>  'FREQ=DAILY;INTERVAL=1', 
   end_date           =>  NULL,
   auto_drop          =>   FALSE,
   job_class          =>  'SYS.DEFAULT_JOB_CLASS',
   comments           =>  'extract data');
END;
/

Sau khi tạo công việc trên, hãy kích hoạt nó:

2. Kích hoạt Công việc bằng DBMS_SCHEDULER.ENABLE

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

Để xác nhận công việc đã tạo thành công, hãy sử dụng truy vấn sau:

Select * from user_scheduler_jobs 
 where job_name = 'JOB_DAILY_UPDATES';

Từ truy vấn trên, bạn sẽ nhận được thông tin như ngày bắt đầu cuối cùng, ngày chạy tiếp theo và trạng thái cho phép công việc , v.v.

Để lấy lịch sử thực hiện công việc, hãy sử dụng truy vấn sau:

Select * from user_scheduler_job_run_details 
  where job_name = 'JOB_DAILY_UPDATES';

Bạn cũng có thể nhận thấy rằng trong DBMS_SCHEDULER.CREATE_JOB ở trên ví dụ về thủ tục, tôi đã sử dụng múi giờ America/New_York . Bạn có thể lấy múi giờ của một quốc gia cụ thể bằng cách sử dụng truy vấn sau:

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

Đầu ra

America/Mexico_City -05:00 
America/Miquelon -02:00 
America/Moncton -03:00 
America/Monterrey -05:00 
America/Montevideo -03:00 
America/Montreal -04:00 
America/Montserrat -04:00 
America/Nassau -04:00 
America/New_York -04:00
...

Xem thêm:

  • Cách lên lịch công việc trong Oracle SQL Developer?
  • Tìm hiểu cách Lên lịch Nhiệm vụ / Công việc với Cron (crontab) trong Linux
  • Nhận Giờ địa phương hiện tại của bất kỳ quốc gia nào trong PL / SQL
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối OEM của bạn với Grafana bằng ứng dụng Trình quản lý doanh nghiệp cho Grafana

  2. Sự khác biệt ngầm định của luồng dữ liệu CAST so với ssis

  3. Thứ tự của các bảng được tham chiếu trong mệnh đề ON của hàm JOIN có quan trọng không?

  4. Hibernate ánh xạ một kiểu dữ liệu boolean thành gì khi sử dụng cơ sở dữ liệu Oracle theo mặc định?

  5. Cơ sở dữ liệu Oracle 21c dành cho nền tảng Linux