SlideShare a Scribd company logo
1 of 61
数据库性能诊断的七种武器 ITPUB : Ora-600 liyinan
主要议题 ,[object Object],[object Object],[object Object],[object Object]
<Insert Picture Here> 性能优化面临的挑战
性能优化面临的挑战 1 、架构和业务的设计与变更 2 、熟悉各种数据库参数、系统参数 3 、应用逻辑与 SQL 代码实现 4 、选择合适的存储方式 存储盘阵、存储模式、存储参数、存储表空间、存储对象等 5 、复杂的网络配置 还有更多。。。 DBA 的事情好多哦… 为满足业务的运行要求,高性能要求是目前 IT 系统普遍面临的最棘手问题,尤其是客户面对着目前越来越庞大系统和数据,系统整合、数据大集中似乎成了趋势,而对我们来说,则充满了压力和挑战。
<Insert Picture Here> 调优工具的变迁
Oracle  调优工具的变迁 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Oracle  调优工具的变迁 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
<Insert Picture Here> 诊断工具中的七种武器
诊断工具中的七种武器 ,[object Object],[object Object],[object Object],[object Object],[object Object]
动态性能视图 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
诊断工具中的七种武器 ,[object Object],[object Object]
等待事件 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
等待事件 ,[object Object],[object Object],[object Object],[object Object],[object Object]
等待事件 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
诊断工具中的七种武器 ,[object Object]
Statspack ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Statspack 的输出 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Statspack 内容
Statspack 内容
Statspack 内容
Statspack 内容
诊断工具中的七种武器 ,[object Object]
Active Session History- 活动会话历史 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],查找数据库的瞬间问题
ASH 报告
ASH 报告
ASH 报告
活动会话信息 ,[object Object],[object Object]
活动会话信息中的 TOP
通过 TOP SQL 进一步发现问题
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Automatic Workload Repository- 自动负载信息库  (AWR)
AWR 报告
AWR 报告
Automatic Database Diagnostic Monitor -  自动数据库诊断监控 (ADDM) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],SQL Advisor High-load SQL IO / CPU issues  RAC issues Automatic Diagnostic Engine Snapshots in Automatic Workload Repository Self-Diagnostic Engine inside DB System  Resource Advice Network + DB config Advice
性能诊断:以前与现在的情况 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],情况:硬解析问题
ADDM 分析报告
ADDM 分析报告细节
Automatic Database difference Report -  AWR 数据对比报告 (ADDR) ,[object Object],[object Object],[object Object],[object Object]
AWR Compare Period Report
AWR Compare Period Report: Configuration
AWR Compare Period Report: Load Profile
AWR Compare Period Report: Top Timed Events
AWR Compare Period Report: Report Details
AWR Compare Period Report: Top SQL by Elapsed Time
孔雀翎在手,优化就是这么 easy ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ASH AWR ADDR ADDM ADDM
性能调优工具关联图示 Snapshots In-memory statistics AWR SGA 60 mn ADDM results MMON DBA Snapshots Statspack Fore- -ground Automatic ASH ADDM Alerts
诊断工具中的七种武器 ,[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],SQL  调整:以前与现在的情况 情况:打包应用程序中的不良  SQL
执行计划 ,[object Object]
曾经我们如何查看执行计划 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SQL 调优建议 ,[object Object],[object Object],[object Object],[object Object],[object Object],SQL Profile Packaged Apps + Indexes, MVs,  Partitions Well-tuned SQL Customizable  Apps + SQL Advice Customizable  Apps + High-load SQL Packaged Apps Customizable  Apps Automatic Tuning Optimizer Auto SQL  Tuning Auto SQL  Analysis Access Advisor
SQL Tuning Advisor Overview Add Missing Indexes Modify SQL Constructs Create a SQL Profile Automatic Tuning Optimizer SQL Structure Analysis Access Path Analysis   SQL  Profiling Statistics Analysis Gather Missing or Stale Statistics DBA SQL Tuning Recommendations SQL Tuning Advisor
SQL Tuning Usage Scenarios SQL Tuning Advisor ADDM High-load SQL Cursor Cache AWR SQL Tuning Set (STS) User-defined Filter / Rank SQL Sources Manual Selection Automatic Selection AWR
SQL Tuning in Oracle Database 10g End-to-End Workflow Workload AWR one hour A good end-to-end solution,  but manual intervention is required SQL Tuning Candidates SQL Tuning Advisor ADDM Generate Recommendations DBA Invoke Advisor Implement DBA Evaluate Recommendations DBA
Automatic SQL Tuning in Oracle 11g It’s Automatic! Workload Choose Candidate SQL one week SQL Tuning Candidates Test SQL Profiles Implement SQL Profiles Generate Recommendations AWR DBA View Reports / Control Process
Automatic SQL Tuning ,[object Object],[object Object],[object Object],[object Object],Packaged Apps Custom  Apps Automatic SQL Tuning   ,[object Object],Nightly Well-tuned SQL Automatic implement Manually implement ,[object Object],Report Auto Capture  High-Load SQL
SQL Access Advisor Overview Partitions ( 11g only ) MV and MV Logs Bit-map indexes Automatic Tuning  Optimizer Access Path Analysis   B*-tree indexes DBA Recommendations SQL Access Advisor 除了像在  Oracle  数据库  10g  中一样可以分析索引、物化视图等, Oracle 数据库  11g  中的  SQL Access Advisor  还可以分析表和查询以提供可能的分区策略 — 这在设计最佳模式时可以提供很大帮助
诊断工具中的七种武器 ,[object Object]
一些典型的 hints ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
诊断工具中的七种武器 ,[object Object],[object Object]
结尾 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Q & A ,[object Object]

