Oracle共享池
来源:互联网 发布:宁夏网络安全教育平台 编辑:程序博客网 时间:2024/06/06 02:37
Oracle共享池(Share Pool)属于SGA,由库高速缓存(library cache)和数据字典高速缓存(data dictionary cache)组成。
库高速缓存
Oracle引入库高速缓存的目的是共享SQL和PL/SQL代码。
服务器进程执行SQL和PL/SQL时,首先会进入库高速缓存查找是否有相同的SQL,如果有,就不再进行后续的编译处理,直接使用已经编译的SQL和执行计划。
Oracle通过比较两条SQL语句的正文来确定两条SQL是否相同,所以如果想共享SQL语句,必须使用绑定变量的方式。如:
select * from emp where sal > 100和select * from emp where sal > 101是不同的,而使用绑定变量时,即使v_sal的值不同,Oracle认为select * from emp where sal > &v_sal也是相同的。
Oracle使用LRU队列和算法来管理库高速缓存,最近使用过的SQL会放在队首,长时间没有使用的SQL放在队尾,当库高速缓存需要内存空间而又没有空闲的内存空间时,队尾内存中的SQL会被清除,放入最新的SQL,并且队首会指向次段内存。
Oracle没有提供直接修改库高速缓存大小的方法,只能通过修改共享池的大小来间接修改库高速缓存的大小。
数据字典高速缓存
当Oracle执行SQL时,会将相关的数据文件、表、索引、列、用户、其他的数据对象的定义和权限信息存放到数据字典高速缓存中。在此之后,如果需要相同的相关数据,Oracle会从数据字典高速缓存中提取。
Oracle没有提供直接修改 数据字典高速缓存大小的方法,只能通过修改共享池的大小来间接修改 数据字典高速缓存的大小。
修改共享池的大小
alter system set shared_pool_size= xxx m
0 0
- oracle共享池
- Oracle共享池
- oracle共享池
- oracle中的SGA-共享池
- 更改oracle共享池(Shared_pool_size)大小
- oracle性能优化-共享池调整
- ORACLE软解析与共享池
- Oracle共享服务器配置
- 增多oracle共享内存储器
- Oracle自适应共享游标
- Oracle自适应共享游标
- oracle共享服务器模式
- oracle共享server设置
- Oracle共享磁盘配置
- oracle刷新共享池命令,与影响共享池命中的参数
- Oracle数据库中共享池的一些理解
- [Oracle]性能优化调整(一)--调整共享池
- [Oracle]性能优化调整(一)--调整共享池
- 证书相关,包括APP ID 分发证书 描述文件
- 从CCObject看Cocos2d-x的拷贝机制
- Windows 安装Qt+VS2010/MinGW
- BeautifulSoup的高级应用 之 contents children descendants string strings stripped_strings
- HDOJ 5399 Too Simple
- Oracle共享池
- 257 Binary Tree Paths
- logback logback.xml 常用配置详解
- php学习笔记1
- 1006--UML类图几种关系的总结
- 九度oj 1089
- PHP学习,数据库操作
- 掌握业务领域知识
- 电路中最优数据通路截取求解