版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle数据库性能优化第六讲:DB
CACHE分析与优化主讲人:白鳝Oracle的DB
CACHE存储最近使用过的数据块通过LRU算法管理(8i开始引入了tch)DB_BLOCK_SIZE定义了标准的数据块大小SGABuffer
Head第3页每个BUFFER都有一个头BH和BUFFER存储在相同的GRANULE里BH包含以下主要内容Buffer
headers
includeLRU链Hash链指向BUFFER的指针BufferHeadersGranuleBuffers多缓冲技术缓冲池的分类DEFAULT
POOL:通常使用的缓冲池KEEP
POOL:存放热点数据的缓冲池RECYCLE
POOL:临时统计使用的缓冲池使用多缓冲的好处提供缓冲池的效率减少数据库操作之间的相互影响减少LRU链相关闩锁的争用NK缓冲NK缓冲的目的是为不同块大小的表空间提供独立缓冲池NK缓冲池的优点配合独立块大小的表空间使用更为合理的将数据存储在不同块大小的表空间中减少热块冲突减轻LRU链的争用提高缓冲池的效率注意事项在创建NK表空间前先要配置好NK缓冲池热块冲突较为严重的数据可以通过减少BLOCKSIZE来优化行长度较大的表适合放到BLOCKSIZE较大的数据块中LOB字段适合使用较大的数据块使用KEEP
POOLKEEP
POOL的主要作用是最大限度减少IO存放最常用的对象减少DEFAULT
POOL对敏感数据的影响什么对象适合放入KEEP
POOL常用的表和索引相对静态的数据如何启用KEEP
POOL设置db_keep_cache_sizealert
table|index
...
storage
(buffer_pool
keep);DB
CACHE的优化要点要配置足够大的DB
CACHEDB
CACHE过小的迹象DB
CACHE命中率不高CACHE
BUFFER
CHAINS闩锁争用严重CACHE
BUFFER
LRU
CHAINS争用严重物理IO较大DBWR十分繁忙出现大量CHECKPOINT的等待双刃剑:DB
CACHE越大,CPU开销越大多缓冲池是一项十分优秀的技术NK
CACHE技术与NK表空间关于DB
CACHE的命中率DB
CACHE的命中率直接反映出DB
CACHE的效率一般针对OLTP系统,DB
CACHE的命中率越高越好OLAP系统的DB
CACHE命中率往往不高加大DB
CACHE提高命中率减少IO开销会消耗更多的物理内存和CPU资源关于DB
CACHE命中率的几个问题DB
CACHE的命中率并不是优化的核心所在优化DB
CACHE的核心所在是平衡IO量和物理内存之间的平衡资源紧张情况下优化DB
CACHECPU资源紧张时加大DBCACHE可能会消耗更多的CPU资源在某些情况下减少某些资源的IO等待可能会降低CPU资源IO资源紧张时加大DB
CACHE可以减少IO开销内存紧张时使用KEEPPOOLDB
CACHE分析分析DB
CACHE的总体性能分析DB
CACHE设置是否合理分析DB
CACHE调整的策略DB
CACHE分析小技巧(1)通过AWR报告查看LOAD
PROFILE和命中率指标~~~~~~~~~~~~Load
ProfilePerSecondPerTransactionRedosize:1,030,352.772,106.74Logicalreads:790,444.411,616.20Blockchanges:7,245.2014.81Physicalreads:18,130.4337.07Physical
writes:200.460.41Usercalls:25,398.8051.93Parses:6,705.1513.71Hard
parses:38.140.08Sorts:12,338.3125.23Logons:1.750.00Executes:11,005.2022.50Transactions:489.07%
Blocks
changed
per
Read:Rollback
per
transaction
%:0.920.34Recursive
Call
%:Rows
per
Sort:34.333.81Instance
Efficiency
Percentages
(Target100%)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~BufferNowait%:99.94RedoNoWait%:100.00Buffer
Hit%:97.71In-memory
Sort%:100.00Library
Hit%:99.90SoftParse%:99.43Execute
to
Parse%:39.07Latch
Hit%:99.89Parse
CPU
to
Parse
Elapsd
%:73.51%
Non-Parse
CPU:97.11DB
CACHE分析小技巧(2)通过AWR报告查看DB
CACHE相关闩锁Pct
Avg
Wait
PctGet
Get
Slps
Time NoWait
NoWaitLatch Requests Miss /Miss (s) Requests Misscachebuffer
handles765,5610.10.000cachebuffers
chains886,820,5190.10.1119823,647,9730.0cachebuffers
lru
chain931,5140.20.1023,741,5040.2DB
CACHE分析小技巧(3)通过AWR报告查看BUFFER
CACHE相关情况PNumber
of
CacheBuffers
Hit
%BufferGetsPhysicalReadsPhysicalWritesBuffer
CompleteWaits
WaitsBusyWaits2DK6,203,125744,37597.7
531,142,401012,077,0910119,319000
317,98800DB
CACHE分析小技巧(3)通过AWR报告查看DB
CACHE
AdvisoryPSize
forEstimate
(M)SizeFactrBuffersforEstimateEst
PhysicalReadFactorEstimatedPhysical
ReadsD29,952.63,715,9201.571,777,770,246D34,944.74,335,2401.401,583,288,243D39,936.84,954,5601.241,411,786,927D44,928.95,573,8801.111,261,570,495D49,9201.06,193,2001.001,136,170,566D50,0001.06,203,1251.001,134,324,766D54,9121.16,812,5200.911,030,197,173D59,9041.27,431,8400.83941,461,891D64,8961.38,051,1600.76863,666,000D69,8881.48,670,4800.70797,738,505D74,8801.59,289,8000.65742,123,542D79,8721.69,909,1200.61694,454,835D84,8641.710,528,4400.58652,546,848D89,8561.811,147,7600.54614,028,920D94,8481.911,767,0800.51578,615,501D99,8402.012,386,4000.48547,054,847DB
CACHE分析小技巧(4)通过图表分析1.510.5043.532.5200.511.522.5物理读物理读DB
CACHE分析小技巧(5)SELECT
size_for_estimate,
buffers_for_estimate,
estd_physical_read_factor,
estd_physical_readsFROM
V$DB_CACHE_ADVICEWHERE
nameANDblock_size=
'DEFAULT'=
(SELECT
value
FROM
V$PARAMETER
WHERE
name
=
'db_block_size')AND
advice_status
='ON';SIZE_FOR_ESTIMATE
BUFFERS_FOR_ESTIMATE
ESTD_PHYSICAL_READ_FACTOR
ESTD_PHYSICAL_READS3664
439451
3.4933 7.6854E
2DB
CACHE优化小技巧(6)查找放入KEEP
POOL的对象放入KEEP
POOL的对象最好从业务角度考虑通过X$BH中的TCH字段可以进行辅助筛选经验分享:分析X$BH的脚本Selectdecode(pd.bp_id,1,
'KEEP',
2,'RECYCLE',
3,'DEFAULT',
4,
'2KSUBCACHE',5,'4K
SUBCACHE',
6,'8K
SUBCACHE',7,
'16K
SUBCACHE',
8,'32K
SUBCACHE',
'UNKNOWN')
subcache,bh.object_name
object_name,bh.blocks,tchfromx$kcbwds
ds,x$kcbwbpd
pd,(select
/*+
use_hash(x)
*/
set_ds,
object_name,
count(*)
BLOCKS,tchfrom
obj$
o,
x$bh
x
where
o.dataobj#
=
x.objand
x.state!=0
and
o.owner#
!=0group
by
set_ds,,tch)
bh
where
ds.set_id
>=
pd.bp_lo_sidand
ds.set_id
<=
pd.bp_hi_sid
andpd.bp_size
!=
0
and
ds.addr=bh.set_dsorder
by
subcache,object_name;例子SUBCACHEOBJECT_NAMEBLOCKSTCHDEFAULTIDX_EXECORDER_BUREAUNO1023879DEFAULTIDX_EXECORDER_BUREAUNO1113243DEFAULTIDX_FILEWFPU_PUSTATE2293038DEFAULTIDX_FILEWFPU_PUSTATE2313148DEFAULTIDX_PREPAY_FAV_PLAN_USER2931145DEFAULTIDX_STAFF_STAFFNO101107DEFAULTIDX_TBA_ASKLIST_ASKDATE1,68119122DEFAULTIDX_TBA_ASKLIST_ASKDATE2,18413636DEFAULTIDX_TCH_FEELIST_LIST_PAYTIME3933005DEFAULTIDX_TCH_FEELIST_LIST_PAYTIME4173554DEFAULTIDX_TCM_USER1,7326747DB
CACHE相关的闩锁cache
buffer
handlescache
buffers
chainscache
buffers
lru
chainmultiblockread
objectsDB
CACHE优化与共享内存自动管理SGA_TARGET足够的情况下,使用共享内存自动管理具有较好的性能SGA_TARGET不足的情况下,需要设置DBCACHE的最小值以确保DB
CACHE的效率情况严重时关闭共享内存自动管理关注V$SGA_RESIZE_OPSDB
CACHE和热块冲突DB
CACHE配置不合理会加大热块冲突的机会热块冲突也会影响DB
CACHE的性能什么是热块冲突热块冲突在OLTP系统中十分常见并发会话同时访问相同的数据块会产生热块冲突热块冲突严重时会导致严重的系统性能问题在RAC环境下的热块冲突可能导致系统性能急剧下降,甚至HANG住实例热块冲突的主要原因IO系统性能不佳大并发量的数据访问索引根节点的热块冲突索引叶节点的热块冲突SEGMENT
HEADER的冲突ITL参数设置问题解决热块冲突的主要思路打散数据分布使用较小的块大小使用HASH簇表使用HASH分区表反转键索引较大的SEQUENCE
CACHE(RAC下)优化表存储参数PCTFREEINITRANSFREELISTS/FREELIST
GROUPS提高DB
CACHE命中率优化IO使用物化视图KEEP热表优化应用查找热块的技巧(1)AWR报告Segments
by
Buffer
Busy
Waits DB/Inst:
SFOSS/sfoss1 Snaps:
10825-10826->
%
of
Capture
shows
%
of
Buffer
Busy
Waits
for
each
top
segment
compared->
with
total
Buffer
Busy
Waits
for
all
segments
captured
by
the
SnapshotOwnerSubobjectNameObj.TypeBufferBusy %
ofWaits
CaptureEXP5EXP5EXP5EXP5EXP5TablespaceName Object
NameEXP5_TE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2021防溺水安全教育总结六篇
- 2027届陕西省安康市白河县数学六年级第一学期期末综合测试模拟试题含解析
- 2025年矿山能耗AI监控系统
- 浙江省湖州市年2027届三年级数学第一学期期末统考试题含解析
- 河南省信阳市息县2027届六年级数学第一学期期末综合测试模拟试题含解析
- 实测实量检测工艺
- 2026年中国利肝康片市场调查研究报告
- 保利广场项目BIM+AR技术应用施工方案
- 强夯地基处理专项施工方案
- 金属冶炼企业检修员定期维护安全操作规程
- 沪教版六年级上册数学练习题
- 血管炎患者的护理
- 架线跨越果林施工方案
- 16G362钢筋混凝土结构预埋件(详细书签)图集
- 价值型销售(技能篇)
- T-CECS120-2021套接紧定式钢导管施工及验收规程
- 医学实验风险评估报告
- MR355.臂丛神经规范化扫描方案
- 中式烹调工艺与实训(第三版) 课件全套 (刘致良) 第1-13章 绪论、烹饪文化- 成本控制
- 蒋争:英语词汇的奥秘(词根词缀)
- 山西兰花科技创业股份有限公司大阳煤矿分公司煤炭资源开发利用、地质环境保护与土地复垦方案
评论
0/150
提交评论