More Related Content

What's hot

Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wangOrclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wangmaclean liu
 
Mysql企业备份发展及实践
Mysql企业备份发展及实践Mysql企业备份发展及实践
Mysql企业备份发展及实践maclean liu
 
分区表基础知识培训
分区表基础知识培训分区表基础知识培训
分区表基础知识培训maclean liu
 
Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作maclean liu
 
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案maclean liu
 
P6 数据库安装和配置
P6 数据库安装和配置P6 数据库安装和配置
P6 数据库安装和配置epst
 
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略maclean liu
 
1, OCP - architecture intro
1, OCP - architecture intro1, OCP - architecture intro
1, OCP - architecture introted-xu
 
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recoveryted-xu
 
阿里巴巴运维团队的无状态运维思路
阿里巴巴运维团队的无状态运维思路阿里巴巴运维团队的无状态运维思路
阿里巴巴运维团队的无状态运维思路mysqlops
 
MySQL 網路參考架構
MySQL 網路參考架構MySQL 網路參考架構
MySQL 網路參考架構郁萍 王
 
了解Oracle critical patch update
了解Oracle critical patch update了解Oracle critical patch update
了解Oracle critical patch updatemaclean liu
 
Oracle北大青鸟完全教程
Oracle北大青鸟完全教程Oracle北大青鸟完全教程
Oracle北大青鸟完全教程yiditushe
 
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rmanted-xu
 
3, OCP - instance management
3, OCP - instance management3, OCP - instance management
3, OCP - instance managementted-xu
 
了解真实的Oracle unbreakable database appliance
了解真实的Oracle unbreakable database appliance了解真实的Oracle unbreakable database appliance
了解真实的Oracle unbreakable database appliancemaclean liu
 
11g r2新特性之standby max_data_delay
11g r2新特性之standby max_data_delay11g r2新特性之standby max_data_delay
11g r2新特性之standby max_data_delaymaclean liu
 
TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例maclean liu
 

What's hot (20)

Oracle Instance 介紹
Oracle Instance 介紹Oracle Instance 介紹
Oracle Instance 介紹
 
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wangOrclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
 
Mysql企业备份发展及实践
Mysql企业备份发展及实践Mysql企业备份发展及实践
Mysql企业备份发展及实践
 
