*章 數(shù)據庫應用調優(yōu)概述
數(shù)據庫優(yōu)化的基本思路和基本原則,從整體上對性能優(yōu)化的各個階段進行了分析描述,確定性能優(yōu)化的方法和步驟,分別描述數(shù)據庫優(yōu)化和應用優(yōu)化對性能的影響
第二章優(yōu)化工具介紹(大量案例)
與數(shù)據庫優(yōu)化相關的工具,主要是察看數(shù)據庫運行情況和收集數(shù)據庫統(tǒng)計信息的Oracle自帶的相關工具以及一些OS工具,了解工具的用戶以及對如何利用收集的信息判斷性能問題,將會涉及到下列優(yōu)化工具:
最根本的性能信息工具:數(shù)據庫數(shù)據字典和動態(tài)性能視圖
Alert Log與Trace Files對性能故障診斷的幫助
診斷性能問題的法寶:Statspack與awr
Oracle性能診斷的又一利器:等待事件
10g新增加的自動化監(jiān)控、調優(yōu)工具——ADDM
基于自動化收集的性能指導工具介紹
第三章數(shù)據庫優(yōu)化——內存優(yōu)化
1、SGA的內存調整
動態(tài)的SGA與10g自動管理的SGA
2、數(shù)據高速緩存區(qū)的優(yōu)化(少量案例)
數(shù)據高速緩存區(qū)的性能指標和判斷依據,以及如何在各種情況下執(zhí)行針對性的優(yōu)化工作
3、共享池的優(yōu)化(少量案例)
共享池的庫高速緩存、字典高速緩存的性能指標和判斷依據,以及如何進行各種情況的優(yōu)化工作
4、其他SGA組件的優(yōu)化(少量案例)
重做日志緩沖區(qū)的優(yōu)化考慮以及各個內存區(qū)大小的經驗判斷方法
第四章數(shù)據庫優(yōu)化——I/O優(yōu)化(少量案例)
數(shù)據庫數(shù)據文件、重做日志文件、歸檔文件的I/O性能特點分析和優(yōu)化原則,存儲級的I/O性能考慮,檢測點的原理及優(yōu)化,使用多DBWR進程增加I/O能力,異步I/O的性能考慮,LGWR與ARC進程的優(yōu)化,加速歸檔的方法
第五章數(shù)據庫優(yōu)化——競爭優(yōu)化
1、鎖存器(LATCH)競爭優(yōu)化
鎖存器的主要功能和工作原理,如何判斷和解除鎖存器競爭
2、鎖競爭的解決(少量案例)
數(shù)據庫的鎖機制原理,鎖的分類和各種模式,如何優(yōu)化鎖競爭
3、回滾段競爭優(yōu)化
回滾段的主要作用和工作原理,Oracle的自動撤銷段管理方式,如何判斷回滾段競爭以及如何解決回滾段競爭,對回滾段使用中Ora-01555故障的分析與處理
第六章應用優(yōu)化——應用存儲優(yōu)化
1、應用存儲參數(shù)的優(yōu)化(大量案例)
了解存儲結構基本概念,對比DMT與LMT的性能特點,分析數(shù)據庫段、區(qū)、塊的存儲設置對于數(shù)據庫的數(shù)據訪問的性能影響,從而選擇合適的塊大小,考慮多種多塊大小對性能的影響。設置合理的塊空間參數(shù),以減少I/O數(shù)量并且合理的存儲數(shù)據,注意行鏈與行遷移對性能的影響,解決行遷移,同時選擇ASSM存儲方式以減少段頭競爭。掌握HWM的含義和對性能的影響,找出存儲結構不合理的表和索引,采取適當?shù)姆椒▽⑦@些對象進行重組,使存儲結構更加合理,從而得到更好的訪問性能
2、選擇合適的數(shù)據存儲方法(少量案例)
了解數(shù)據庫應用的特點,知道各種數(shù)據存儲的方式對性能的影響,合理的選擇分區(qū)表、索引組織表、聚簇表或者普通表存儲數(shù)據。對用于存儲海量數(shù)據的分區(qū)表的概念和維護進行詳細描述,確定如何使用分區(qū)表加快查詢性能
第七章應用優(yōu)化——應用語句優(yōu)化
1、SQL語句的處理過程(少量案例)
了解SQL語句運行的過程和相關的數(shù)據庫組件,掌握優(yōu)化SQL語句的基本步驟和相關概念
2、SQL語句解析的優(yōu)化(少量案例)
講解SQL語句硬解析的過程和對性能的影響,通過案例分析如何減少硬解析
3、排序操作的優(yōu)化(少量案例)
SQL語句執(zhí)行時排序的原理和性能分析,確定與排序相關的操作,通過案例分析如何優(yōu)化排序
4、優(yōu)化SQL語句的相關工具(大量案例)
了解數(shù)據庫Sql語句的優(yōu)化方法,通過相關工具定位具有高影響力的SQL,收集SQL語句的統(tǒng)計信息和執(zhí)行計劃,分析執(zhí)行計劃的正確性,對比統(tǒng)計信息,選擇*執(zhí)行計劃。涉及到的SQL優(yōu)化工具包括:
提供SQL優(yōu)化集的Statspack與awr
使用Explain plan分析執(zhí)行計劃
通過autotrace分析故障語句的執(zhí)行計劃和統(tǒng)計信息
通過Sql trace查找有性能問題的SQL語句
通過10g的Sql tunning advise自動分析語句性能
通過10g的Sql access advise自動分析語句算法
5、CBO和RBO介紹(少量案例)
了解決定SQL語句執(zhí)行計劃生成方法的優(yōu)化模式,并選擇適合的優(yōu)化模式以便得到正確的執(zhí)行計劃,對比CBO、RBO各自適合的場景
6、數(shù)據訪問方法概述(大量案例)
索引訪問:介紹執(zhí)行計劃中常見或者特殊的一些數(shù)據訪問方法以及各自的優(yōu)缺點,尤其是主要數(shù)據訪問方法——索引訪問與全表掃描的對比,分析索引原理,理解在什么條件下索引能夠加速查詢,確定FTS算法使用的場景,以及如何優(yōu)化FTS。
多表連接:對比hash join、nest loop、sort merge這三種奪表連接算法的優(yōu)劣,確定各自適合的場景。
物化視圖:另外也對特殊的數(shù)據訪問方法——物化視圖進行分析,確定這種最快的數(shù)據訪問方法的特點和使用場景,并通過案例說明這些數(shù)據訪問方法對性能的影響。
7、收集統(tǒng)計信息(少量案例)
通過各種方法收集統(tǒng)計信息,為CBO計算準確的代價提供基礎數(shù)據,描述各種統(tǒng)計信息對性能有何種影響
8、應用或者強制執(zhí)行計劃(少量案例)
通過對語句的修改影響RBO下的執(zhí)行計劃,通過修改參數(shù)值影響CBO生成的執(zhí)行計劃,通過hints直接強制執(zhí)行計劃
9、Sql語句優(yōu)化經驗(大量案例)
將實際經驗中總結出的Sql使用方法和經驗進行講解,讓大家了解什么樣的Sql語句是比較好的語句,以及如何判斷語句性能的問題
10、穩(wěn)定調整好的語句執(zhí)行計劃
通過存儲概要確保執(zhí)行計劃的穩(wěn)定性,即使外界環(huán)境發(fā)生改變,調整好的執(zhí)行計劃也不改變