Δευτέρα 13 Ιουνίου 2016

Διαχείριση Jobs βάσης Oracle



Στο άρθρο αυτό θα μιλήσουμε για την διαχείριση των 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


0 σχόλια:

Δημοσίευση σχολίου