分区表基础知识培训
分区表基础知识培训分区表基础知识培训
分区表基础知识培训
 
Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作
 
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
 
P6 数据库安装和配置
P6 数据库安装和配置P6 数据库安装和配置
P6 数据库安装和配置
 
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
 
1, OCP - architecture intro
1, OCP - architecture intro1, OCP - architecture intro
1, OCP - architecture intro
 
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
 
Oracle SGA 介紹
Oracle SGA 介紹Oracle SGA 介紹
Oracle SGA 介紹
 
阿里巴巴运维团队的无状态运维思路
阿里巴巴运维团队的无状态运维思路阿里巴巴运维团队的无状态运维思路
阿里巴巴运维团队的无状态运维思路
 
MySQL 網路參考架構
MySQL 網路參考架構MySQL 網路參考架構
MySQL 網路參考架構
 
了解Oracle critical patch update
了解Oracle critical patch update了解Oracle critical patch update
了解Oracle critical patch update
 
Oracle北大青鸟完全教程
Oracle北大青鸟完全教程Oracle北大青鸟完全教程
Oracle北大青鸟完全教程
 
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
 
3, OCP - instance management
3, OCP - instance management3, OCP - instance management
3, OCP - instance management
 
了解真实的Oracle unbreakable database appliance
了解真实的Oracle unbreakable database appliance了解真实的Oracle unbreakable database appliance
了解真实的Oracle unbreakable database appliance
 
11g r2新特性之standby max_data_delay
11g r2新特性之standby max_data_delay11g r2新特性之standby max_data_delay
11g r2新特性之standby max_data_delay
 
TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例
 

Viewers also liked

Impetus Sponsorship Deck 2017
Impetus Sponsorship Deck 2017Impetus Sponsorship Deck 2017
Impetus Sponsorship Deck 2017Damien Cabral
 
agile summit 2014 sponsorship deck v.2 public
agile summit 2014   sponsorship deck v.2 publicagile summit 2014   sponsorship deck v.2 public
agile summit 2014 sponsorship deck v.2 publicAgileSummit
 
Score! The role of Social Media for a successful sponsorship.
Score! The role of Social Media for a successful sponsorship. Score! The role of Social Media for a successful sponsorship.
Score! The role of Social Media for a successful sponsorship. Panos Alefragis
 
2011 Clemson SBDC Program and Event Sponsorship Opportunities
2011 Clemson SBDC Program and Event Sponsorship Opportunities2011 Clemson SBDC Program and Event Sponsorship Opportunities
2011 Clemson SBDC Program and Event Sponsorship OpportunitiesMelissa Thomas
 
2015 Sponsorship Deck
2015 Sponsorship Deck2015 Sponsorship Deck
2015 Sponsorship DeckSciotoMile
 
Golf Classic Sponsorship Deck
Golf Classic Sponsorship DeckGolf Classic Sponsorship Deck
Golf Classic Sponsorship DeckURGENT, Inc.
 
MLH Hackcon IV - Hackathon Sponsorship 101 Workshop
MLH Hackcon IV - Hackathon Sponsorship 101 WorkshopMLH Hackcon IV - Hackathon Sponsorship 101 Workshop
MLH Hackcon IV - Hackathon Sponsorship 101 WorkshopJonathan Gottfried
 
Sponsorship Research & ROI
Sponsorship Research & ROISponsorship Research & ROI
Sponsorship Research & ROINicholas Cameron
 
HR Open Source 2017 Sponsorship Deck
HR Open Source 2017 Sponsorship DeckHR Open Source 2017 Sponsorship Deck
HR Open Source 2017 Sponsorship DeckHR Open Source
 
VELD MUSIC FESTIVAL 2014 SPONSORSHIP DECK
VELD MUSIC FESTIVAL 2014 SPONSORSHIP DECKVELD MUSIC FESTIVAL 2014 SPONSORSHIP DECK
VELD MUSIC FESTIVAL 2014 SPONSORSHIP DECKGian Paolo Andreis
 
