oracle-sga-shared_pool

shared pool
缓冲sql语句和执行计划
shared pool由三部分组成
free
libray:缓存sql执行计划
row cathe :缓存数据字典
在这里插入图片描述
oracle-sga-shared_pool_第1张图片
硬解析:1判断语法2判断对象是否存在3有没有权限4 从n个执行方案中选出最优解,生成执行计划,这一步骤最消耗资源
如果没有缓存,就是硬解析
软解析没有第4步

ora-4031错误
1 大量的硬解析,2随后大的硬解析

oracle内存使用链chain的概念
1把组织的内存块串起来
2可以遍历
latch保护链,锁链
lirby cach
将sql语句转为数字挂在链上
找的时候通过链遍历
oracle-sga-shared_pool_第2张图片

减少硬解析的方式
sql共享
oracle-sga-shared_pool_第3张图片

大小写,空格都影响共享
oracle-sga-shared_pool_第4张图片
使用绑定变量来实现共享sql
在这里插入图片描述
oracle-sga-shared_pool_第5张图片
oracle-sga-shared_pool_第6张图片
保留区设置的大一点,当一些大对象阈值大于free cathe时,就直接去保留区找空间

设置shared pool和sga的大小
oracle-sga-shared_pool_第7张图片
在这里插入图片描述

你可能感兴趣的:(oracle,数据库)