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
-
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
-
Sự khác biệt ngầm định của luồng dữ liệu CAST so với ssis
-
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?
-
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?
-
Cơ sở dữ liệu Oracle 21c dành cho nền tảng Linux