Читал и дядю Тома, и Natalku Roshak, и ответы на мои предыдущие вопросы. Но нужных ответов так и не нашёл
Пример:
--Малельнкая процедурка:
CREATE OR REPLACE PROCEDURE proc_t IS
a NUMBER;
BEGIN
a := 1;
INSERT INTO PROBA1 VALUES(a);
a := 2;
INSERT INTO PROBA1 VALUES(a);
END proc_t;
Вызываем ее в SQL+
SQL*Plus: Release 8.1.7.0.0 - Production on Ñð. Òðâ 31 08:36:01 2006
(c) Copyright 2000 Oracle Corporation. All rights reserved.
Connected to:
Oracle8i Enterprise Edition Release 8.1.7.2.0 - Production
With the Partitioning option
JServer Release 8.1.7.2.0 - Production
SQL> begin
2 proc_t();
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> select * from v$open_cursor where sid=(select sid from v$mystat where rownum=1)
2 ;
SADDR SID USER_NAME ADDRESS HASH_VALUE
-------- ---------- ------------------------------ -------- ----------
SQL_TEXT
------------------------------------------------------------
800E3A34 32 BUX 82EFAB6C 2273624951
select * from v$open_cursor where sid=(select sid from v$mys
800E3A34 32 BUX 82F30024 2747761965
INSERT INTO PROBA1 VALUES ( :b1 )
800E3A34 32 BUX 82F30024 2747761965
INSERT INTO PROBA1 VALUES ( :b1 )
SQL> select a.value, b.name
2 from v$mystat a, v$statname b
3 where a.statistic# = b.statistic#
4 and a.statistic#= 3;
VALUE NAME
---------- ----------------------------------------------------------------
3 opened cursors current
По моему мнению, как минимум 2 курсора не открыты в настоящий момент, а кешированы.
Вопросы:
1. Сколько у меня действительно открытых и сколько кешированных курсоров?
2. Можно ли определить конкретно, какие открытые, какие кешированные:
3. Сколько жрёт ресурсов и каких именно каждый открытый и каждый кешированный курсор?
------------------
Извините, с английским проблемы - читать читаю, вот понимаю с трудом