Inisialisasi parameter terkait job_queue_processes
ubah set sistem job_queue_processes=39 scope=spfile; //Nilai maksimum tidak boleh melebihi 1000; job_queue_interval = 10 //Menjadwalkan frekuensi penyegaran tugas dalam hitungan detik
job_queue_process mewakili jumlah pekerjaan yang dapat dijalankan Oracle secara bersamaan, yang dapat diteruskan melalui pernyataan tersebut
tampilkan parameter proses_antrian pekerjaan;
Untuk melihat nilai job_queue_process di Oracle. Ketika nilai job_queue_process adalah 0, itu berarti menghentikan semua pekerjaan Oracle
ALTER SYSTEM SET job_queue_processes = 10;
Untuk menyesuaikan pekerjaan yang dimulai Oracle.
Tampilan terkait:
dba_jobs
semua_pekerjaan
pekerjaan_pengguna
dba_jobs_running berisi informasi tentang pekerjaan yang sedang berjalan
------------------------
Kirim sintaks pekerjaan:
mulai
sys.dbms_job.submit(pekerjaan => :pekerjaan,
apa => 'P_CLEAR_PACKBAL;',
tanggal_berikutnya => tanggal_tanggal('08-04-2008 05:44:09', 'hh-bb-tttt jj24:mi:ss'),
interval => 'tanggal sistem+ 1/360');
melakukan;
akhir;
/
------------------------
Buat PEKERJAAN
variabel nomor lowongan pekerjaan;
mulai
dbms_job.submit(:jobno, 'P_CRED_PLAN;',SYSDATE,'SYSDATE+1/2880',TRUE);
melakukan;
Jalankan PEKERJAAN
SQL> mulai
dbms_job.run(:pekerjaan1);
akhir;
/
Hapus PEKERJAAN
SQL> mulai
dbms_job.remove(:job1);
akhir;
/
DBA_PEKERJAAN
======================================== ==
Bidang (kolom) Jenis Deskripsi
NOMOR PEKERJAAN Nomor identifikasi unik tugas
LOG_USER VARCHAR2(30) Pengguna yang mengirimkan tugas
PRIV_USER VARCHAR2(30) Pengguna menetapkan izin tugas
SCHEMA_USER VARCHAR2(30) Mode pengguna untuk tugas penguraian
LAST_DATE DATE Terakhir kali tugas berhasil dijalankan
LAST_SEC VARCHAR2(8) Jam, menit dan detik dari tanggal_terakhir dalam format HH24:MM:SS
THIS_DATE DATE Waktu mulai tugas yang sedang berjalan, atau nol jika tidak ada tugas yang berjalan
THIS_SEC VARCHAR2(8) Jam, menit dan detik tanggal_ini dalam format HH24:MM:SS
NEXT_DATE DATE Kali berikutnya tugas yang dijadwalkan akan dijalankan
NEXT_SEC VARCHAR2(8) Jam, menit dan detik tanggal_berikutnya dalam format HH24:MM:SS
TOTAL_TIME NUMBER Total waktu yang dibutuhkan untuk menjalankan tugas, dalam hitungan detik
Parameter tanda BROKEN VARCHAR2(1), Y menunjukkan bahwa tugas terhenti dan tidak akan dijalankan di masa mendatang.
INTERVAL VARCHAR2(200) Ekspresi yang digunakan untuk menghitung run time berikutnya
NOMOR KEGAGALAN Berapa kali tugas dijalankan tanpa hasil.
Blok PL/SQL VARCHAR2(2000) APA yang menjalankan tugas
CURRENT_SESSION_LABEL RAW MLSLABEL Kunci sesi Oracle tepercaya untuk tugas ini
CLEARANCE_HI RAW MLSLABEL Kesenjangan maksimum Oracle yang dapat dipercaya oleh tugas tersebut
CLEARANCE_LO RAW MLSLABEL Kesenjangan minimum Oracle yang dapat dipercaya oleh tugas tersebut
NLS_ENV VARCHAR2(2000) Pengaturan sesi NLS untuk tugas yang berjalan
MISC_ENV RAW(32) Beberapa parameter sesi lain untuk tugas yang berjalan
-------------------------
Deskripsi nilai parameter INTERVAL
'TRUNC(SYSDATE + 1)' setiap hari jam 12 tengah malam
Setiap pagi pukul 08.30 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
Setiap Selasa pukul 12 siang 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 24/12'
'TRUNC(LAST_DAY(SYSDATE ) + 1)' pada pukul 12 tengah malam pada hari pertama setiap bulan
23.00 pada hari terakhir setiap kuartal 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
Setiap hari Sabtu dan Minggu pukul 06.10 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'
-------------------------
1: Jalankan setiap menit
Interval => TRUNC(tanggal sys,'mi') + 1/ (24*60)
2: Jalankan secara teratur setiap hari
Misalnya: dieksekusi pada jam 1 pagi setiap hari
Interval => TRUNC(tanggal sys) + 1 +1/ (24)
3: Eksekusi terjadwal setiap minggu
Misal : dilaksanakan setiap hari senin jam 1 pagi
Interval => TRUNC(hari_berikutnya(tanggal sys,'Senin'))+1/24
4: Eksekusi rutin setiap bulan
Misalnya: Jalankan pada jam 1 pagi pada tanggal 1 setiap bulan
Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24
5: Eksekusi rutin setiap triwulan
Misalnya, dieksekusi pada jam 1 pagi pada hari pertama setiap triwulan.
Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24
6: Eksekusi rutin setiap enam bulan
Misal: setiap tanggal 1 Juli dan 1 Januari pukul 1 pagi.
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24
7 : Dilaksanakan secara rutin setiap tahunnya
Misalnya: Dilaksanakan pada jam 1 pagi pada tanggal 1 Januari setiap tahun
Interval =>ADD_MONTHS(trunc(tanggal sys,'yyyy'),12)+1/24
Artikel ini berasal dari blog CSDN. Harap sebutkan sumbernya saat mencetak ulang: http://blog.csdn.net/mzwang123/archive/2009/12/22/5053476.aspx
-