Rumah > Artikel > pangkalan data > Bagaimana untuk menanyakan kebuntuan dalam oracle
Dalam Oracle, anda boleh menggunakan pengguna dba untuk melaksanakan penyataan "pilih nama pengguna, lockwait, status, mesin, program daripada v$session where sid in" untuk menanyakan jalan buntu kebuntuan akan dipaparkan.
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 untuk pernyataan kebuntuan;
Status: Status, aktif bermakna buntu
Mesin: Mesin di mana pernyataan kebuntuan terletak.
Program: Daripada aplikasi manakah penyataan kebuntuan datang terutamanya
2) Gunakan pengguna dba untuk melaksanakan penyataan berikut untuk melihat penyataan kebuntuan.
2. Penyelesaian kepada kebuntuanselect 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))
1) Cari proses buntu:
2) Matikan proses buntu: ubah sistem kill session 'sid, serial#'; (di mana sid=l.session_id)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;
3) Jika masih tidak dapat diselesaikan:
Ganti sid dengan sisi kebuntuan:select pro.spid from v$session ses, v$process pro where ses.sid=XX and ses.paddr=pro.addr;
Disyorkan tutorial: "
Tutorial Video OracleAtas ialah kandungan terperinci Bagaimana untuk menanyakan kebuntuan dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!