


Bagaimana untuk melaksanakan prosedur tersimpan dalam Oracle dengan kerap
Dalam aplikasi peringkat perusahaan, kami tidak boleh hanya bergantung pada pengguna untuk melakukan operasi manual untuk mencapai kefungsian yang diperlukan. Oleh itu, tugas berjadual adalah penting, yang amat berguna untuk melaksanakan pemprosesan latar belakang dan pemuatan data. Pangkalan data Oracle menyediakan prosedur tersimpan dan tugas berjadual untuk memudahkan kerja pembangun dan pentadbir. Dalam artikel ini, kami akan menumpukan pada kaedah menggunakan tugas berjadual Oracle untuk melaksanakan prosedur tersimpan dengan kerap.
Tugas berjadual Oracle
Tugas berjadual dalam pangkalan data Oracle boleh dibuat menggunakan pakej DBMS_SCHEDULER. Pakej ini membolehkan kami mencipta pekerjaan dengan keperluan penjadualan yang kompleks. Ia boleh menyokong pelbagai frekuensi seperti setiap jam, harian, mingguan, bulanan, tahunan, dll. Tugas berjadual juga boleh dilaksanakan pada tarikh dan masa tertentu, atau bahkan dalam zon waktu yang berbeza. Jenis objek berikut boleh dibuat menggunakan pakej DBMS_SCHEDULER.
- Kerja: Unit tugasan yang dicipta semasa melaksanakan fungsi DBMS_SCHEDULER.CREATE_JOB, dijadualkan oleh penjadual secara berkala atau atas permintaan.
- Kelas kerja: Sekumpulan tugasan berkaitan yang berkongsi peraturan had penggunaan sumber yang sama.
- Had penggunaan sumber: Peraturan penggunaan sumber yang digunakan untuk mengawal pekerjaan dan kelas pekerjaan.
- Rantaian: Urutan pekerjaan di mana penyiapan satu kerja mencetuskan pelaksanaan kerja lain.
- Sesi: Proses yang dikaitkan dengan pelaksanaan kerja. Sesi boleh dilog dan dipantau untuk memahami pelaksanaan kerja.
Dalam artikel ini, kami akan menumpukan pada cara menggunakan DBMS_SCHEDULER untuk mencipta kerja dan mengikatnya pada prosedur tersimpan yang ingin kami laksanakan.
Buat prosedur tersimpan
Kita perlu membuat prosedur tersimpan terlebih dahulu untuk melaksanakan operasi tugasan yang ingin kita selesaikan. Di bawah ialah contoh mudah prosedur tersimpan yang akan memasukkan masa semasa ke dalam jadual.
CREATE OR REPLACE PROCEDURE INSERT_TIME AS BEGIN INSERT INTO TIME_LOG (LOG_TIME) VALUES (SYSDATE); COMMIT; END INSERT_TIME;
Buat Kerja
Dengan prosedur tersimpan di tangan, kami seterusnya perlu mencipta kerja untuk menjadualkan pelaksanaannya. Kerja yang akan kami buat akan memasukkan waktu semasa setiap pagi pada pukul 6. Di bawah ialah contoh menggunakan fungsi DBMS_SCHEDULER.CREATE_JOB untuk mencipta kerja ini.
BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'INSERT_TIME_JOB', job_type => 'STORED_PROCEDURE', job_action => 'INSERT_TIME', start_date => SYSTIMESTAMP, repeat_interval => 'FREQ=DAILY; BYHOUR=6;', enabled => TRUE, comments => 'Insert current time every day at 6 AM'); END;
Apabila menggunakan fungsi CREATE_JOB untuk mencipta kerja, kita perlu mengikut perihalan parameter berikut:
- job_name: Nama kerja, yang mestilah unik.
- job_type: Jenis pekerjaan, biasanya "STORED_PROCEDURE".
- job_action: Nama prosedur tersimpan, pakej atau fail boleh laku yang akan dilaksanakan oleh kerja.
- start_date: Masa mula kerja, yang boleh menjadi tarikh atau cap waktu. Jika tidak dinyatakan, ia lalai kepada masa semasa.
- repeat_interval: Tentukan kekerapan pelaksanaan dan selang masa kerja. Dalam contoh ini, "FREQ=DAILY; BYHOUR=6;" bermaksud bahawa ia dilaksanakan setiap hari pada pukul 6 pagi. Pilihan lain termasuk setiap jam, mingguan, bulanan, tahunan, dsb. Kami juga boleh menggunakan parameter ini untuk menentukan hari di mana tugas itu harus dilaksanakan, seperti setiap hari Isnin, Selasa dan Khamis.
- didayakan: Menunjukkan sama ada kerja didayakan.
- komen: Penerangan ringkas tentang tugasan.
Ikat kerja dengan prosedur tersimpan
Dalam contoh di atas, kami mencipta kerja dan menetapkan prosedur tersimpan untuk pelaksanaannya. Sekarang, kita perlu mengikat kerja ini kepada prosedur tersimpan kami supaya ia melaksanakan operasi pada masa yang ditentukan. Kita boleh menggunakan fungsi DBMS_SCHEDULER.SET_ATTRIBUTE untuk menyelesaikan tugas ini.
BEGIN DBMS_SCHEDULER.SET_ATTRIBUTE ( name => 'INSERT_TIME_JOB', attribute => 'program_action', value => 'INSERT_TIME;'); END;
Dalam contoh ini, kami menggunakan fungsi SET_ATTRIBUTE untuk menetapkan atribut "program_action" bagi tugas "INSERT_TIME_JOB" kepada "INSERT_TIME". Ini akan memberitahu DBMS_SCHEDULER untuk memanggil prosedur tersimpan INSERT_TIME pada masa tertentu.
Kami telah mempelajari cara menggunakan pakej DBMS_SCHEDULER untuk mencipta kerja berjadual dan mengikat tugas dalam prosedur tersimpan. Sekarang, kita boleh menunggu tugas yang dijadualkan untuk melaksanakan dan melihat rekod dalam jadual TIME_LOG.
Kesimpulan
Menggunakan fungsi tugas berjadual pangkalan data Oracle boleh membantu kami melaksanakan tugas pemprosesan latar belakang dengan mudah. Pakej DBMS_SCHEDULER menyediakan banyak pilihan untuk memenuhi keperluan aplikasi khusus kami, seperti pelaksanaan berulang, pelaksanaan selari, pemulihan kegagalan, dsb. Selain itu, ia mempunyai keupayaan untuk melaksanakan kerja merentas zon masa, tarikh, minggu, bulan, dsb. yang berbeza, yang menjadikan tugas berjadual sangat fleksibel. Dalam artikel ini, kami memberi tumpuan kepada cara menggunakan tugas berjadual Oracle untuk melaksanakan prosedur tersimpan dengan kerap. Kami berharap artikel ini dapat memberi anda panduan berguna dan membantu anda memahami dengan lebih baik penggunaan dan prinsip operasi tugas berjadual berdasarkan pangkalan data Oracle.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan prosedur tersimpan dalam Oracle dengan kerap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Sebagai tambahan kepada SQL*Plus, terdapat alat untuk mengendalikan pangkalan data Oracle: pemaju SQL: alat percuma, mesra antara muka, dan menyokong operasi grafik dan debugging. TOAD: Alat perniagaan, kaya ciri, sangat baik dalam pengurusan pangkalan data dan penalaan. Pemaju PL/SQL: Alat yang berkuasa untuk pembangunan PL/SQL, penyuntingan kod dan debugging. DBeaver: Alat sumber terbuka percuma, menyokong pelbagai pangkalan data, dan mempunyai antara muka yang mudah.

