oracle 基础知识(八)----Library Cache *
一,介绍
Library cache是Shared pool的一部分,它几乎是Oracle内存结构中最复杂的一部分,主要存放shared curosr(SQL)和PLSQL对象(function,procedure,trigger)的信息,以及这些对象所依赖的table,index,view等对象的信息。
二,库缓存
01,存放的单元
Library存放的信息单元都叫做对象,这些对象可以分为两类:
(1) 存储对象:
(2) 过渡对象:
三,查看命中率
SQL> desc v$librarycache
Name Null? Type
----------------------------------------- -------- ----------------------------
NAMESPACE VARCHAR2(64)
GETS 某个object解析的时候查找的次数(解析阶段) NUMBER
GETHITS get命中次数 NUMBER
GETHITRATIO 这个值等于gethits/gets NUMBER
PINS object 解析过后被执行的次数(发生在执行阶段) NUMBER
PINHITS pin命中次数 NUMBER
PINHITRATIO 这个值等于pinhits/pins NUMBER
RELOADS某个object 解析过后被从新加载的次数(需要从新从磁盘读取object),也就是没有被缓存到library cache中,这个通常由于shared pool 过小 NUMBER
INVALIDATIONS 某个对象无效,通常由于对象定义被更改,需要从新解析 NUMBER
DLM_LOCK_REQUESTS NUMBER
DLM_PIN_REQUESTS NUMBER
DLM_PIN_RELEASES NUMBER
DLM_INVALIDATION_REQUESTS NUMBER
DLM_INVALIDATIONS NUMBER
查看总的library cache pinhitratio 应该大于90%,最理想大于95%
SQL> select sum(pinhits)/sum(pins) pinhitratio from v$librarycache; PINHITRATIO
-----------
.95701484
SQL> select sum(pins)/(sum(pins)+sum(reloads)) reloadhitratio from v$librarycache; RELOADHITRATIO
--------------
.995477741
查看reloadhitratio 应该小于1%
SQL> select sum(reloads)/sum(pins) from v$librarycache; SUM(RELOADS)/SUM(PINS)
----------------------
.004542493
查看各个类型的library cache ratio, 看pinhitratio 这一行
SQL> select namespace,pins pinhits ,pinhitratio from v$librarycache; NAMESPACE PINHITS
---------------------------------------------------------------- ----------
PINHITRATIO
-----------
SQL AREA 316416
.969154531 TABLE/PROCEDURE 81435
.94126604 BODY 48572
.998332373 NAMESPACE PINHITS
---------------------------------------------------------------- ----------
PINHITRATIO
-----------
TRIGGER 228
.903508772 INDEX 2622
.768878719 CLUSTER 668
.986526946 NAMESPACE PINHITS
---------------------------------------------------------------- ----------
PINHITRATIO
-----------
DIRECTORY 4
.5 QUEUE 6
.333333333 RULESET 3
.666666667 NAMESPACE PINHITS
---------------------------------------------------------------- ----------
PINHITRATIO
-----------
TEMPORARY TABLE 808
0 TEMPORARY INDEX 302
0 EDITION 1560
.998717949 NAMESPACE PINHITS
---------------------------------------------------------------- ----------
PINHITRATIO
-----------
DBLINK 0
1 OBJECT ID 0
1 SCHEMA 0
1 NAMESPACE PINHITS
---------------------------------------------------------------- ----------
PINHITRATIO
-----------
DBINSTANCE 0
1 SQL AREA STATS 3347
.035853003 SQL AREA BUILD 0
1 18 rows selected
查看当前 library cache 的大小
SQL> select sum(sharable_mem) from v$db_object_cache; SUM(SHARABLE_MEM)
-----------------
137677939
查看剩余的 shared pool
SQL> select * from v$sgastat where name='free memory' and pool='shared pool'; POOL NAME BYTES
------------ -------------------------- ----------
shared pool free memory 216291184
数据库的 library cache hitratio 最好应该在95%以上,sum(reloads)与sum(pins) 的比值应该小于 1%,如果pinhitratio 小于90%,或者reload ratio 大于1% ,而且shared pool 的free memory 很小或者为0,那么可以适当增加shared_pool的大小,检查应用程序代码效率,比如是否使用了绑定变量等等.
oracle 基础知识(八)----Library Cache *的更多相关文章
- Oracle基础知识汇总一
Oracle基础知识 以下内容为本人的学习笔记,如需要转载,请声明原文链接 https://www.cnblogs.com/lyh1024/p/16720759.html oracle工具: SQ ...
- 图说Oracle基础知识(一)
本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...
- oracle 基础知识(七)----动态性能视图
一,动态性能视图介绍 动态性能视图属于数据字典,系统管理员用户 SYS 可以访问它们.在数据库打开和使用时不断进行更新,而且它们的内容主要与性能有关.虽然这些视图很像普通的数据库表,但它们不允许用户直 ...
- Oracle Shared Pool之Library Cache
1. Shared Pool组成 Shared Pool由许多区间(Extent)组成,这些区间又由多个连续的内存块(Chunk)组成,这些内存块大小不一.从逻辑功能角度,Shared pool主要包 ...
- Oracle 基础知识入门
前记: 近来项目用到Oracle数据库,大学学了点,后面基本忘记得差不多了,虽然基本语法跟sql 差不多,但是oracle知识是非常多的. 这里简单说点基础知识,希望后面补上更多的关于ORacle知识 ...
- oracle 基础知识(九)----SQL解析
一,解析过程 二,硬解析,软解析,软软解析 01,硬解析 将SQL语句通过监听器发送到Oracle时, 会触发一个Server process生成,来对该客户进程服务.Server process得到 ...
- oracle基础知识(六)----spfile与pfile
一, 认识参数文件 Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的,决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值 ...
- oracle 基础知识(四) 构成
一, oracle服务 一个oracle 服务由一个oracle 实例和一个oracle数据库组成. oracle = instance + database 总体概念: 二, oracle 实例 0 ...
- 2008-03-18 22:58 oracle基础知识小结
oracle 数据类型: 字段类型 中文说明 限制条件 ...
随机推荐
- Java 线程不安全问题分析
当多个线程并发访问同一个资源对象时,可能会出现线程不安全的问题 public class Method implements Runnable { private static int num=50; ...
- EasyUI学习笔记(1)----Tree控件实现过程中.NET下无法访问json数据的解决办法
直接调用官网的Demo中的方法 , 将json数据存储在同目录下,但是在运行之后树没有出现,用FireBug调试,错误如下 不允许访问json数据,刚开始以为是权限不够,然后又给解决方案所在的文件夹设 ...
- POJ3026 Borg Maze(bfs求边+最小生成树)
Description The Borg is an immensely powerful race of enhanced humanoids from the delta quadrant of ...
- 牌型总数——第六届蓝桥杯C语言B组(省赛)第七题
原创 牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌.一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张.这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得 ...
- window7 下配置python2.7+tornado3.3开发环境
玩python的人大都在linux下进行开发,由于长期习惯在windows下开发代码,今天蛋疼尝试在window7下配置python2.7+tornado3.3开发环境,必然的中间遇到各种报错,但是最 ...
- Delphi7中的Char和XE中的Char
我用FillChar()函数时,发现两个版本中的Char不一样. 在delphi7中 procedure TForm2.Button1Click(Sender: TObject); var s: ar ...
- 没有为扩展名“.cshtml”注册的生成提供程序
新建的mvc4 项目,然后从其他项目里拷贝shared文件夹和_ViewStart.cshtml文件过去,然后在@符号上出现“没有为扩展名“.cshtml”注册的生成提供程序” 解决方法: 需要在项目 ...
- [转]Replace all UUIDs in an ATL COM DLL.
1. Introduction. 1.1 Recently, a friend asked me for advise on a very unusual requirement. 1.2 He ne ...
- ASP.NET Session原理及处理方法
session是怎么存储,提取的 1.在服务器端有一个session池,用来存储每个用户提交session中的数据,Session对于每一个客户端(或者说浏览器实例)是“人手一份”,用户首次与Web服 ...
- Jenkins 自动化部署asp.net
使用步骤 1.安装jenkins.git和vs,并确保机器上安装了.net framework 4.5和.net framework4.0 ,完成后访问http://localhost:8080. 2 ...