天天看點

Oracle 資料庫性能優化3日實戰(企業教育訓練)

課程時長 1天

課程深度: 進階

上機實驗: 10%-30%

授課對象: Oracle開發人員、Oracle資料庫管理人員,應用程式開發人員

課程描述:

本課程講述Oracle資料庫實體層規劃,系統性能的監控,資料庫性能參數調整,統計資訊的收集,使用自動化調試工具優化資料庫,I/O子系統的配置與設計以及性能優化方法論等。

預備知識:

熟悉作業系統相關(含Linux)基礎知識,具備中級以上資料庫相關的基礎知識,對Oracle資料庫體系結構有深入的了解, 熟悉SQL及PL/SQL正常用法等。

認識性能問題并合理的度量性能;

掌握資料庫實體層面規劃認識規劃的重要性;

掌握從系統層面監控資料庫性能;

掌握性能優化方法,定位性能關鍵區間;

掌握常用的性能調整參數及性能調整工具;

掌握統計資訊的收集與管理。

性能優化概述

性能問題有哪些表征?

性能優化從需求分析開始

性能問題如何度量?

如何規劃資料庫實體層面?

硬體配置調整

作業系統核心設定

網絡層面的配置

存儲層面的配置

系統層面如何監控性能?

Oracle Enterprise Manager (Cloud Control)

OSWatch

Linux自帶的sysstat工具包

從哪裡着手開始優化?

分而治之的方法論

性能優化分析路線

應用程式性能剖析

資料庫性能剖析

資料庫級别有哪些性能診斷工具?

執行個體Alert日志,叢集日志

AWR(自動工作負載倉庫)

ADDM(自動資料庫調試監控)

ASH(活動會話曆史)

Advisory元件

Oracle資料庫參數調整

有哪些重要的系統參數?

優化db_cache_size

優化shared_pool_size

優化pga_aggregate_target

收集系統及對象統計資訊

系統統計資訊

對象統計資訊

如何還原曆史統計資訊?

課程名稱: SQL,PL/SQL優化法則

課程時長 2天

上機實驗: 15%-35%

授課對象: Oracle開發人員、Oracle資料庫管理人員、應用程式或系統開發人員

本課程講述SQL,PL/SQL性能優化相關的實戰技巧。包括SQL優化器模式,SQL執行計劃的擷取及解讀,尋找低效的SQL語句,編寫高效SQL語句,提示的使用,通路路徑的優化,表連接配接優化,SQL自動優化,批量SQL優化,AWR與ADDM報告解讀,PL/SQL性能優化等等。

預備知識: 具備資料庫相關的知識,SQL相關知識,PL/SQL相關知識等等

掌握SQL語句執行過程的實質,綁定變量對于解析的影響;

掌握SQL優化的步驟及其指導原則;

掌握如何擷取SQL執行計劃以及解讀執行計劃;

掌握如何通過改寫SQL以及使用提示來優化SQL;

掌握資料庫通路路徑,表連接配接相關技巧;

掌握閱讀AWR,ADDM報告相關關鍵名額;

掌握PL/SQL以及批量SQL的優化技巧;

SQL語句如何被執行?

SQL語句執行過程

硬解析與軟解析

如何使用綁定變量

SQL優化的步驟

SQL優化器的模式

自頂向下的優化方法

配置查詢優化器

SQL優化指導原則

SQL執行計劃

擷取SQL執行計劃

解釋執行計劃

尋找Top SQL

Top 10 SQL

識别低效執行的SQL語句

Top 10 by Buffer Gets

Top 10 by Physical Reads

Top 10 by Executions

編寫高效的SQL

僅提取所需的資料列

使用DECODE函數來減少處理時間

使用TRUNCATE 代替 DELETE

用WHERE子句替換HAVING子句

避免比較不比對的資料類型

避免在索引列上使用NOT運算或不等于運算(<>,!=)

避免索引列上使用 NULL 值

使用SQL提示(hint)

改變執行路徑的提示

通路方法的相關提示

表連接配接操作提示

優化資料通路路徑

尋找低效的通路路徑

全表掃描

全索引掃描

ROWID掃描

基于函數的索引

INDEX FULL SCAN vs INDEX FAST FULL SCAN

表連接配接優化

嵌套循環連接配接

哈希連接配接

合并排序連接配接

使用STA自動優化SQL

STA優化SQL用法

STA優化的本質

基于物化視圖的進階優化

物化視圖的運作機制

何時使用物化視圖

查詢重寫與重新整理

AWR,ADDM報告解讀

AWR報告提取及解讀

ADDM報告提取及解讀

Oracle Execute to Parse 執行解析比案例分析

定位PL/SQL性能瓶頸

使用PL/SQL Developer剖析PL-SQL代碼

使用PL/SQL Profiler 剖析生成html報告

優化PL/SQL

減少PL/SQL單元疊代

使用RETURNING減少SQL執行次數

使用批量SQL提高性能

認識批量SQL

FETCH 的BULK處理

FORALL的BULK處理

SELECT INTO的BULK處理

Oracle 資料庫性能優化3日實戰(企業教育訓練)