Penyelesaian kepada Oracle tidak boleh dibuka termasuk: 1. Mulakan perkhidmatan pangkalan data; 2. Mulakan pendengar; 3. Periksa konflik pelabuhan; 4. Menetapkan pembolehubah persekitaran dengan betul; 5. Pastikan perisian firewall atau antivirus tidak menghalang sambungan; 6. Periksa sama ada pelayan ditutup; 7. Gunakan RMAN untuk memulihkan fail rasuah; 8. Periksa sama ada nama perkhidmatan TNS betul; 9. Periksa sambungan rangkaian; 10. Pasang semula perisian Oracle.

Tiada jalan pintas untuk mempelajari pangkalan data Oracle. Anda perlu memahami konsep pangkalan data, kemahiran SQL Master, dan terus memperbaiki amalan. Pertama sekali, kita perlu memahami mekanisme penyimpanan dan pengurusan pangkalan data, menguasai konsep asas seperti jadual, baris, dan lajur, dan kekangan seperti kunci utama dan kunci asing. Kemudian, melalui amalan, pasangkan pangkalan data Oracle, mula berlatih dengan pernyataan pilih yang mudah, dan secara beransur -ansur menguasai pelbagai penyata SQL dan sintaks. Selepas itu, anda boleh mempelajari ciri -ciri canggih seperti PL/SQL, mengoptimumkan pernyataan SQL, dan merancang seni bina pangkalan data yang cekap untuk meningkatkan kecekapan dan keselamatan pangkalan data.

