精华内容
下载资源
问答
  • 用oracle 的ADDM生产了报告,其中建议修改open_cursors和session_cached_cursors的参数值。 如: FINDING 3: 15% impact (1673 seconds)----...

     

    用oracle 的ADDM生产了报告,其中建议修改open_cursors和session_cached_cursors的参数值。

    如:

    FINDING 3: 15% impact (1673 seconds)
    ------------------------------------
    Soft parsing of SQL statements was consuming significant database time.

       RECOMMENDATION 1: Application Analysis, 15% benefit (1673 seconds)
          ACTION: Investigate application logic to keep open the frequently used
             cursors. Note that cursors are closed by both cursor close calls and
             session disconnects.

       RECOMMENDATION 2: DB Configuration, 15% benefit (1673 seconds)
          ACTION: Consider increasing the maximum number of open cursors a session
             can have by increasing the value of parameter "open_cursors".
          ACTION: Consider increasing the session cursor cache size by increasing
             the value of parameter "session_cached_cursors".
          RATIONALE: The value of parameter "open_cursors" was "300" during the
             analysis period.
          RATIONALE: The value of parameter "session_cached_cursors" was "20"
             during the analysis period.

       SYMPTOMS THAT LED TO THE FINDING:
          SYMPTOM: Contention for latches related to the shared pool was consuming
                   significant database time. (30% impact [3316 seconds])
             INFO: Waits for "latch: library cache" amounted to 12% of database
                   time.
                   Waits for "library cache pin" amounted to 4% of database time.
                   Waits for "latch: shared pool" amounted to 13% of database
                   time.
             SYMPTOM: Wait class "Concurrency" was consuming significant database
                      time. (36% impact [3882 seconds])

     

    SQL> show parameter cursors

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- -----------------------
    open_cursors                         integer     300
    session_cached_cursors               integer     20
    SQL>

    alter system set open_cursors=1500 scope=both;

    alter system set session_cached_cursors=100 scope=spfile;  (初始化文件使用了spfile)

     

    open_cursors:该参数含义是同一个session同时打开最多在使用的游标数。
    在Oracle10.2.0.1.0版本中默认为300;

    session_cached_cursors:SESSION_CACHED_CURSORS,就是说的是一个session可以缓存多少个cursor,让后续相同的SQL语句不再打开游标,从而避免软解析的过程来提高性能。(绑定变量是解决硬解析的问题),软解析同硬解析一样,比较消耗资源.所以这个参数非常重要。
    在Oracle10.2.0.1.0版本中默认为20

     

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-573243/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/12778571/viewspace-573243/

    展开全文
  • 在sqlplus中修改open_cursors

    千次阅读 2012-04-26 18:01:21
    \admin\orcl\pfile\init.ora文件(名字类似于这样),在这个文件中找到open_cursors 在sqlplus中查看 open_cursors的数值: 在sqlplus中执行 SELECT v.name, v.value value FROM V$PARAME...
    http://www.zhuoda.org/air_tuyh/79921.html

    \admin\orcl\pfile\init.ora文件(名字类似于这样),在这个文件中找到open_cursors

    在sqlplus中查看 open_cursors的数值:


    在sqlplus中执行

    SELECT v.name, v.value value FROM V$PARAMETER v WHERE name = 'open_cursors';

    看看value是多少

    使用下面的命令可以修改它的大小:

    在 oracle9i 中应该可以直接进行修改:
    alter system set open_cursors=30000;
    如果可以就直接生效了;如果不行可以使用下面的语句:
    alter system set open_cursors=30000 scope=spfile;
    然后重启数据库生效
    展开全文
  • 1.查看游标最大数: show parameter open_cursors; 2.修改open_cursors alter system set open_cursors=1000; commit;
    1.查看游标最大数:

    show parameter open_cursors;

    2.修改open_cursors
    alter system set open_cursors=1000;
    commit;

    展开全文
  • 若数据库设置游标数太少,可直接修改open_cursors,一般不采用 SQL> alter system set open_cursors=1000; 系统已更改。 SQL> commit; 提交完成。 SQL> show parameter open_cursors; NA

    Oracle——游标的问题

    1.命令窗口

    –查看游标个数在这里插入图片描述

    PLSQL > 新建命令窗口

    		  SQL> show parameter open_cursors;
    
    –新增游标数量,一般不采用

    若数据库设置游标数太少,可直接修改open_cursors,一般不采用

    SQL> alter system set open_cursors=1000;
    
    系统已更改。
    
    SQL> commit;
    
    提交完成。
    
    SQL> show parameter open_cursors;
    
    NAME                               TYPE        VALUE
    ---------------------------------- ---------- -------------
    open_cursors                       integer     1000
    

    2.sql窗口查看

    PLSQL >新建sql窗口

    (1)查看游标个数
    select value from v$parameter where name = 'open_cursors';
    
    (2)查看用户名和用户SID
    SELECT a.value, s.username, s.sid, s.serial# 
    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' 
    AND s.username IS NOT NULL 
    ORDER BY 1 DESC;
    
    (3)查看正在打开的游标数
    select o.sid, osuser, machine, count(*) num_curs
    from v$open_cursor o, v$session s
    where user_name = '用户名' and o.sid=s.sid
    group by o.sid, osuser, machine
    order by  num_curs desc;
    

    注意:用户名 修改成你要查的用户名,注意大小写,根据(2)查出用户名查询

    (4)查看打开游标最多的SQL语句
    SELECT s.machine, oc.user_name, oc.sql_text, count(1)
      FROM v$open_cursor oc, v$session s
     WHERE oc.sid = s.sid
       AND user_name != 'SYS'
     GROUP BY user_name, sql_text, machine
    HAVING COUNT(1) > 5
     ORDER BY count(1) DESC;
    
    (5)查看统计信息中的游标打开的最大值
    SELECT MAX(a.value) as highest_open_cur, p.value as max_open_cur
    FROM v$sesstat a, v$statname b, v$parameter p
    WHERE a.statistic# = b.statistic#
    AND b.name = 'opened cursors current'
    AND p.name = 'open_cursors'
    GROUP BY p.value;
    

    4.Java代码中出现ORA-01000错误的原因

    这样的错误出现在Java代码中的主要原因是:Java代码在执行conn.createStatement()和 conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。尤其是,如果你的 createStatement和prepareStatement是在一个循环里面的话,就会非常容易出现这个问题。因为游标一直在不停的打开,而且没有关闭。
    一般来说,我们在写Java代码的时候,createStatement和prepareStatement都应该要放在循环外面,而且使用了这些 Statment后,及时关闭。最好是在执行了一次executeQuery、executeUpdate等之后,如果不需要使用结果集(ResultSet)的数据,就马上将Statement或PreparedStatement关闭。
    对于出现ORA-01000错误这种情况, 请务必检查代码中的隐患,进行修改
    如果你不使用连接池,那么就没有什么问题,一旦Connection关闭,数据库物理连接就被释放,所有相关Java资源也可以被GC回收了。
    但是如果你使用连接池,那么请注意,Connection关闭并不是物理关闭,只是归还连接池,所以PreparedStatement和 ResultSet都被持有,并且实际占用相关的数据库的游标资源,在这种情况下,只要长期运行,往往就会报“游标超出数据库允许的最大值”的错误,导致程序无法正常访问数据库。

    展开全文
  • 操作步骤: (1) 以oracle身份登录数据库,命令:su – oracle (2) 进入Sqlplus控制台,命令:sqlplus /nolog (3) 以系统管理员登录,命令:connect / as sysdba ...(5)修改open_cursors SQL&...
  • 今天登陆BPM测试系统报... 检查系统pfile文件*.open_cursors=300,*.processes=500 但查了网上资料说游标数小.但感觉是processes偏小.由于对oracle不是很熟悉,故先修改open_cursors=800进行测试 操作如下: C:\Users
  • 目录 查看系统游标数(默认300) ...selectvaluefromv$parameterwherename='open_cursors'; 命令行: show parameter open_cursors; 修改游标数 SQL>altersystemsetopen_cursors=1000scope=both; ...
  • ORACLE查看与修改最大游标数 前提是:链接数据库 查看游标数: show parameter open_cursors; 修改游标数:(修改) alter system set open_cursors=1000 scope=both;
  • 查看当前游标数show parameter open_cursors; 修改游标最大数 alter system set open_cursors=1000; commit; 查看游标消费情况 select o.sid, osuser, machine, count(*) num_curs from v$open_cursor o, v$...
  • oracle修改游标数

    2017-05-24 10:21:26
    运行cmd命令:sqlplus 用dba权限的用户登录数据库 SQL> alter system set open_cursors=4600 scope=both; SQL> show parameter open_cursors; 至此数据库游标数改为4600;
  • 修改Oracle游标数

    2014-03-22 16:44:47
    修改游标数: 连接数据库 ...show parameter open_cursors; 查看正在使用的游标数 select count(*) from v$open_cursor; 修改游标数 alter system set open_cursors=5000 scope=both; 注
  • Oracle查看当前打开的游标数目 select count(*) from v$open_cursor;...SQL> alter system set open_cursors=1000 scope=both;  系统已更改。 SQL> show parameter open_cursors;   NAME
  • 恢复默认值alter system reset open_cursors scope=spfile sid='*';为修改加入注释alter system set open_cursors=500 comment ='test ...
  • 1、用dba登录 2、修改游标最大数 alter system set open_cursors=1000 scope=both; 3、查看是否成功 show parameter open_cursors;
  • Oracle修改最大游标数

    2012-11-05 16:48:00
    select value from v$parameter where name = 'open_cursors';--查询数据库最大有标题 alter system set open_cursors=20000 scope=both; --修改最大游标数 转载于:...
  • oracle数据库只允许在同一个会话中,打开300个光标打开SQL PLUS:输入show parameter cursor修改光标数的限制:alter system set open_cursors=400 scope=both;scope...
  • oracle 游标

    2012-09-20 18:03:33
    1. 修改open_cursorsSQL>conn sys as sysdba SQL>alter system set open_cursors=1500 scope=both;2. 或者:List<TraitStrTrees> list它的元素个数太多,你不用枚举完它...
  • oracle数据库忽然连不上了,一查是游标数量超了。...修改游标数alter system set open_cursors = 10000;3.获取打开的游标数select o.sid, osuser, machine, count(*) num_cursfrom v$open_cursor o, v$session swher...
  • SELECT NAME, VALUE DISPLAY_VALUE, ISDEFAULT FROM V$PARAMETER WHERE NAME = 'open_cursors'; //修改游标数量 alter system set open_cursors = 2000; //修改游标过时阈值 //备注:oracle 12.2.0.1.0数据库参数_...
  • show parameter open_cursors 2.修改游标数 alter system set open_cursors = 10000; 3.获取打开的游标数 select o.sid, osuser, machine, count(*) num_curs from v$open_cursor o, v$session s where user_...
  • 修改Oracle 游标方法:打开sqlplus-->登录--->sql>show parameter open_cursors; //用于显示当前设置的游标数sql>alter system set open_cursors=200; //设置游标数为200;sql>commit; //提交 以下转自:...
  • 修改游标

    2013-04-27 16:39:02
    SQL> show parameter open_cursors;   NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ open_cursors
  • oracle游标设置

    2012-05-07 19:03:50
    查看当前打开的游标数。 select name,value from v$sysstat where name='opened cursors ...show parameter open_cursors; 修改最大游标 alter system set open_cursors=1000; //打开游标的个数 select ...
  • -修改默认值150,最大连接数alter system set processes = 3000 scope = spfile; -修改默认300,最大游标数alter system set open_cursors=1000 scope=both;
  • 1 修改默认的参数,比如sga,pga --回滚时间1小时 alter system set undo_...alter system set open_cursors=500 scope=both; --单个session连接数 alter system set open_links=255 scope=spfile; 修改最...
  • sqlplus中切换管理员: conn sys/password@localhost:1521/orcl as sysdba show parameter abcd alter system set open_cursors = 400 scope=both;
  • 修改Oracle最大游标数

    2010-03-12 11:02:00
    oracle 默认的游标数为300,如果需要修改 以system用户进入 1.查看游标 show parameter open_cursor 2. 修改游标 alert system set open_cursors=1000 ,scope=borth;
  • Oracle常用参数设置

    2010-04-28 20:55:00
    查询当前使用的游标数据:select count(*) from v$open_cursor查询当前最大游标数:show ...修改最大游标数:alter system set open_cursors=1000 scope=spfile;=================================================
  • --查看最大游标数 ...SQL>alter system set open_cursors=5000;   --查看总进程信息 select count(*) from v$process; --各库当前session总个数 select s.STATUS, count(*) from v$sessio

空空如也

空空如也

1 2 3 4
收藏数 62
精华内容 24
关键字:

修改open_cursors