Dalam pengurusan pangkalan data, Oracle ialah pangkalan data yang sangat biasa digunakan dan penting. Dalam operasi dan penyelenggaraan, selalunya perlu untuk memantau pelaksanaan pangkalan data, terutamanya penyata SQL yang dilaksanakan, yang boleh membantu kami menjejak dan mengoptimumkan prestasi SQL. Dalam artikel ini, kami akan memperkenalkan cara untuk menanyakan pernyataan SQL yang dilaksanakan dalam pangkalan data Oracle.
Alat untuk menanya penyataan SQL aktif
Oracle menyediakan beberapa alatan untuk membantu kami menanyakan penyataan SQL aktif. Alat ini termasuk:
Skrip SQL untuk menanyakan penyata SQL yang melaksanakan
Dalam pangkalan data Oracle, kita boleh menggunakan dua paparan sistem V$SESSION dan V$SQL untuk menanyakan penyataan SQL yang aktif.
Paparan V$SESSION mengandungi semua maklumat sesi yang sedang aktif, termasuk SQL_ID bagi setiap sesi, yang merupakan pengecam pernyataan SQL yang dilaksanakan oleh setiap sesi.
Paparan V$SQL mengandungi maklumat tentang semua penyata SQL yang disusun, termasuk SQL_ID, SQL_TEXT, dsb.
Berikut ialah beberapa skrip SQL untuk menanyakan pernyataan SQL yang sedang dilaksanakan:
SELECT s , s.serial#, s.sql_id, s.sql_child_number, t.sql_text
DARI v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id '
DAN AKTIF'
DAN s.nama pengguna <> 'SYS';
Skrip ini akan mengembalikan SQL_ID dan teks SQL yang sepadan yang dilaksanakan oleh semua sesi aktif.
PILIH s.sid, s.serial#, s.nama pengguna, s.status, t.sql_id, t .sql_text,
s.last_call_et, s.logon_time, s.program, s.module, s.action
DARI v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t. 🎜>DAN s.status = 'AKTIF'
DAN s.nama pengguna <> 'SYS';
s.last_call_et, s.logon_time, s.program, s.module, s.action
DARI v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_id = t.sql_id >DAN s.status = 'ACTIVE'
AND s.username = 'your_username';
Skrip ini akan mengembalikan pernyataan SQL yang sedang dilaksanakan oleh pengguna dan maklumat terperinci yang sepadan.
DARI v$session s, v$sqltext_with_newlines t
WHERE s.sql_id = t.sql_idDAN s.nama pengguna <> 'SYS'
DAN s.sql_id IN (
PILIH MIN(sql_id)
DARI v$session
WHERE nama pengguna <> 'SYS'
DAN STATUS = 'AKTIF'
KUMPULAN MENGIKUT nama pengguna
);
Skrip ini akan mengembalikan pernyataan SQL yang pertama dilaksanakan, termasuk nama pengguna dan status , terkini masa berjalan, nama program, Tindakan, teks SQL, dsb.
Soal pernyataan SQL yang terakhir dilaksanakan
WHERE s.sql_id = t.sql>idDAN s.nama pengguna <> 'SYS'
DAN s.sql_id IN (
PILIH MAX(sql_id)
DARI v$session
WHERE nama pengguna <> 'SYS'
DAN STATUS = 'AKTIF'
KUMPULAN MENGIKUT nama pengguna
);
Skrip ini akan mengembalikan pernyataan SQL yang terakhir dilaksanakan, termasuk nama pengguna, status, Running terkini masa, nama program, Tindakan, teks SQL, dsb.
Ringkasan
Dalam pengurusan pangkalan data Oracle, kita selalunya perlu menanyakan pernyataan SQL yang sedang dilaksanakan. Oracle menyediakan pandangan sistem untuk menanya penyata SQL aktif Dengan menanyakan pandangan ini dan menggunakan skrip SQL, kami boleh dengan mudah menanyakan penyata SQL aktif dan maklumat berkaitan untuk mengoptimumkan dan memantau prestasi SQL. Pada masa yang sama, Pengurus Perusahaan Oracle dan Pembangun SQL Oracle juga menyediakan fungsi menanyakan pernyataan SQL, yang boleh dipilih dan digunakan mengikut keperluan peribadi.
Atas ialah kandungan terperinci pelaksanaan pertanyaan oracle sql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!