Kaedah untuk menyelesaikan masalah penutupan kursor Oracle termasuk: secara eksplisit menutup kursor menggunakan pernyataan Tutup. Mengisytiharkan kursor dalam klausa kemas kini supaya ia ditutup secara automatik selepas skop berakhir. Mengisytiharkan kursor dalam klausa menggunakan supaya ia secara automatik ditutup apabila pembolehubah PL/SQL yang berkaitan ditutup. Gunakan pengendalian pengecualian untuk memastikan kursor ditutup dalam keadaan pengecualian. Gunakan kolam sambungan untuk menutup kursor secara automatik. Lumpuhkan penyerahan automatik dan penangguhan kursor kelewatan.

Di Oracle, gelung gelung boleh membuat kursor secara dinamik. Langkah -langkahnya ialah: 1. Tentukan jenis kursor; 2. Buat gelung; 3. Buat kursor secara dinamik; 4. Melaksanakan kursor; 5. Tutup kursor. Contoh: Kursor boleh dibuat kitaran demi litar untuk memaparkan nama dan gaji 10 pekerja teratas.

Prosedur, fungsi dan pakej dalam OraclePL/SQL digunakan untuk melaksanakan operasi, mengembalikan nilai dan menyusun kod, masing -masing. 1. Proses ini digunakan untuk melakukan operasi seperti mengeluarkan salam. 2. Fungsi ini digunakan untuk mengira dan mengembalikan nilai, seperti mengira jumlah dua nombor. 3. Pakej digunakan untuk mengatur unsur -unsur yang relevan dan meningkatkan modulariti dan mengekalkan kod, seperti pakej yang menguruskan inventori.

Untuk menanyakan saiz ruang meja oracle, ikuti langkah -langkah berikut: Tentukan nama meja dengan menjalankan pertanyaan: pilih Tablespace_Name dari DBA_TableSpaces; Tanya saiz meja dengan menjalankan pertanyaan: pilih jumlah (bait) sebagai total_size, jumlah (bytes_free) sebagai tersedia_space, jumlah (bytes) - jumlah (bytes_free) sebagai digunakan_space dari dba_data_files di mana tablespace_

Untuk melihat pangkalan data Oracle, anda boleh menggunakan SQL*PLUS (menggunakan arahan pilih), pemaju SQL (antara muka graphy), atau paparan sistem (memaparkan maklumat dalaman pangkalan data). Langkah -langkah asas termasuk menyambung ke pangkalan data, penapisan data menggunakan pernyataan pilih, dan mengoptimumkan pertanyaan untuk prestasi. Di samping itu, pandangan sistem menyediakan maklumat terperinci mengenai pangkalan data, yang membantu memantau dan menyelesaikan masalah. Melalui amalan dan pembelajaran yang berterusan, anda dapat meneroka misteri pangkalan data Oracle.
