oracle 调优 视频,Oracle性能优化视频学习笔记-诊断和调优工具

这个章节恐怕是最长的了,耗时2个多小时,总算听完了,先别管效果如何了,呵呵;恐怕还得再听一次

诊断和工具

show parameter background_dump_dest;

指出告警日志文件的目录

log_checkpoint_to_alert=true

记录检查点信息和未完成的检查点

记录归档时间

用户跟踪文档

跟踪用户发布的SQL信息

alter session set sql_trace=true;

能够在会话一级进行SQL操作跟踪

execute dbms_system.set_sql_trace(sid号,子序列号,true)

跟踪会话中相应的SQL

使用tkprof解析跟踪的SQL跟踪文件

catproc.sql用来生成创建跟踪的包

视图和工具

V$XXX,动态性能视图

v$lock,v$..

base on x$table and listed in v$fixed_table

is v_$xxx的同义词

当前状态视图V$session,v$open_cursor,v$session_wait

累加视图V$sys_event,...

动态视图v$parameter

DBA_XXX,数据字典

DBA_tables,DBA_Segments,DBA_Tab_Columns,DBA_Clusters,DBA_INDEXES,INDEX_STATS,INDEX_HISTOGRAM,DBA_TAB_HISTOGRAMS

以上统计信息是静态的,需要dbms_stats和analyze来完成更新

StatSpack

Oracle9i新的功能包

UTLBstat.sql,UtlEstat.sql script取两者脚本执行之间的性能比较

企业管理器

等待事件

Oracle诊断和优化packs

启动之后所有的系统统计

select name,value from

where name in ('db block gets','consistent gets','physical reads');

hitrate=(db block gets+consistent gets)/(physical reads'+db block gets+consistent gets)

SGA区的统计信息

select * from

where pool='shared pool' and name='free memory'

事件信息详细清单和统计

select sum(pins-reloads)/sum(pins) "lib cache" from v$library

库缓存命中率

select (sum(gets-getmisses))/sum(gets) "direc_hit" from v$rowcache

数据字典命中率

v$db_cache_advice预计缓冲区的大小和影响

v$pgastat

Disk

v$dbfile

v$tempstat

v$tempfile

v$filestat

v$datafile

v$segment_statist

v$log,v$log_history

Contention

v$latch,v$lock,v$rollname,v$rollstat,v$waitstat

关于会话统计信息

select

a.statistic#,a.name,a.class,

b.sid,b.statistic#,b.value,

c.sid,c.serial#,c.username,c.osuser

from v$statname a,v$sesstat b,v$session c

where a.statistic#=b.statistic#

and b.sid=c.sid

关于会话等待事件的统计

select

a.sid,a.event,a.total_waits,a.total_timeouts,a.time_waited,a.averate_wait,a.max_wait,

b.event#,b.name,b.parameter1,b.parameter2,b.parameter3,

c.sid,c.seq#,c.event,c.p1/2/3 c.p1/2/2 text,c.p1/2/3 raw,c.wait time,c.seconds_in_wait,c.state

from v$session_event a,v$event_name b,v$session_wait c

where a.sid=c.sid

and a.event=b.name

and b.name=c.event

Statspack

需要100兆空间(8i开始提供)

且TIMED_STATISTICS=true

alter system set timed_statistics=true

spcreate.sql安装Statspack

statspack.snap手工收集统计信息

spauto.sql自动收集统计信息

spreport.sql产生统计信息报告

show parameter job_queue_processes>0方可自动收集统计信息

job_queue_processes>0即OK

第一步,创建statpack统计表空间

create tablespace perfstat datafile '......' size 100M extent management local;

第二步

@%ORACLE_HOME%RDBMSADMINSPCREATE.SQL

创建statpack数据字典和用户

并且输入刚才创建的表空间perfstat

第三步,切换用户

connect perfstat/perfstat

手工执行拍照

execute statpack.snap

第四步,创建自动拍照脚本,默认1个小时执行一次

@%ORACLE_HOME%RDBMSADMINSPAUTO.SQL

select job,log_user,last_date,next_date,interval from user_jobs

第五步,运行spreport.sql

select snap_id from stats$snapshot;

report内容19部分

数据库和实例名称

快照时间起至时间

各当前缓存大小

负载load profile

实例的效率百分比

共享池统计信息

Top5事件

性能较差的SQL by Diks,By CPU,By memory

表空间I/O统计数据

数据文件I/O统计数据

缓冲池统计

实例恢复统计

PGA内存统计

回滚段统计

锁存器活动的统计

数据字典缓冲区统计

库缓冲区统计

SGA内存概要统计

初始化参数值列表

@sppurge.sql可以删除快照信息

使用DBA删除快照和统计信息

执行spdrop即可

UTLBSTAT,UTLESTAT脚本可以做简单的快照统计

TIMED_STATSTICS=TRUE

run UTLBSTAT

run UTLESTAT

查看report.txt报告

企业管理器

Oracle Performance Manager

调优方法论

明确调优范围

收集数据

编辑数据和规则

分析数据

评估方案

验证方案

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值