Στο άρθρο αυτό θα μιλήσουμε για την διαχείριση των jobs στην oracle.
1. Δημιουργία απλού Job και δοκιμή αν είναι ενεργοποιημένα τα jobs
Παρακάτω ακολουθεί ένα script δημιουργίας καινούργιου job. Γίνεται μία εκτέλεση του, ώστε να τσεκάρουμε αν είναι ενεργοποιημένα τα Jobs στην βάση.
SQL>begin
dbms_scheduler.create_job ( job_name => 'test_job',
job_type => 'plsql_block',
job_action => 'null;',
enabled => true);
end;
/
-- wait a while
SQL> select * from user_scheduler_job_run_details where job_name='TEST_JOB';
2. Σβήσιμο job-s χρήστη
Σβήσιμο όλων των Jobs του χρήστη. Συνδεόμαστε με ισχυρό λογαριασμό με dba privileges και τρέχουμε την παρακάτω εντολή
SQL> execute dbms_ijob.DROP_USER_JOBS('satowner');
Σβήσιμο συγκεκριμένου Job χρήστη
SQL> execute dbms_ijob.remove(94);
3. Εύρεση job-s που τρέχουν αυτή την στιγμή στην βάση
Εύρεση των jobs που τρέχουν αυτή την στιγμή στην βάση, είτε μέσω του παλιού dbms_jobs είτε μέσω του καινούργιου από την 11 έκδοση και μετά scheduler_jobs. Χρήσιμα queries:
SQL> select sid, r.job, log_user, r.this_date, r.this_sec from dba_jobs_running r, dba_jobs j
where r.job = j.job;
SQL>select job, schema_user, to_char(last_date, 'hh24:mi dd/mm/yy') last_run,
to_char(next_date, 'hh24:mi dd/mm/yy') next_run, failures fails, broken, substr(what, 1, 15) what
from dba_jobs
order by 4;
SQL>select * from dba_scheduler_jobs
Το καλύτερο view στο οποίο φαίνονται μέσα όλες οι πληροφορίες αναλυτικά για όλα τα jobs που έτρεξαν μέσω του scheduler_jobs (και ποια jobs έσκασαν).
SQL>select * from DBA_SCHEDULER_JOB_RUN_DETAILS
dbms_scheduler.create_job ( job_name => 'test_job',
job_type => 'plsql_block',
job_action => 'null;',
enabled => true);
end;
/
-- wait a while
SQL> select * from user_scheduler_job_run_details where job_name='TEST_JOB';
2. Σβήσιμο job-s χρήστη
Σβήσιμο όλων των Jobs του χρήστη. Συνδεόμαστε με ισχυρό λογαριασμό με dba privileges και τρέχουμε την παρακάτω εντολή
SQL> execute dbms_ijob.DROP_USER_JOBS('satowner');
Σβήσιμο συγκεκριμένου Job χρήστη
SQL> execute dbms_ijob.remove(94);
3. Εύρεση job-s που τρέχουν αυτή την στιγμή στην βάση
Εύρεση των jobs που τρέχουν αυτή την στιγμή στην βάση, είτε μέσω του παλιού dbms_jobs είτε μέσω του καινούργιου από την 11 έκδοση και μετά scheduler_jobs. Χρήσιμα queries:
SQL> select sid, r.job, log_user, r.this_date, r.this_sec from dba_jobs_running r, dba_jobs j
where r.job = j.job;
SQL>select job, schema_user, to_char(last_date, 'hh24:mi dd/mm/yy') last_run,
to_char(next_date, 'hh24:mi dd/mm/yy') next_run, failures fails, broken, substr(what, 1, 15) what
from dba_jobs
order by 4;
SQL>select * from dba_scheduler_jobs
Το καλύτερο view στο οποίο φαίνονται μέσα όλες οι πληροφορίες αναλυτικά για όλα τα jobs που έτρεξαν μέσω του scheduler_jobs (και ποια jobs έσκασαν).
SQL>select * from DBA_SCHEDULER_JOB_RUN_DETAILS
0 σχόλια:
Δημοσίευση σχολίου