相克军_Oracle体系_随堂笔记005-Database buffer cache





SQL> show parameter writer NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_writer_processes integer 1
SQL> alter system set db_writer_processes = 2 scope=spfile;
--DBWn数量一般设定是服务器核心数/8.
alter system set db_cache_size=200m scope=both;
设置顺序:
sga_max_size
sga_target
db_cache_size
在OLTP系统中,buffer cache的大小一般设置为sga_max_size的2/3.
DB_CACHE_SIZE = SGA_MAX_SIZE/2 ~ SGA_MAX_SIZE*2/3
使用advice来确认buffer cache的大小
根据语句查询buffer cache该设置多大合适。减少I/O(物理读次数)
平日注意收集积累一些常用的语句》。
buffer header:
SQL> desc x$bh state:0~8
0,free
1,XCUR
2,SCUR
3,CR
4,READ 从block写入buffer的那个过程
5,MREC
6,IREC
7,write
8,pi SQL> select distinct state from x$bh;
非RAC环境下,current永远等于xcur。
RAC下,有scur
cr块被构造后被读出,就马上没意义了。。马上就可以被覆盖了。。
要修改一个块,只能修改current块。
Q:查看一个对象占用了多少不同状态的buffer?
select
o.object_name,
decode(state,0,'free',1,'xcur',2,'scur',3,'cr',4,'read',5,'mrec',
6,'irec',7,'write',8,'pi') state,
count(*) blocks
from x$bh b, dba_objects o
where b.obj = o.data_object_id
and o.object_name = 'T2'
group by o.object_name, state
order by blocks desc
alter system flush buffer_cache;
select distinct object_name, dbarfil, dbablk from x$bh a, dba_objects b
where a.obj=b.object_id and object_name='T2';
select object_name, dbarfil, dbablk from x$bh a, dba_objects b
where a.obj=b.object_id and object_name='T2';
select
o.object_name,
decode(state,0,'free',1,'xcur',2,'scur',3,'cr',4,'read',5,'mrec',
6,'irec',7,'write',8,'pi') state,
count(*) blocks
from x$bh b, dba_objects o
where b.obj = o.data_object_id and state<>0
group by o.object_name, state
order by blocks asc;
select
obj object,
dbarfil file#,
dbablk block#,
tch touches
from x$bh
where tch>10
order by
tch asc;
select object_name, dbarfil, dbablk from x$bh a, dba_objects b
where a.obj=b.object_id and dbarfil=1 and dbablk=287
select sum(blocks) from dba_data_files;
select decode(state,0,'FREE',1,decode(lrba_seq,0,'AVAILABLE','BEING USED'),3,'BEING USED', state) "BLOCK STATUS",count(*)
from x$bh
group by decode(state,0,'FREE',1,decode(lrba_seq,0,'AVAILABLE','BEING USED'),3,'BEING USED',state);
BLOCK STATUS COUNT(*)
select sum(pct_bufgets) "Percent"
from (select rank() over (order by buffer_gets desc) as rank_bufgets, to_char(100 * ratio_to_report(buffer_gets) over(),'999.99')pct_bufgets from v$sqlarea)
where rank_bufgets < 11;
select disk_reads, substr(sql_text,1,4000)
from v$sqlarea
order by disk_reads asc;
iostat 1 10
vmstat 1 10
mpstat 1 10
mpstat -P 0 1
mpstat -P 1 1
top
free
相克军_Oracle体系_随堂笔记005-Database buffer cache的更多相关文章
- 相克军_Oracle体系_随堂笔记002-基础
1.常见的Oracle生产库环境: 图2-1可以说是标准的生产库环境,处处体现了冗余,有效防止了单点故障.这就是HA(高可用) 而且冗在某种条件下还可以去掉,平常实现同时运行提供服务,如果一台坏掉,另 ...
- 相克军_Oracle体系_随堂笔记001-概述
一.Oracle官方支持 1.在线官方文档 http://docs.oracle.com/ 2.metalink.oracle.com,如今已经改成:http://support.oracle.com ...
- 相克军_Oracle体系_随堂笔记003-体系概述
1.进程结构图 对Oracle生产库来讲,服务器进程(可以简单理解是前台进程)的数量远远大于后台进程.因为一个用户进程对应了一个服务器进程. 而且后台进程一般出问题几率不大,所以学习重点也是服务器进程 ...
- 相克军_Oracle体系_随堂笔记004-shared pool
本章主要阐述SGA中的shared pool. Shared pool { 1.free 2.library cache(缓存sql语句及其执行计划) 3.row cache(数据字典缓存) } ...
- 相克军_Oracle体系_随堂笔记006-日志原理
简单来说,学习Oracle数据库就两个目标: 保证数据库数据的一致性: 提高数据库的性能(这个和日志没关系). 日志的功能: 只是保证数据库数据的一致性: 1.Oracle日志原理 ...
- 相克军_Oracle体系_随堂笔记007-PGA
实际工作中,Oracle中有两个很重要:Server Process 和 PGA. PGA内存作用和构成 1.PGA作用 2.PGA构成 1)private SQL area 2)Sess ...
- 相克军_Oracle体系_随堂笔记008-存储结构
控制文件.数据文件.日志文件 放在存储上. 参数文件:数据库启动时读取,并不关闭,但是启动过后丢了也没事.一般放在服务器上. $ORACLE_HOME/dbs下 备份文件{ 控制 ...
- 相克军_Oracle体系_随堂笔记009-检查点队列
1.检查点队列 checkpoint queue RBA 日志块地址 redo block address LRBA 第一次被脏的地址 HRBA 最近一次被脏的地址 on disk rba 重做日志( ...
- 相克军_Oracle体系_随堂笔记010-SCN
1.SCN的意义?system change number 时间 先后.新旧 select dbms_flashback.get_system_change_number, SCN_TO ...
随机推荐
- 简单的jquery选项卡效果
html部分 <ul class="tab"> <li>最新</li> <li class="cur">热门&l ...
- JAligner的一个坑
JAligner是一个集成多个罚分矩阵的蛋白质序列比对工具包,提供充足的API供开发人员调用. 但是,不可否认的是,它的结构写得不够规范.以前我是将它放在普通的Java项目里使用,没有问题.但是,今天 ...
- centos6字符
[root@back_zabbix_100 ~]# echo $LANGen_US.UTF-8[root@back_zabbix_100 ~]# cat /etc/sysconfig/i18n LAN ...
- mysql 连接慢的问题(超过了1秒)
http://www.cnblogs.com/isenhome/p/5133547.html 症状描述 本机连接mysql速度很快 远程ping mysql主机速度正常 远程连接mysql速度需要等待 ...
- windows或mac上对iOS设备截图
1.需要在设备上安装插件“设置”--“开发者”的选项 2.启动"com.apple.mobile.screenshotr"服务 3.和设备scoket通讯,拿到截图.
- .NET面试题系列[15] - LINQ:性能
.NET面试题系列目录 当你使用LINQ to SQL时,请使用工具(比如LINQPad)查看系统生成的SQL语句,这会帮你发现问题可能发生在何处. 提升性能的小技巧 避免遍历整个序列 当我们仅需要一 ...
- 剑指Offer面试题:12.在O(1)时间删除链表结点
一.题目:在O(1)时间删除链表结点 题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点. 原文采用的是C/C++,这里采用C#,节点定义如下: public class ...
- .Net开发笔记(二十一) 反射在.net中的应用
反射概念在网上到处都有,但是讲到的具体的应用很少,一个重要的原因是现实中真的很少用得到它.引用msdn上对“反射”的解释: "通过 System.Reflection 命名空间中的类以及 S ...
- 《HiWind企业快速开发框架实战》(1)框架的工作原理
<HiWind企业快速开发框架实战>(1)框架的工作原理 1.HiWind架构 HiWind的基本架构如下: 持久层部分:同时为框架本身的业务服务,也为开发人员的自定义业务服务. 逻辑层: ...
- Entity Framework与ADO.NET批量插入数据性能测试
Entity Framework是.NET平台下的一种简单易用的ORM框架,它既便于Domain Model和持久层的OO设计,也提高了代码的可维护性.但在使用中发现,有几类业务场景是EF不太擅长的, ...