ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE调优20130412

ORACLE调优20130412

原创 Linux操作系统 作者:DataKW 时间:2013-04-14 11:42:05 0 删除 编辑
ACS--自适应游标,11g默认开;根据绑定变量来选择执行计划

等待和默认参数的研究

等待类型,官方文档查看

v$event_name

network 等待一般小于3ms

等待class---重要

前提和后台的因果,一般后台是因,也有例外

other类型的等待事件--直接sr
application类型的等待是行锁?????
 
《oracle wait interface》
 

10点到第二天6点--10g
 晚上十点到第二天2点实际窗口,周末全开--11g
自动收集信息:大于5千条才收集,超过10%才更新;smon负责,一个基表,和统计表对比;凌晨6点结束;
是一个存储过程来完成的
采样比例不确定:5500行-》55000行
 
resource manager

aix:svmon看内存使用

pga 3-5M每个session
绑定变量不匹配导致的硬解析
 
out of shared memory 4031错误

PL/SQL

ora错误时,10046下,可以看到SQL*net break/reset to client;
密码错误导致的登录风暴,library cache lock

master/持有者/使用者
lms进程负责数据传输

drm有时要关掉--remaster操作,根据访问次数来训练;
 
IO大概10ms,网络大概1ms的

rac性能高的基础:网络》IO能力

cr block和current block一般要求小于2ms??????
RAC的HA用法
lms触发lgwr进行flush到磁盘
select有栓锁操作吗
热块

白鳝剖析Oracle状态-CR blocks created 发表时间:2007-4-7 15:27:35 
 http://www.oraclefans.cn/forum/showblog.jsp?rootid=3276
作者:白鳝  离线 回复:7   浏览:4898

CR blocks create
这个状态值统计了数据库中cr block创建的计数。要理解这个状态值,首先要理解什么是CR BLOCK.
 
当我们想要查找某个数据的时候,发现这个数据块的版本比我们要查找的要新,那么我们只能从UNDO中去查找这个数据的前映像(PRE IMAGE),在回滚段中找到这个数据的前映像后,把前映像和CURRENT的数据块合并,旧形成一个CR BLOCK,这样,通过查询CR BLOCK就可以得到一致性的数据了。这个CR BLOCK的生成不是在PGA里进行的,而是要在DB CACHE里申请一个数据块,然后生成CR BLOCK。这个CR BLOCK创建后,如果下一回还要访问这个版本的数据块,那么就不需要创建新的CR BLOCK,而直接可以使用以前创建的CR BLOCK了。每创建一个CR BLOCK,CR BLOCKS CREATED计数器就会增加1。
由于CR BLOCK和CURRENT BLOCK的RDBA都是相同的,因此它们会被放到相同的HASH链上。因此如果某些BLOCK的CR BLOCK的版本过多,也会导致BUFFER CACHE CHAINS闩锁竞争加剧。
如果在生成CR BLOCK的过程中,发现UNDO中的PRE IMAGE由于提交的时间比较长,已经被覆盖,那么,就会出现著名的ORA-1555。
如果单位时间内CR BLOCKS CREATED较大,那么应该检查系统的CPU资源是否出现瓶颈,另外要注意检查BUFFER CACHE相关的闩锁,是否存在竞争。
 
 
ksxp一般1-2ms
v$session看等待的事件
 
 
 
netstat -in??????
 
80%的问题是sql问题

对于鹤立鸡群的SQL很有必要一探究竟,跑个@?/rdbms/admin/awrsqrpt看看吧!
 
dbms_module_application
DBMS_APPLICATION_INFO设置的v$sql module
 
 
Version Count:sql父子游标;不能共享导致的高
cursor_sharing不建议用similar,容易导致version count高

子游标

mutex--互斥锁,几十个汇编指令;嵌入cursor;cursor pin S
enq
latch--select--100个汇编指令

加表的列
oradebug suspend

library cache lock
oradebug setmyid
oradeug dump systemstat 266
把library的东西全dump出来,系统大不能操作
查被堵塞的操作
oradebug tracefile_name
v$wait_chains------------11gr2的新
 
热块是内存里的概念--》产生的结果是buffer busy wait;
块内频繁更改,导致写出操作频繁导致的

dba_tab_cols

hexstr
频率直方图--适合基数小于254的

高度直方图

执行计划acs特性之前,直方图可能会误导

默认情况下,系统自动根据情况进行确定是否进行直方图收集

10g开始col_usage$基表,根据应用sql是否有谓词使用

有统计数据,硬解析的时候也可能bind peek??????????

bind aware---acs

高度平衡直方图--采用超过254值的时候,就用高度平衡直方图;也有可能有采样异常,导致直方图
采样方式的错误
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27573546/viewspace-758438/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: V$LOCK
下一篇: ORACLE调优20130411
请登录后发表评论 登录
全部评论

注册时间:2012-08-12

  • 博文量
    132
  • 访问量
    331533