ホームページ  >  記事  >  データベース  >  Oracle でカーソルをクエリする方法

Oracle でカーソルをクエリする方法

青灯夜游
青灯夜游オリジナル
2022-01-25 17:53:099946ブラウズ

クエリ メソッド: 1. "select count(*) from v$open_cursor" を使用します。 2. "SELECT A.USER_NAME,COUNT(*) FROM V$OPEN_CURSOR A GROUP BY A.USER_NAME" を使用します。

Oracle でカーソルをクエリする方法

このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。

#1. システム カーソルの数 (カーソルの最大数) を確認します。

select value from v$parameter where name = 'open_cursors';show parameter open_cursors;

Oracle でカーソルをクエリする方法


#2.現在開いているカーソルの数を確認します

select count(*) from v$open_cursor;

Oracle でカーソルをクエリする方法


##3.カーソルの使用法

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;

Oracle でカーソルをクエリする方法


#4. Oracle# のカーソルの最大数を変更します。 ##カーソル占有率に応じて:データベースにアクセスするプログラムがリソースを正常に解放しているか解析し、プログラムのリソース解放に問題がない場合はカーソルの数を増やします。

alter system set open_cursors=2000 scope=both;

Oracle でカーソルをクエリする方法


5.各ユーザーの開いているカーソルの合計数

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

Oracle でカーソルをクエリする方法


#6. データベース内の各ユーザーの端末ごとにキャッシュされたカーソルの数を見つけます

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;

Oracle でカーソルをクエリする方法


7. データベース内の各ユーザーの各端末で開いているカーソルの数を見つけます

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 = 'opened cursors current') AA GROUP BY AA.USERNAME, AA.MACHINE ORDER BY AA.USERNAME, AA.MACHINE;

推奨チュートリアル: 「Oracle でカーソルをクエリする方法Oracle チュートリアル

>>

以上がOracle でカーソルをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。