Music Concert Sponsorship sales proposal
Music Concert Sponsorship sales proposalMusic Concert Sponsorship sales proposal
Music Concert Sponsorship sales proposalASN
 

Viewers also liked (15)

Impetus Sponsorship Deck 2017
Impetus Sponsorship Deck 2017Impetus Sponsorship Deck 2017
Impetus Sponsorship Deck 2017
 
agile summit 2014 sponsorship deck v.2 public
agile summit 2014   sponsorship deck v.2 publicagile summit 2014   sponsorship deck v.2 public
agile summit 2014 sponsorship deck v.2 public
 
Score! The role of Social Media for a successful sponsorship.
Score! The role of Social Media for a successful sponsorship. Score! The role of Social Media for a successful sponsorship.
Score! The role of Social Media for a successful sponsorship.
 
2011 Clemson SBDC Program and Event Sponsorship Opportunities
2011 Clemson SBDC Program and Event Sponsorship Opportunities2011 Clemson SBDC Program and Event Sponsorship Opportunities
2011 Clemson SBDC Program and Event Sponsorship Opportunities
 
2014 Karma Sponsorship Deck
2014 Karma Sponsorship Deck2014 Karma Sponsorship Deck
2014 Karma Sponsorship Deck
 
2015 Sponsorship Deck
2015 Sponsorship Deck2015 Sponsorship Deck
2015 Sponsorship Deck
 
Golf Classic Sponsorship Deck
Golf Classic Sponsorship DeckGolf Classic Sponsorship Deck
Golf Classic Sponsorship Deck
 
MLH Hackcon IV - Hackathon Sponsorship 101 Workshop
MLH Hackcon IV - Hackathon Sponsorship 101 WorkshopMLH Hackcon IV - Hackathon Sponsorship 101 Workshop
MLH Hackcon IV - Hackathon Sponsorship 101 Workshop
 
Battle of the Bands Promotional Proposal
Battle of the Bands Promotional ProposalBattle of the Bands Promotional Proposal
Battle of the Bands Promotional Proposal
 
Sponsorship Research & ROI
Sponsorship Research & ROISponsorship Research & ROI
Sponsorship Research & ROI
 
HR Open Source 2017 Sponsorship Deck
HR Open Source 2017 Sponsorship DeckHR Open Source 2017 Sponsorship Deck
HR Open Source 2017 Sponsorship Deck
 
Treasure Island 2014 - Calling All Sponsors & Partners!
Treasure Island 2014 - Calling All Sponsors & Partners!Treasure Island 2014 - Calling All Sponsors & Partners!
Treasure Island 2014 - Calling All Sponsors & Partners!
 
Cocktail topic
Cocktail topicCocktail topic
Cocktail topic
 
VELD MUSIC FESTIVAL 2014 SPONSORSHIP DECK
VELD MUSIC FESTIVAL 2014 SPONSORSHIP DECKVELD MUSIC FESTIVAL 2014 SPONSORSHIP DECK
VELD MUSIC FESTIVAL 2014 SPONSORSHIP DECK
 
Music Concert Sponsorship sales proposal
Music Concert Sponsorship sales proposalMusic Concert Sponsorship sales proposal
Music Concert Sponsorship sales proposal
 

Similar to 数据库性能诊断的七种武器

Oracle数据库体系结构简介.ppt
Oracle数据库体系结构简介.pptOracle数据库体系结构简介.ppt
Oracle数据库体系结构简介.pptjames tong
 
11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert systemted-xu
 
Essential oracle security internal for dba
Essential oracle security internal for dbaEssential oracle security internal for dba
Essential oracle security internal for dbamaclean liu
 
一次Web性能测试小结
一次Web性能测试小结一次Web性能测试小结
一次Web性能测试小结beiyu95
 
开源应用日志收集系统
开源应用日志收集系统开源应用日志收集系统
开源应用日志收集系统klandor
 
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统melity78
 
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410maclean liu
 
