內容簡介
本書由多位工作在資料庫維護一線的工程師合著而成,包含了精心挑選的資料庫診斷案例與性能最佳化實踐經驗,內容涉及Oracle典型錯誤的分析和診斷,各種SQL最佳化方法(包括調整索引,處理表碎片,最佳化分頁查詢,改善執行計畫等),以及最佳化系統性能的經驗。
作者不僅強調案例的實用性和可操作性,更著重再現解決問題的過程和思路並總結經驗教訓,希望將多年積累的工作方法,以及對DBA的職業發展的感悟展現出來,供廣大Oracle DBA借鑑參考。
編輯推薦
《Oracle DBA手記:資料庫診斷案例與性能最佳化實踐》是Oracle ACE總監、Oracle暢銷書作者蓋國強親自策劃,匯集五位一線Oracle DBA工作思考的心得,從不同視角展示資料庫診斷與最佳化的思路。
圖書目錄
第1篇 DBA工作手記
Eygle的DBA工作手記(作者:蓋國強)
DBA 2.0的時代
DBA日常工作職責——我對DBA的7點建議
DBA最重要的素質有哪些
DBA職業生涯之誤刪除篇
DBA警世錄——有些習慣DBA需要養成
RAC環境下故障處理一則
SQL_TRACE跟蹤與診斷
臨時表空間組導致遞歸SQL高度解析案例
使用閃回查詢恢復誤刪除的數據
使用ErrorStack進行錯誤跟蹤及診斷
斷電故障導致ASM DiskGroup故障及恢復案例
共享池的改進與ORA-04031的變化
共享記憶體無法正常釋放的處理
LOG_BUFFER設定與變遷
LOGMNR簡單而強大的工具
從數據字典中獲得更多知識
Yangtingkun的DBA工作手記(作者:楊廷琨)
利用SQL解釋一個魔術
ORA-600(17069)錯誤的解決過程
V$SQL視圖顯示結果異常的診斷
存儲過程ORA-4068之錯誤解析
一次網路連線錯誤的診斷
淺談JOB和DATABASE LINK的一個特點
一次ORA-01041錯誤診斷
一個ORA-604錯誤的分析
ORA-7445(kdodpm)錯誤
函式索引產生隱藏列
用SQL解決一道有趣的題
老熊的DBA手記(作者:熊軍)
TNS_ADMIN和OEM引起的血案
木馬防護軟體引起的DB Link故障
壞塊與數據恢復
IP位址衝突引發的ORA-12541錯誤
ORA-8103錯誤的處理
半瓶的DBA工作手記(作者:鄒德平)
SQL執行計畫改變導致查詢變慢
大數據量操作導致Data Guard延遲
Oracle重做日誌切換頻繁導致的性能問題
一次ORA-01438錯誤的解決辦法
使用LogMiner查找日誌信息
通過合併碎片來最佳化Oralce的存儲結構
RAC環境下GES報警情況的處理
第2篇 診斷案例篇
ASM案例分析與診斷(作者:楊廷琨)
ASM實例連線之ORA-1012錯誤分析
ASM空間擴展故障解決
ASM創建表空間之ORA-569錯誤解決
一次監聽故障的診斷與處理(作者:熊軍)
問題診斷分析
監聽的工作原理
問題的解決
總結
ORA系列錯誤與診斷(作者:楊廷琨)
解決ORA-600(16164)錯誤的過程
一次ORA-942錯誤的跟蹤
刪除表空間出現ORA-22868錯誤
一次ORA-1461錯誤處理過程
ORA-01200錯誤裸設備恢復(作者:蓋國強)
問題的發現
問題的分析
控制檔案與數據檔案頭
物理設備確認
解決方案的確定
恢復執行
使用rman管理裸設備檔案
Oracle放棄對於裸設備的支持
Oracle資料庫版本的含義
Oracle資料庫無回響故障的處理(作者:熊軍)
無回響故障現象分析
無回響故障成因分析
無回響故障處理流程
怎樣避免資料庫出現無回響故障
一個實際的案例處理過程
案例的總結分析
總結
RAC環境診斷案例一則(作者:楊廷琨)
第3篇 SQL調優篇
合理利用索引解決性能問題(作者:熊軍)
案例一:利用複合索引解決性能問題
B Tree索引的結構及特點
Oracle如何掃描索引
案例二:巧用索引降序掃描解決性能問題
通過索引訪問數據時的成本計算
案例三:降低clustering factor,解決性能問題
總結
SQL最佳化與調整實踐(作者:楊廷琨)
HINT如何跨越視圖生效
SQL最佳化引出的問題
SQL語句中常量的處理
一次更新操作的最佳化
索引訪問與數據讀取(作者:蓋國強)
高DB Time使用之SQL發現
執行計畫獲取及索引最佳化
INDEX FAST FULL SCAN與排序
降序INDEX FULL SCAN消除排序的最佳化
INDEX FAST FULL SCAN的數據訪問
INDEX FULL SCAN的數據訪問
鍵值順序與索引訪問的性能
使用基於函式的索引提升查詢性能
SQL最佳化之Everything is possible(作者:楊廷琨)
UNION效率比UNION ALL效率高
恆等查詢條件對查詢的影響
兩層GROUP BY的效率反而比一層GROUP BY高
增加DISTINCT後查詢效率反而提高
增加索引改變執行計畫
第4篇 性能最佳化篇
執行計畫與統計信息案例 (作者:楊廷琨)
CBO使用CHECK的一個Bug
查詢正常作為條件報錯的問題
JOB調用DBMS_STATS包出錯的診斷
長時間LATCH FREE等待——記一次系統異常的診斷過程
一次ORA-4030問題診斷及解決
Oracle資料庫性能與統計信息(作者:熊軍)
一個真實的案例
統計信息的重要性
統計信息的相關知識
面臨的問題與挑戰
關於統計信息的常見誤區
總結
聚簇因子、柱狀圖與執行計畫(作者:段林仲)
CLUSTERING_FACTOR對於執行計畫的影響
CURSOR_SHARING與SQL的執行計畫
Histograms對於執行計畫的影響
表碎片及分頁查詢最佳化(作者:蓋國強)
性能分析的起點
AWR與OSWatcher診斷案例
Statspack之案例分析
數據表之統計數據分析
碎片的消除與性能最佳化
Cache與Nocache對於性能的影響
ERP系統中Cache表案例分析
對於分頁查詢的最佳化
DBMS_PROFILER包用於診斷與最佳化
總結
一次排序的調整與最佳化(作者:段林仲)
Statspack之問題發現
SQL排序之問題定位
SQL最佳化與問題解決
最佳化後性能比較
參考文獻
索引