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 数据类型: 字段类型 中文说明 限制条件 ...
随机推荐
- Html.Partial方法和Html.RenderPartial方法
分布视图 PartialView 一般是功能相对独立的,类似用户控件的视图代码片段,可以被多个视图引用,引用方式如下. 1,Html.Partial方法和Html.RenderPartial方法 静态 ...
- SQL之DCL
DCL(Data Control Language)数据库控制语言 授权,角色控制等GRANT 授权REVOKE 取消授权 1)授权命令 grant,语法格式(SQL语句不区分大小写):Grant ...
- .net Stream篇(五)
MemoryStream 目录: 1 简单介绍一下MemoryStream 2 MemoryStream和FileStream的区别 3 通过部分源码深入了解下MemoryStream 4 分析Mem ...
- Boost 安装详解
一 Linux(redhat)篇 1.1 获取boost库 解压tar -zxvf boost_1.48.0.tar.gz 进入解压目录cd boost_1_48_0 1.2 编译安装 使用下面的命令 ...
- ASP.NET jquery-1.9.1 语句
<script src="Script/jquery-1.9.1.js"></script> <script language="javas ...
- Socket 简易静态服务器 WPF MVVM模式(四)
最重要的一个类Socket类 using System; using System.Collections.Generic; using System.IO; using System.Linq; u ...
- git配置本地环境(phpstudy/tortoisegit/git等)
1.下载安装phpstudy 2.下载安装git 下载地址:https://git-scm.com/downloads 3.下载安装tortoisegit,电脑64位就下载这个,如图: 4.下载安装“ ...
- zookeeper安装和使用 windows
的 Zookeeper 是以 3.4.5 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单, ...
- 解决eclipse Building workspace(Sleeping)闪烁
出现这个是因为我,把两个有错的项目.从工程里面删除掉之后,再接着运行新的工程,但是Building workspace一直没有执行完毕,导致新的工程无法运行. 这个时候可以关闭自动编译,就可以运行新的 ...
- 题解 UVA10212 【The Last Non-zero Digit.】
题目链接 这题在学长讲完之后和看完题解之后才明白函数怎么构造. 这题构造一个$f(n)$ $f(n)$ $=$ $n$除以 $2^{a}$ $*$ $5^{b}$ ,$a$ , $b$ 分别是 $n$ ...