性能测试实践1
性能测试实践1性能测试实践1
性能测试实践1yiditushe
 
资身Dba经验谈
资身Dba经验谈资身Dba经验谈
资身Dba经验谈yiditushe
 
12, OCP - performance tuning
12, OCP - performance tuning12, OCP - performance tuning
12, OCP - performance tuningted-xu
 
imobile-beta技术沙龙
imobile-beta技术沙龙imobile-beta技术沙龙
imobile-beta技术沙龙posestudio
 
Performance Data Analyze
Performance Data AnalyzePerformance Data Analyze
Performance Data Analyzeanysql
 
腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析George Ang
 
Basic oracle for developer&beginner
Basic oracle for developer&beginnerBasic oracle for developer&beginner
Basic oracle for developer&beginnermaclean liu
 
Oracle db 12c 加速企业转型之十大功能
Oracle db 12c 加速企业转型之十大功能Oracle db 12c 加速企业转型之十大功能
Oracle db 12c 加速企业转型之十大功能Ethan M. Liu
 
王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计YANGL *
 
MySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 ReviewMySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 Review郁萍 王
 
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構Etu Solution
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 maclean liu
 
配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制maclean liu
 

Similar to 数据库性能诊断的七种武器 (20)

Oracle数据库体系结构简介.ppt
Oracle数据库体系结构简介.pptOracle数据库体系结构简介.ppt
Oracle数据库体系结构简介.ppt
 
11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert system
 
Essential oracle security internal for dba
Essential oracle security internal for dbaEssential oracle security internal for dba
Essential oracle security internal for dba
 
一次Web性能测试小结
一次Web性能测试小结一次Web性能测试小结
一次Web性能测试小结
 
开源应用日志收集系统
开源应用日志收集系统开源应用日志收集系统
开源应用日志收集系统
 
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统
 
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
 
性能测试实践1
性能测试实践1性能测试实践1
性能测试实践1
 
资身Dba经验谈
资身Dba经验谈资身Dba经验谈
资身Dba经验谈
 
12, OCP - performance tuning
12, OCP - performance tuning12, OCP - performance tuning
12, OCP - performance tuning
 
imobile-beta技术沙龙
imobile-beta技术沙龙imobile-beta技术沙龙
imobile-beta技术沙龙
 
Performance Data Analyze
Performance Data AnalyzePerformance Data Analyze
Performance Data Analyze
 
腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析
 
Basic oracle for developer&beginner
Basic oracle for developer&beginnerBasic oracle for developer&beginner
Basic oracle for developer&beginner
 
Oracle db 12c 加速企业转型之十大功能
Oracle db 12c 加速企业转型之十大功能Oracle db 12c 加速企业转型之十大功能
Oracle db 12c 加速企业转型之十大功能
 
王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计
 
MySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 ReviewMySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 Review
 
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础
 
配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制
 

More from Leyi (Kamus) Zhang

More from Leyi (Kamus) Zhang (11)

Oracle 12.2 sharding learning more
Oracle 12.2 sharding learning moreOracle 12.2 sharding learning more
Oracle 12.2 sharding learning more
 
Oracle 12.2 sharded database management
Oracle 12.2 sharded database managementOracle 12.2 sharded database management
Oracle 12.2 sharded database management
 
Mac & Oracle
Mac & OracleMac & Oracle
Mac & Oracle
 
Vim - Amazing Editor for DBAs
Vim - Amazing Editor for DBAsVim - Amazing Editor for DBAs
Vim - Amazing Editor for DBAs
 
Hanganalyze presentation
Hanganalyze presentationHanganalyze presentation
Hanganalyze presentation
 
Vldb Statistics Gathering Strategy
Vldb Statistics Gathering StrategyVldb Statistics Gathering Strategy
Vldb Statistics Gathering Strategy
 
Exadata
ExadataExadata
Exadata
 
