暂无图片
open_cursors和session_cached_cursor参数设置多少相对合适
我来答
分享
Edward
2022-09-21
open_cursors和session_cached_cursor参数设置多少相对合适

1、oracle 11.2.0.4 RAC,物理内存125.3GB
软解析比例良好在97%,目前在87-89%之间

高峰期目前open_cursors和session_cached_cursor的使用率如下
image.png
使用
select a.value/b.value rate
from (SELECT NAME, VALUE FROM VSYSSTATWHERENAMELIKEsessioncursorcachehits)a,(SELECTNAME,VALUEFROMVSYSSTAT WHERE NAME LIKE 'session cursor cache hits') a, (SELECT NAME, VALUE FROM VSYSSTAT WHERE NAME LIKE ‘parse count (total)’) b;
结果

rate
0.6588695768444243874884169232374174008762

2、sga和pga的参数如下:
sga_max_size 84825604096
pga_aggregate_target 19327352832

3、此论坛中帖子https://www.modb.pro/doc/56411说是要查询判断open_cusor是否合理的话可以通过查询历史游标打开的最大值来分析,历史最大打开游标数小于数据库中参数设置值,用如下方法
SELECT a.INST_ID,MAX(A.VALUE) AS HIGHEST_OPEN_CUR, P.VALUE AS MAX_OPEN_CUR
FROM gVSESSTATA,VSESSTAT A, VSTATNAME B, gV$PARAMETER P
WHERE A.STATISTIC# = B.STATISTIC#
and a.INST_ID=p.INST_ID
AND B.NAME = ‘opened cursors current’
AND P.NAME = ‘open_cursors’
GROUP BY a.INST_ID,P.VALUE;
查询结果:

INST_ID HIGHEST_OPEN_CUR MAX_OPEN_CUR
2 34 4000
1 34 4000

4、问题,HIGHEST_OPEN_CUR 最大值才34,是否为我找的方法是否正确,如果正确按照现在的参数设置,调整到多少合适?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
刘贵宾
暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
愤怒的蜗牛
2022-09-22
学习
Edward

按照这个帖子给的建议,session cursor cache hits就是系统在高速缓存区中找到相应cursors的次数,parse count(total)就是总的解析次数,二者比值越高,性能越好。如果比例比较低,并且有较多剩余内存的话,可以考虑加大该参数。
现在的比值是0.66,则应该加大参数值了对吧?
另外判断’session_cached_cursors’ 的使用情况。如果使用率为100%则增大这个参数值,高峰期为351%,低值为39%,是否应该加大session_cached_cursors参数值呢,目前为3500?

暂无图片 评论
暂无图片 有用 0
打赏 0
2022-09-22
呃呃的
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle RAC环境dbca安装过程中的检查对本节点和远端节点的检查脚本是哪个?
回答 1
已采纳
/u01/app/11.2/gridhome/bin/cluvfystagepredbcfgnora11rac1,ora11rac2verbosed/u01/app/oracle/product/11
Oracle: insert into .. with A as (查询),B as (查询) 这种 插入数据语句, 想改成一个查询语句 ,应该怎么修改?
回答 1
要将"insertinto...withAas(查询),Bas(查询)"这样的插入数据语句改为查询语句,您需要使用SELECT语句来执行相应的查询操作。假设您的原始插入语句如下:sql复制代码INSE
Oracle 12c dataguard搭建时rman同步数据报错:ORA-17627: ORA-12528
回答 4
已采纳
实例blocked很明显了,先把实例关了,确认都关闭完,再把实例启动到nomount,确认监听状态没有blocked,就可以了
oracle11.2.0.4 sysaux表空间过大
回答 1
这是一个BUG,可以通过truncate释放空间。推荐的做法是先备份SQLProfile,以便你可能还需要它们。STEP1–PackalltheprofilesintheSTAGINGtable.Ex
查询Oracle数据库归档日志路径的sql怎么写?
回答 1
用archiveloglist或者showparameterdest
Oracle执行计划中的A-Rows列的M怎么换算?
回答 2
简单理解就是(除开OMem,1Mem,UsedMem):  K表示10^3,比如150K就是150000  M表示10^6,150M就是150000000当然,
Oracle12c升级
回答 5
第一,你可以尝试做个测试环境,oracle21可以在oracle官网下载第二,安装过程可以在百度或一些博客网站搜索第三,数据库迁移是一个繁琐的过程,如果你没有经历过就不要去做,数据丢失有可能你也得走人
ORACLE存储过程,数据量大概1亿2千万,跑了90分钟,这种速度正常吗?
回答 2
使用PLSQLDeveloper调试一下存储过程,看看是那步花费时间多了
Oracle中在system下建立job,怎么指定到别的用户建立job运行?
回答 1
已采纳
登录该用户创建
Oracle 存储过程中可以 load 数据文件吗?
回答 2
这操作放数据库里,感觉别扭呢。用JAVA这类东西处理不是很好吗。