Chinaunix首页 | 论坛 | 博客
  • 博客访问: 248602
  • 博文数量: 115
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 930
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-30 05:27
文章分类

全部博文(115)

文章存档

2011年(10)

2010年(21)

2009年(19)

2008年(65)

我的朋友

分类: Oracle

2008-10-04 10:18:32

1、数据冗余多了,拆分;不经常在一起访问的字段,拆分;
2、应用对调优的影响很大,占一半以上;
3、在调优实施时,最好分步进行,不能所有方法一并实施;
4、块检查数:db_block_checking和db_block_checksum。关乎校验,避免逻辑块故障,关闭时会提高IO。
5、statspack:能得出最××的SQL语句;
6、10G的数据库信息收集新工具:awr,ADDM可以做分析;
7、可以根据进程号来查询完整的SQL语句;
8、最大的操作系统进程与数据库进程比:40/60;
9、vmstat 看r值和b值,值应该小于或者等于CPU个数;pi高,说明内存不够;
10、sppurge和sptrunc可以删除和清空statspack信息;
11、statspack以短为宜;
12、连续读等待时间太长--索引有问题;
13、消耗CPU的动作:排序、硬解析、多表融合的对比等;
14、等待事件信息在v$event_name视图中;
15、等待事件:
    a.buffer busy waits
    b.db file parallel write--写得速度慢
    c.db file scattered read
    d.db file sequential read
    e.db file single write
    f.direct path read--临时数据和排序数据,都不在内存中排序
    g.enqueue--锁资源竞争
    h.free buffer waits--dbwr写脏数据不够快,db_cache不够大
    i.latch free--锁存器空间不足,调内存
    j.log buffer space--log buffer太小;LGWR写redolog失败或者慢;
    k.log file parallel write
    l.log file single write
    m.log file switch(archiving needed)
    n.log file switch(checkpoint incomplete)
    o.log file sync
    p.timer in sksawat(归档过慢)
    q.事务
    r....
16、LRU队列和Dirty队列用来管理数据高速缓冲区的存储和数据操作;
17、收集信息的时机;
18、命中率高,不一定性能很好;还是要取决于等待事件;
19、对于数据库告诉缓冲区,使用多池对不同类型(KEEP|Recycle|DEFAULT)的数据进行存放,能够提高效率;
20、Free list管理着一个大的块,块中经常发生数据状态改变,将容易导致块竞争;
阅读(698) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~