Kamus silde for summit
Kamus silde for summitKamus silde for summit
Kamus silde for summit
 
Oracle Resource Manager
Oracle Resource ManagerOracle Resource Manager
Oracle Resource Manager
 
Understanding histogramppt.prn
Understanding histogramppt.prnUnderstanding histogramppt.prn
Understanding histogramppt.prn
 
DTCC Rac Load Balancing Failover
DTCC Rac Load Balancing FailoverDTCC Rac Load Balancing Failover
DTCC Rac Load Balancing Failover
 

数据库性能诊断的七种武器

Editor's Notes

  1. Enqueue 有 3 个参数: 1. P1 表示 Lock type 、 mode 比如, P1RAW 的值为 54580006 ,其中, 54 表示的是 T , 58 表示的为 X , 6 表示的专用锁; 也可以用 SELECT chr(to_char(bitand(p1,-16777216))/16777215)|| chr(to_char(bitand(p1, 16711680))/65535) &amp;quot;Lock&amp;quot;, to_char( bitand(p1, 65535) ) &amp;quot;Mode&amp;quot; FROM v$session_wait WHERE event = &apos;enqueue&apos; ; 来查询当前发生 enqueue 等待事件的 Lock mode ,该值对应着 V$lock 中的 lock type 2. P2 、 P3 代表 Enqueue name 的 ID1 和 ID2 ,分别对应着 V$Lock 中的 ID1 和 ID2 大多数情况下, Enqueue 的等待时间为 3 秒 在 v$Lock 中, request = 0 表示的是 Holder , &gt;0 表示的是 waiter 确定 Enqueue 的性能: 1. 可以查询 v$sysstat 来查看 enqueue 等待 select * from v$sysstata where class = 4 2. 对于 9i ,可以查询: SELECT eq_type &amp;quot;Lock&amp;quot;, total_req# &amp;quot;Gets&amp;quot;, total_wait# &amp;quot;Waits&amp;quot;, cum_wait_time FROM V$enqueue_stat WHERE Total_wait# &gt; 0 ; 3. 对于 8i ,可以查询: SELECT ksqsttyp &amp;quot;Lock&amp;quot;, ksqstget &amp;quot;Gets&amp;quot;, ksqstwat &amp;quot;Waits&amp;quot; FROM X$KSQST where KSQSTWAT &gt; 0; 根据这两个 sql ,确定整个系统中的 enqueue 的等待情况 几个普遍存在的 Lock mode : TX :事务锁 Note 62354.1 ; 在以下情况下发生: 1) Another session is locking the requested row. 2) When two sessions tries to insert the same unique key into a table (none of them has done a COMMIT), then the last session is waiting for the first one to COMMIT or ROLLBACK. 3) There are no free ITL (Interested Transaction List) in the block header (increase INI_TRANS och PCT_FREE for the segment). TM : DML enqueue , 一般当外键没有建立索引的时候产生, Note 38373.1 , Note 33453.1 ST : space management enqueue ,当系统存在小碎片,或者存在大量的 sort 的时候产生 Note 33567.1 JQ : Job queue UL : user lock ,当用户 DBMS_LOCK.REQUEST 时产生 SQ : sequence enqueue, 检查 sequence 的 cache size 是否过小 SS : sort segment enqueue, 检查 temp 表空间太小,是否有查询需要使用大量的 temporary 空间 HW enqueue 指和段的高水位标记相关等待;手动分配适当区可以避免这一等待 TX 是最常见的 enqueue 等待。 TX enqueue 等待通常是以下三个问题之一产生的结果: 第一个问题是唯一索引中的重复索引,你需要执行提交( commit ) / 回滚( rollback )操作来释放 enqueue 。 第二个问题是对同一位图索引段的多次更新。因为单个位图段可能包含多个行地址( rowid ),所以当多个用户试图更新同一段时,可能一个用户会锁定其他用户请求的记录,这时等待出现。直到获得锁定的用户提交或回滚, enqueue 释放。 第三个问题,也是最可能发生的问题是多个用户同时更新同一个块。如果没有足够的 ITL 槽,就会发生块级锁定。通过增大 initrans 和 / 或 maxtrans 以允许使用多个 ITL 槽(对于频繁并发进行 DML 操作的数据表,在建表之初就应该考虑为相应参数设置合理的数值,避免系统运行以后在线的更改,在 8i 之前, freelists 等参数不能在线更改,设计时的考虑就尤为重要),或者增大表上的 pctfree 值,就可以很容易的避免这种情况。 TM enqueue 队列锁在进行 DML 操作前获得,以阻止对正在操作的数据表进行任何 DDL 操作 ( 在 DML 操作一个数据表时,其结构不能被更改 select * from V$ENQUEUE_STAT; enqueue 类型 : BL, Buffer Cache Management CF, Controlfile Transaction CI, Cross-instance Call Invocation CU, Bind Enqueue DF, Datafile DL, Direct Loader Index Creation DM, Database Mount DR, Distributed Recovery DX, Distributed TX FS, File Set IN, Instance Number IR, Instance Recovery IS, Instance State IV, Library Cache Invalidation JQ, Job Queue KK, Redo Log “Kick” L[A-P], Library Cache Lock MR, Media Recovery N[A-Z], Library Cache Pin PF, Password File PI, Parallel Slaves PR, Process Startup PS, Parallel Slave Synchronization Q[A-Z], Row Cache RT, Redo Thread SC, System Commit Number SM, SMON SQ, Sequence Number Enqueue SR, Synchronized Replication SS, Sort Segment ST, Space Management Transaction SV, Sequence Number Value TA, Transaction Recovery TM, DML Enqueue TS, Temporary Segment (also TableSpace) TT, Temporary Table TX, Transaction UL, User-defined Locks UN, User Name US, Undo Segment, Serialization WL, Being Written Redo Log XA, Instance Attribute Lock XI, Instance Registration Lock
  2. Statspack Installation of the Statspack Package Installing the Statspack utility creates the perfstat user, who owns all PL/SQL code and database objects created (including the Statspack tables, the constraints, and the Statspack package). During the installation you will be prompted for the perfstat user’s default and temporary tablespaces. The Statspack package has been available with Oracle Database from Oracle8.1.6. When initially installed roughly 80 MBs of the perfstat user’s default tablespace is used. This may grow later with the tables storing snapshot information. Collecting Statistics To take a snapshot of performance data, log on to SQL*Plus as the perfstat user, and then execute the statspack.snap procedure. This stores the current performance statistics in the Statspack tables, which can be used as a baseline snapshot for comparison with another snapshot taken at a later time. Automatically Collecting Statistics To compare performance from one day, week, or year to the next, there must be multiple snapshots taken over a period of time. The best method to gather snapshots is to automate the collection at regular time intervals. The spauto.sql script makes use of the dbms_job package to provide an automated method for collecting statistics. The supplied script schedules a snapshot every hour, on the hour. This can be changed to suit the requirements of the system. Producing a Report To examine the change in statistics between two time periods, execute the spreport.sql file while being connected to the perfstat user. The user is shown a list of collection periods and selects a start and end period. The difference between the statistics at each end point is then calculated and put into a file named by the user.
  3. First Page of the Statspack Report The first page summarizes the report. The items found on this page include most of the information that the DBA requires to enhance performance. Each of these areas will be covered in greater depth during the course. • Cache Sizes The current size of the buffer cache, shared pool, and log buffer are shown here in KB. Also included here is the value of the primary block size. • Load Profile One value given here is per second and the other is per transaction. What is shown includes the redo size and the physical reads and physical writes performed during the snapshot period. • Instance Efficiency Percentages The items listed here are ones that are most often used for tuning a database. These statistics are used to indicate that workloads have changed on the database. • Top Five Wait Events The full list of wait events appears later in the report and will be dealt with later in the course. The top contention items are listed under this heading.
  4. The “ head ” image depicts a decision point.