課程描述INTRODUCTION
Oracle 應用優(yōu)化培訓課程
日程安排SCHEDULE
課程大綱Syllabus
Oracle 應用優(yōu)化培訓課程
內容提示
本課程的學員需要具備基本的Oracle數(shù)據庫原理和應用開發(fā)的知識,有一定的工作經驗。數(shù)據庫應用優(yōu)化方法主要集中在發(fā)現(xiàn)Oracle數(shù)據庫的資源瓶頸,發(fā)現(xiàn)應用代碼中典型的高負載SQL的不合理性,從而找到提高SQL執(zhí)行效率、減少資源消耗的方法。我們發(fā)現(xiàn),80%以上的性能問題與應用的架構及SQL性能相關,如果能在項目前期對系統(tǒng)架構進行合理的規(guī)劃設計,在開發(fā)階段寫出良好的SQL代碼,在數(shù)據庫中部署合理的索引,將極大地減少數(shù)據庫的資源消耗,提高應用響應時間,增大數(shù)據庫的吞吐量。不論是系統(tǒng)架構,還是代碼開發(fā),或者SQL算法的選擇,這些性能點的合理優(yōu)化都需要對數(shù)據庫底層原理有深入的理解、經驗和判斷力。本課程正是希望解決這樣的問題,課程重點放在數(shù)據庫優(yōu)化的原理和實踐上,課程由淺入深的詳細講解了Oracle數(shù)據庫應用優(yōu)化的方法和工具,同時針對實際案例進行分析和指導。
培訓內容
引子 簡單SQL的性能誤區(qū)
講述一些SQL使用技巧,描述開發(fā)人員容易出錯或者低效的一些SQL語句寫法,通過案例分析提高是開發(fā)人員SQL的書寫能力。下面的SQL部分重點講解一些有多年開發(fā)經驗的開發(fā)人員也會忽略的SQL技巧和性能要點。
1、簡單SQL的性能誤區(qū)
一些SQL使用技巧,錯誤或者低效的一些SQL語句寫法,通過Oracle內部性能優(yōu)化工具展示不為我們所關注的那些性能隱患
2、集合操作、GROUP BY 子句的增強以及一些影響性能的高級子查詢
3、數(shù)據操作的性能影響
了解影響DML操作的性能因素,分析鎖競爭對DML性能下降的影響,以及其他可能帶來DML慢的原因。
培訓主題一、應用優(yōu)化思路與高級優(yōu)化工具
1、數(shù)據庫應用調優(yōu)概述
.海量數(shù)據庫優(yōu)化的思路和一些誤區(qū)
.優(yōu)化的三個階段以及各階段的步驟和方法
.了解整個系統(tǒng)構建過程中各部分對性能的影響以及有哪些可以優(yōu)化的部分,尤其對海量數(shù)據庫的架構設計、E-R模型設計及開發(fā)中的一些性能要點進行了詳細說明
.大數(shù)據量數(shù)據庫不同類型應用優(yōu)化的方向和方法,根據應用需求確定優(yōu)化方向,對大數(shù)據訪問及高并發(fā)訪問的應用優(yōu)化方向進行分析
.優(yōu)化的基本步驟、方法以及注意事項
2、優(yōu)化工具介紹
.性能優(yōu)化的七種武器,通過各種案例學習如何通過Oracle提供給我們的工具發(fā)現(xiàn)、分析、解決性能問題:
.診斷性能問題的幫手:Statspack與AWR/ADDM,提供性能信息收集與性能差異報告,通過結合客戶的性能差異報告掌握如何進行性能問題分析與診斷
培訓主題二、數(shù)據庫應用優(yōu)化——應用存儲優(yōu)化
1、從性能的角度分析如何用好你的表:
.怎么選擇表
.從作用上分析如何選擇*表和臨時表
.從數(shù)據訪問需求上,根據分區(qū)表、索引組織表、聚簇表或者普通表對性能的影響,選擇合理的數(shù)據存儲方法
.從數(shù)據特征上考慮字段類型選擇
.從競爭和I/O需求上考慮表的存儲參數(shù)和屬性設置
.怎么管理表
.松散表的判斷方法,解決松散表的move與shrink的執(zhí)行效率和性能影響
培訓主題三、數(shù)據庫應用優(yōu)化——應用SQL優(yōu)化
1、SQL語句的處理過程
.了解Sql語句的優(yōu)化思路和優(yōu)化重點
分析Oracle數(shù)據庫中SQL語句的處理過程,了解SQL解析、執(zhí)行、取操作的每個環(huán)節(jié)對性能的影響,掌握SQL硬解析對性能的影響和優(yōu)化硬解析的方法
2、CBO和RBO介紹
.了解決定SQL語句執(zhí)行計劃生成方法的優(yōu)化模式,并選擇適合的優(yōu)化模式以便得到正確的執(zhí)行計劃,對比CBO、RBO各自適合的場景
3、優(yōu)化SQL語句的相關工具
了解數(shù)據庫Sql語句的優(yōu)化方法,通過相關工具定位具有高影響力的SQL,收集SQL語句的統(tǒng)計信息和執(zhí)行計劃,分析執(zhí)行計劃的正確性,對比統(tǒng)計信息,選擇*執(zhí)行計劃。涉及到的SQL優(yōu)化工具包括:
.提供SQL優(yōu)化集的Statspack與awr
.使用Explai.plan分析執(zhí)行計劃
.通過autotrace分析故障語句的執(zhí)行計劃和統(tǒng)計信息
.通過Sq.trace查找有性能問題的SQL語句
.通過10g的Sq.tunning advise自動分析語句性能
.通過10g的Sq.access advise自動分析語句算法
4、數(shù)據訪問方法(大量案例演示):
.介紹執(zhí)行計劃中的數(shù)據訪問方法以及各自的優(yōu)缺點
.分析索引加速查詢的原理,確定索引與全表掃描到底如何選擇
.確定哪些因素影響索引訪問的性能
.索引適合建立在哪些字段上
.B*tree索引與位圖索引的選擇
.DML操作對索引的影響,以及如何設置索引的存儲參數(shù)和屬性
.索引無效的原因以及如何書寫語句以便選擇正確的執(zhí)行計劃
.如何通過索引加快COUNT
.對比hash join、nest loop、sort merge這三種奪表連接算法的優(yōu)劣
.對物化視圖進行分析,確定這種最快的數(shù)據訪問方法的特點和使用場景,并通過案例說明這些數(shù)據訪問方法對性能的影響
5、收集統(tǒng)計信息
.通過analyze或者dbms_stats方法收集統(tǒng)計信息
.理解各種統(tǒng)計信息對性能有何種影響
.分析綁定變量與統(tǒng)計信息的關系,確定使用綁定變量優(yōu)化解析最適合的場景
6、應用或者強制執(zhí)行計劃)
通過對語句的修改影響RBO下的執(zhí)行計劃,通過修改參數(shù)值影響CBO生成的執(zhí)行計劃,通過hints直接強制執(zhí)行計劃
7、Sql語句優(yōu)化經驗
將實際經驗中總結出的Sql使用方法和經驗進行講解,讓大家了解什么樣的Sql語句是比較好的語句,以及如何判斷語句性能的問題
培訓師介紹
李老師擅長Oracle數(shù)據庫的應用需求分析、架構設計、數(shù)據建模、數(shù)據庫管理、性能優(yōu)化、災難恢復等,服務客戶涉及金融、電信、稅務、公安、電力、民航、鐵路等行業(yè),為各行業(yè)客戶設計部署穩(wěn)定的系統(tǒng)架構,解決各種數(shù)據庫疑難故障,優(yōu)化數(shù)據庫應用系統(tǒng)性能,保證客戶數(shù)據庫的正常運行?;诙嗄甑墓ぷ鹘洑v,李老師對Oracle數(shù)據庫的設計、優(yōu)化、管理、開發(fā)等各項工作具有獨到的見解和豐富的經驗。
Oracle 應用優(yōu)化培訓課程
轉載:http://www.hyjc688.com/gkk_detail/19226.html