Rumah > pangkalan data > Oracle > Bagaimana untuk menanyakan kursor dalam Oracle

Bagaimana untuk menanyakan kursor dalam Oracle

青灯夜游
Lepaskan: 2022-03-16 16:13:17
asal
10121 orang telah melayarinya

Kaedah pertanyaan: 1. Gunakan "select count(*) from v$open_cursor"; 2. Gunakan "SELECT A.USER_NAME,COUNT(*) FROM V$OPEN_CURSOR A GROUP BY A.USER_NAME".

Bagaimana untuk menanyakan kursor dalam Oracle

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Oracle 11g, komputer Dell G3.

1 Lihat bilangan kursor sistem (bilangan kursor maksimum)

select value from v$parameter where name = 'open_cursors';show parameter open_cursors;
Salin selepas log masuk

Bagaimana untuk menanyakan kursor dalam Oracle


2 Lihat bilangan kursor yang sedang dibuka

select count(*) from v$open_cursor;
Salin selepas log masuk

Bagaimana untuk menanyakan kursor dalam Oracle


3. Lihat penggunaan Kursor

select o.sid, osuser, machine,o.sql_id,o.sql_text,o.cursor_type, count(*) num_curs from v$open_cursor o, v$session s where user_name = 'GLOGOWNER' and o.sid = s.sid group by o.sid, osuser, machine,o.sql_id,o.sql_text,o.cursor_type order by num_curs desc;
Salin selepas log masuk

Bagaimana untuk menanyakan kursor dalam Oracle


4. Ubah suai bilangan maksimum kursor Oracle

Mengikut penghunian kursor, analisa sama ada program yang mengakses pangkalan data mengeluarkan sumber secara normal Jika tiada masalah dengan program mengeluarkan sumber, tambahkan bilangan kursor.

alter system set open_cursors=2000 scope=both;
Salin selepas log masuk

Bagaimana untuk menanyakan kursor dalam Oracle


5. Jumlah bilangan kursor terbuka untuk setiap pengguna

SELECT A.USER_NAME, COUNT(*) FROM V$OPEN_CURSOR A GROUP BY A.USER_NAME;
Salin selepas log masuk

Bagaimana untuk menanyakan kursor dalam Oracle


6 Cari bilangan kursor cache untuk setiap terminal setiap pengguna dalam pangkalan data

SELECT AA.USERNAME, AA.MACHINE, SUM(AA.VALUE) FROM (SELECT A.VALUE, S.MACHINE, S.USERNAME FROM V$SESSTAT A, V$STATNAME B, V$SESSION S WHERE A.STATISTIC# = B.STATISTIC# AND S.SID = A.SID AND B.NAME = 'session cursor cache count') AA GROUP BY AA.USERNAME, AA.MACHINE ORDER BY AA.USERNAME, AA.MACHINE;
Salin selepas log masuk
<. 🎜>

Bagaimana untuk menanyakan kursor dalam Oracle


7 Cari bilangan kursor terbuka untuk setiap terminal setiap pengguna dalam pangkalan data

<. 🎜>
SELECT AA.USERNAME, AA.MACHINE, SUM(AA.VALUE) FROM (SELECT A.VALUE, S.MACHINE, S.USERNAME FROM V$SESSTAT A, V$STATNAME B, V$SESSION S WHERE A.STATISTIC# = B.STATISTIC# AND S.SID = A.SID AND B.NAME = &#39;opened cursors current&#39;) AA GROUP BY AA.USERNAME, AA.MACHINE ORDER BY AA.USERNAME, AA.MACHINE;
Salin selepas log masuk

Bagaimana untuk menanyakan kursor dalam OracleTutorial Disyorkan: "

Tutorial Oracle

"

Atas ialah kandungan terperinci Bagaimana untuk menanyakan kursor dalam Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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