Rumah > pangkalan data > Oracle > pelaksanaan pertanyaan oracle sql

pelaksanaan pertanyaan oracle sql

WBOY
Lepaskan: 2023-05-18 11:19:07
asal
6978 orang telah melayarinya

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:

  1. Oracle Enterprise Manager (OEM) - Ini ialah alat visualisasi yang disediakan oleh Oracle, yang melaluinya kami boleh melihat pelaksanaan pangkalan data dengan mudah, termasuk pernyataan SQL aktif.
  2. Pembangun Oracle SQL - Ini ialah alat pembangunan popular yang termasuk alat pemantauan dan analisis praktikal yang boleh membuat pertanyaan untuk melaksanakan pernyataan SQL dan menganalisis prestasi SQL.
  3. Skrip SQL Oracle sendiri - Oracle menyediakan beberapa skrip SQL untuk menanyakan penyataan SQL aktif. Skrip ini boleh dimuat turun dari tapak web Oracle.

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:

  1. Menyiasat SQL_ID bagi 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.

  1. Soal butiran pernyataan SQL yang sedang dilaksanakan

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';

Skrip ini akan mengembalikan SQL_ID yang dilaksanakan oleh sesi aktif dan maklumat SQL terperinci, termasuk nama pengguna , status, masa berjalan baru-baru ini, nama program, Tindakan, teks SQL, dsb.

    Soal penyataan SQL yang dilaksanakan oleh pengguna
SELECT s.sid, s.serial#, s.username, 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.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.

Soal penyataan SQL yang pertama dilaksanakan
  1. PILIH s.sid, s.serial#, s.username, 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.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

  1. PILIH s.sid, s.serial#, s.nama pengguna, s.status, t.sql_id, t.sql_text,
  2. 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>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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan