oracle工具过期,Oracle调优工具变迁及7种诊断武器

1、  Oracle v5

Debug code

2、  Oracle v6

Counters/Ratios

BSTAT/ESTAT

SQL*Trace

3、  Oracle v7

Wait Event

Counters->timers

4、  Oracle 8i

STATSPACK(盖国强的书里经常提到的一个工具)

5、  Oracle 9i

Session tuning using 10046 SQL traces

更全面的STATSPACK

智能化自动化出现

6、  Oracle 10g

更自动化、更广泛的搜集

ASH AWRy ADDM EM

7种诊断武器:

1、  Oracle动态性能视图:

v$sysstat  v$session  v$sesstat  v$sgastat

v$filestat  v$undostat  v$rollstat  v$waitstat

v$lock  v$latch  v$sql  v$sqlarea  v$sqltext

v$process  v$librarycache  v$rowcache等等

2、  等待事件:

V$system_event:发现系统问题

v$session_event:发现会话问题

v$session_wait:找到竞争对象

各种等待事件:

buffer busy waits(数据高速缓存忙等待)

db file scattered read(数据文件离散读取)

db file sequential read(数据文件顺序读)

direct path read(直接路径读取)

direct path write(直接路径写出)

enqueue(队列)

free buffer waits(空闲缓冲区等待)

latch free(锁存器空闲)

log buffer space(日志缓冲区空间分配)

log file switch(archiving needed)

log file switch(checkpoint incomplete)

log file sync(日志文件同步)

3、  statspack

statspack安装:$ORACLE_HOME/rdbms/admin/spcreate.sql

收集统计信息:$ORACLE_HOME/rdbms/admin/statspack.snap

自动收集统计信息:$ORACLE_HOME/rdbms/admin/spauto.sql

生成报表:$ORACLE_HOME/rdbms/admin/spreport.sql

要收集计时信息设置:TIMED_STATISTICS=True

Statspack输出包括:

数据库和实例名称

获取快照的时间

当前高速缓存的大小

负载概览

实例效率百分比

前五个等待事件

等待事件的完整列表

共享池中SQL语句的信息

实例活动统计

表空间和文件I/O

缓冲区统计信息

回退段或还原段统计信息

栓锁活动

字典高速缓存统计信息

库高速缓存统计

SGA统计

Init.ora参数的启动值

4、  暗中收割:ASH、AWR、ADDM、ADDR

ASH:

Active Session History,可从v$active_session_history获得会话最近的活动信息。

Select a.sql_text from v$sql a where sql_id in(select sql_id from v$active_session_history where session_id = 157)。

直接从内存中获取数据,不保存,仅运行中有效。可通过ashrpt.sql产生ash分析报告。

AWR:

Automatic Workload Repository,默认每隔60分钟保存一次,手动保存7天数据。信息存储在新SYSAUX表空间内,可通过awrrpt.sql产生与statspack类似的性能差异报告。

基本统计:例如物理读取

SQL统计:例如磁盘读取

度量:例如物理读取数量/秒

ADDM:

Automatic Database Diagnostic Monitor,分析依赖于AWRy性能信息快照,对比差异并提供建议,对RAC架构同样适用,分析结果可通过dbms_advisor包的get_task_report过程来获取已经分析的结果,还可通过addmrpt.sql脚本对特定的快照进行分析。

ADDR:

Automatic Database difference Report,是对AWR的补充,基于基线理念,可通过awrddrpt.sql获取性能异常时间与正常时间段AWRy报告的对比值,快速发现性能差异,从而定位问题。

总的来说:

性能信息和负载量的捕获:ASH和AWR

性能问题分析:ADDR和ADDM

性能调整方案:ADDM

5、  aql tuning advisor/sql access advisor

可以说80%以上的性能问题都可以通过SQL来解决(也有人说80%的性能问题是由程序自身架构所决定……囧)

查看执行计划(执行计划是一系列优化器用来完成SQL操作的步骤和操作):

EXPLAIN PLAN

v$sql_plan

SQL Trace

SQL*Plus AUTOTRACE

Oracle 10g调优流程(End-to-End Workflow):

Workload -> AWR -> ADDM -> SQL Tuning Candidates -> Invoke Advisor -> SQl Tuning Advisor -> Generate Recommendations -> Evaluate Recommendations -> Implement -> Workload

6、  hints

常用的hints:

FIRST_ROWS, ALL_ROWS ,RULE

FULL(tab)

INDEX( tab index )

NO_INDEX ( tab index )

USE_NL(tab)

USE_MERGE(tab..)

USE_HASH(tab1 tab2)

PARALLEL ( table, [, ] )

两个字忠告:慎用。

7、DBA对全局的掌握,做到对数据库、存储、网络、系统、软件、业务流程都了然于胸。

结尾:

1、  结合实际,深入调查。

2、  工具要精通,思路要清晰。

3、  要适可而止。

4、  自己做出决定。

以上信息大部分来自李轶楠老师在2009年数据库大会中的ppt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值