Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment planifier des travaux de SGBD Oracle dans une fenêtre

Vous pouvez utiliser ceci :

begin
dbms_scheduler.create_job (
   job_name           =>  'jb_en_lopes',
   job_type           =>  'STORED_PROCEDURE',
   job_action         =>  'pr_en_lopes',
   start_date         =>  '09-oct-2017 09:00:00 am',
   repeat_interval    =>  'freq=minutely; interval=10; byhour=9,10,11,12,13,14,15,16,17,18,19,20; byday=MON,TUE,WED,THU,FRI;',
   enabled            =>  true);
end;

Lorsque ce planificateur en charge j'obtiens les résultats ci-dessous :

select * 
  from dba_scheduler_job_log l
 where l.job_name = 'JB_EN_LOPES'
 order by l.log_date desc;

 LOG_ID LOG_DATE                            OPERATION   STATUS

1051594 10-OCT-17 09.59.01.197420 AM +03:00    RUN      SUCCEEDED  
1051592 10-OCT-17 09.58.02.229724 AM +03:00    RUN      SUCCEEDED  
1051590 10-OCT-17 09.57.03.177907 AM +03:00    RUN      SUCCEEDED  
1051588 10-OCT-17 09.56.01.197341 AM +03:00    RUN      SUCCEEDED

Où :

select owner, job_name, next_run_date                                  
  from dba_scheduler_jobs                                               
 where JOB_NAME = 'JB_EN_LOPES'; 

 OWNER    JOB_NAME       NEXT_RUN_DATE

 myschema JB_EN_LOPES   10-OCT-17 08.00.00.194958 PM +03:00

Mise à jour :

Si vous n'avez pas accès à dba_ vues, puis envisagez de remplacer ces préfixes par user_ , et supprimez owner colonne de la liste de sélection pour la dernière requête en tant que

select job_name, next_run_date                                  
  from user_scheduler_jobs                                               
 where JOB_NAME = 'JB_EN_LOPES';