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管理着一个大的块,块中经常发生数据状态改变,将容易导致块竞争;
阅读(850) | 评论(0) | 转发(0) |