Rumah > Artikel > pangkalan data > Bagaimana untuk menanyakan kebuntuan dalam oracle
Dalam Oracle, anda boleh menggunakan pernyataan pilih untuk bertanya kebuntuan Penyataan ini digunakan untuk pertanyaan data mudah Sintaks ialah "pilih * dari v$session di mana sid in (pilih session_id daripada v$locked_object)". .
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.
1. Semak kebuntuan
1) Gunakan pengguna dba untuk melaksanakan pernyataan berikut
select username,lockwait,status,machine,program from v$session where sid in (select session_id from v$locked_object)
Jika ada adalah hasil keluaran, ini bermakna terdapat kebuntuan, dan anda boleh melihat mesin mana yang menjadi kebuntuan. Penerangan medan:
Nama pengguna: pengguna pangkalan data yang digunakan dalam penyataan kebuntuan; , ini bermakna ia sudah mati.
Status: Status, aktif bermaksud buntu
Mesin: Mesin di mana kenyataan kebuntuan terletak.
Program: Aplikasi manakah yang menjana penyataan kebuntuan terutamanya
2) Gunakan pengguna dba untuk melaksanakan pernyataan berikut, anda boleh melihat kebuntuan? Kenyataan kunci.
select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where sid in (select session_id from v$locked_object))2) Matikan proses buntu: ubah sistem kill session 'sid, serial#'; (di mana sid=l.session_id)Tutorial yang disyorkan: "
SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#, l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;Tutorial Video Oracle
"
Atas ialah kandungan terperinci Bagaimana untuk menanyakan kebuntuan dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!