如何找出Oracle instance中当前打开游标open cursor的总数

如何找出Oracle instance中当前打开游标open cursor的总数,第1张

对open cursor的监控

WITH a AS (SELECT VALUE init_open_cursors

FROM v$parameter

WHERE name = 'open_cursors'),

b AS (SELECT MAX (max_cursors) curr_max_cursors

FROM ( SELECT MAX (aVALUE) max_cursors

FROM v$sesstat a, v$statname b, v$session s

WHERE astatistic# = bstatistic#

AND ssid = asid

AND bname = 'opened cursors current'

GROUP BY ssid))

SELECT ROUND (bcurr_max_cursors / ainit_open_cursors 100, 2) ratio

FROM a, b;

declare @id int\x0d\declare @name varchar(50)\x0d\declare cursor1 cursor for --定义游标cursor1\x0d\select from table1 --使用游标的对象(跟据需要填入select文)\x0d\open cursor1 --打开游标\x0d\fetch next from cursor1 into @id,@name --将游标向下移1行,获取的数据放入之前定义的变量@id,@name中\x0d\while @@fetch_status=0 --判断是否成功获取数据\x0d\begin\x0d\update table1 set name=name+'1'\x0d\where id=@id --进行相应处理(跟据需要填入SQL文)\x0d\fetch next from cursor1 into @id,@name --将游标向下移1行\x0d\end\x0d\close cursor1 --关闭游标\x0d\deallocate cursor1

游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。游标提供了一种对从表中检索出的数据进行 *** 作的灵活手段。\x0d\使用游标的基本步骤: \x0d\1、声明游标。把游标与T-SQL语句的结果集联系起来。 \x0d\2、打开游标。 \x0d\3、使用游标 *** 作数据。 \x0d\4、关闭游标。\x0d\功能:\x0d\1、游标提供了一种对从表中检索出的数据进行 *** 作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。\x0d\2、游标能够实现按与传统程序读取平面文件类似的方式处理来自基础表的结果集,从而把表中数据以平面文件的形式呈现给程序。\x0d\3、游标把作为面向集合的数据库管理系统和面向行的程序设计两者联系起来,使两个数据处理方式能够进行沟通。\x0d\种类:\x0d\1、Transact_SQL游标\x0d\Transact_SQL游标是由DECLARECURSOR语法定义、主要用在Transact_SQL脚本、存储过程和触发器中。Transact_SQL游标主要用在服务器上,由从客户端发送给服务器的Transact_SQL语句或是批处理、存储过程、触发器中的Transact_SQL进行管理。Transact_SQL游标不支持提取数据块或多行数据。\x0d\2、API游标\x0d\API游标支持在OLEDB,ODBC以及DB_library中使用游标函数,主要用在服务器上。每一次客户端应用程序调用API游标函数,MSSQLSEVER的OLEDB提供者、ODBC驱动器或DB_library的动态链接库(DLL)都会将这些客户请求传送给服务器以对API游标进行处理。\x0d\3、客户游标\x0d\客户游标主要是当在客户机上缓存结果集时才使用。在客户游标中,有一个缺省的结果集被用来在客户机上缓存整个结果集。客户游标仅支持静态游标而非动态游标。由于服务器游标并不支持所有的Transact-SQL语句或批处理,所以客户游标常常仅被用作服务器游标的辅助。因为在一般情况下,服务器游标能支持绝大多数的游标 *** 作。由于API游标和Transact-SQL游标使用在服务器端,所以被称为服务器游标,也被称为后台游标,而客户端游标被称为前台游标。

以上就是关于如何找出Oracle instance中当前打开游标open cursor的总数全部的内容,包括:如何找出Oracle instance中当前打开游标open cursor的总数、游标的详细用法、什么是游标使用游标的基本步骤是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9657806.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存