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 数据类型: 字段类型 中文说明 限制条件 ...
随机推荐
- jQuery 隐藏和显示
jQuery 隐藏和显示 通过 hide() 和 show() 两个函数,jQuery 支持对 HTML 元素的隐藏和显示: 实例 $("#hide").click(functio ...
- Linux下的多线程下载工具mwget
之前在做项目的时候,遇到一个难题,需要一个多线程下载器,于是阴差阳错的看到了这款工具--mwget,之所以是阴差阳错,是因为mwget的多线程下载功能,并不是我们想要的多线程. wget大家都知道吧, ...
- 【C#】CLR内存那点事(高级)
对于这篇,不想再对值类型进行讨论,如要看值类型的内存怎么玩可以看一下(CLR内存那点事 初级),我们这篇主要讨论一下引用类型. 先来装备两个类 internal class Employee { pu ...
- 简单好用的表单校验插件——jQuery Validate基本使用方法总结
jquery validate当前最新版本是1.17.0,下载链接是:https://github.com/jquery-validation/jquery-validation/releases/t ...
- 前端框架 json 返回值
layui: string strJson = "{\"code\": \"0\",\"msg\": \"\" ...
- Android TV 开发 (1)
本文来自网易云社区 作者:孙有军 前言 这里主要记录几个TV问题的解决方案,如果对这个不感兴趣的其实就不用往下看了. 这几天有一个需求就是要求出一个TV版本的app,之前没有具体的了解Tv版的app有 ...
- c++迭代递归实现汉诺塔(5种迭代方法满足你)
#include <iostream> //从A到C using namespace std; int n; void ready() { cout << "请输入汉 ...
- python3好用的mysql.connector库
python3好用的mysql.connector库 from mysql.connector import connect #建立mysql连接,生成一个mysql.connector对象 conn ...
- 【bzoj4817】树点涂色 LCT+线段树+dfs序
Description Bob有一棵n个点的有根树,其中1号点是根节点.Bob在每个点上涂了颜色,并且每个点上的颜色不同.定义一条路 径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色. ...
- P3185 [HNOI2007]分裂游戏
$ \color{#0066ff}{ 题目描述 }$ 聪聪和睿睿最近迷上了一款叫做分裂的游戏. 该游戏的规则试: 共有 n 个瓶子, 标号为 0,1,2.....n-1, 第 i 个瓶子中装有 p[i ...