• Oracle游标的查询


    The initialization parameter OPEN_CURSORS in INITSID.ORA determines the maximum number of cursors per user.

    Check the parameter specified by executing the following SQL:
    select * from v$parameter
    where name = 'open_cursors'

    /


    If you want more cursors to be opened at the same time, shut the database, change INITSID.ORA and restart the database.

    The cursors that are counted for this are those explicit cursors that you opened and never closed or the cursors the PL/SQL keeps open. If you use a lot of stored procedures, then you will see lot of cached cursors. From release 8.1, PL/SQL will close these cached cursors on commit.

    You can find the list of open cursors and the users who opened them by executing the following SQL:

    select user_name, status, osuser, machine, a.sql_text
    from v$session b,
    v$open_cursor a
    where a.sid = b.sid
    /


    But the above SQL will tell you about cursors opened at some point of time, but does tell you about currently open cursors. But the above SQL will helps us to track cursor leaks, which would need fixing, to avoid this error in the future.

    The SQL given below will tell you how many are open truly.

    select a.value, b.name
    from v$mystat a, v$statname b
    where a.statistic# = b.statistic#
    and a.statistic#= 3

    /


    The closing of the cursor change based on the tool you use:

    In JDBC, preparedStatement.close() does closes the cursor.
    In PRO*C EXEC SQL CLOSE ; does it.
    In OCI -- there is an API call to close a statement

    These statements will make sure you close every explicitly opened cursor.

    查询游标所在的应用程序和所在的中端(电脑):
    select * from (
    select terminal,program,count(*)  SQLCount from v$session
    group by terminal,program)
    order by SQLCount desc

    人生有三宝:终身运动,终身学习,终身反醒.吸收新知,提高效率,懂得相处,成就自己,也成就他人,创造最高价值。
  • 相关阅读:
    [SQL Server] 数据库日志文件自动增长导致连接超时的分析
    Visual Studio 2003/Visual Studio 2005常用快捷键(快捷方式)
    設置RichTextBox控件中選中的部分的文字突顯
    電功率單位
    一名25岁的董事长给大学生的18条忠告
    計算機端口
    學習使用Directionary與Hastable
    VS .NET如何切換環境
    VS .NET(C#)如何動態創建控件
    VS .NET(C#)測試程序記錄時間方法
  • 原文地址:https://www.cnblogs.com/jimeper/p/304841.html
Copyright © 2020-2023  润新知