关于oracle性能调优的一些思想

[复制链接]
查看11 | 回复9 | 2011-11-1 16:25:22 | 显示全部楼层 |阅读模式
最近整理了一下关于oracle性能调优的一些想法和思路,我先来个抛砖引玉,大家看看还有没有可以补充的具体如下呵呵~

一.
Instance级优化
1.
每天出一个系统繁忙时间段的AWR报告主要查看
(1)
DB TIME
(2)
Redo size
(3)
Hard parses
(4)
Transactions
(5)
内存相关的命中率
(6)
TOP 5 EVENTS-----找出和性能有关的等待事件进行处理
(7)
TOP SQL
(8)
user commits

(9)
I/O情况
2.
根据业务的实际情况设置合理的redo logfile大小,不宜过大或过小
3.
检查DML操作频繁的表的HW定期进行shrink
4.
检查表中带sequence的字段看是否有cache
5.
定期分析表和索引以保证统计信息的准确避免影响优化器的判断
6.
检查是否有失效的索引
7.
合理的使用分区
8.
合理的使用并行
9.
结合业务的需求设置合理的RAC LOADBLANCE模式尽量避免cache fusion影响性能(1.纯技术的分散2.面向业务的分散)

二.SQL优化
1.定位有问题的SQL
(1)
较复杂单次执行时间长的SQL
(2)
单次执行时间短但多并发频繁并且导致latch相关的等待
(3)
以前很快但随着表数据量的增长变慢的SQL
(4)
经常造成lock等待的SQL
(5)
没有有效利用index的SQL

2.优化思路
(1)
查看SQL看是否有进行重构的可能,能用一条SQL解决的绝不用PL/SQL
(2)
查看执行计划是否正常
(3)
对象的统计信息是否准确
(4)
优化器的设置是否正确
(5)
对index的使用是否合理
(6)
SQL的重用情况用绑定变量代替常量

三.数据库设计与业务实现

1.
数据库表设计

这方面思路不是很多呵呵~
2.
业务实现
(1)
实现一个功能要尽可能的减少跟数据库的交互
(2)
是否有重复执行的无用查询
(3)
一些具体的操作可以思考是在程序端还是数据库端解决,选择最合适的
回复

使用道具 举报

千问 | 2011-11-1 16:25:22 | 显示全部楼层
总结的挺好,这真是个大话题!
回复

使用道具 举报

千问 | 2011-11-1 16:25:22 | 显示全部楼层
每个点都是大话题
回复

使用道具 举报

千问 | 2011-11-1 16:25:22 | 显示全部楼层
呵呵~可能没有什么实际用处,最多是个思路
回复

使用道具 举报

千问 | 2011-11-1 16:25:22 | 显示全部楼层
原帖由 iori809 于 2011-4-6 10:16 发表
呵呵~可能没有什么实际用处,最多是个思路

灰常有用,坚持写吧,呵呵
回复

使用道具 举报

千问 | 2011-11-1 16:25:22 | 显示全部楼层
关键还是table的设计!
回复

使用道具 举报

千问 | 2011-11-1 16:25:22 | 显示全部楼层

回复

使用道具 举报

千问 | 2011-11-1 16:25:22 | 显示全部楼层
内容不错,期待
回复

使用道具 举报

千问 | 2011-11-1 16:25:22 | 显示全部楼层
調優不管走什麼途徑,最終都會歸於開發人員的SQL
DBA一方面要不斷Study SQL調優方法並實踐,PL/SQL與SQL編寫能力一定要超過開發人員
另一方面對應用層面的理解也要不斷加強,不懂業務邏輯的DBA是沒辦法對SQL做100%的優化處理
回复

使用道具 举报

千问 | 2011-11-1 16:25:22 | 显示全部楼层
你这是目录、提纲。

请细化
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行