通讀Oracle內(nèi)核技術(shù)揭密這本書,你會發(fā)現(xiàn)這是一本圖文并茂的書籍,該書內(nèi)容通俗易懂,講解詳細(xì)。再仔細(xì)閱讀一番,你會發(fā)現(xiàn)這其中文章其實(shí)都是作者親身學(xué)習(xí)和經(jīng)驗(yàn)的總結(jié),總之這是一本值得推薦、值得閱讀的好書。如果你需要一份pdf格式超清電子版oracle內(nèi)核技術(shù)揭密來進(jìn)行閱讀的話,那就趕緊來東坡下載吧!
oracle內(nèi)核技術(shù)揭密目錄
前 言
第1章 存儲結(jié)構(gòu) 1
1.1 區(qū):表空間中的基本單位 1
1.1.1 統(tǒng)一區(qū)大小表空間和區(qū)的使用規(guī)則 2
1.1.2 系統(tǒng)管理區(qū)大小 4
1.1.3 碎片:少到可以忽略的問題 7
1.2 段中塊的使用 7
1.2.1 塊中空間的使用 8
1.2.2 典型問題:堆表是有序的嗎 9
1.2.3 ASSM與L3、L2、L1塊的意義 10
1.2.4 值得注意的案例:ASSM真的能提高插入并發(fā)量嗎 12
1.2.5 段頭與Extent Map 21
1.2.6 索引范圍掃描的操作流程 24
第2章 調(diào)優(yōu)排故方法論 27
2.1 調(diào)優(yōu)排故的一般步驟 28
2.1.1 常見DUMP和Trace文件介紹 28
2.1.2 等待事件 29
2.1.3 各種資料視圖介紹 37
2.1.4 等待事件的注意事項 42
2.2 AWR概覽 44
2.2.1 AWR報告的注意事項 44
2.2.2 AWR類視圖 46
第3章 Buffer Cache內(nèi)部原理與I/O 51
3.1 HASH鏈表 51
3.1.1 HASH鏈表與邏輯讀 52
3.1.2 Cache Buffers Chain Latch與Buffer Pin鎖 54
3.1.3 Cache Buffers Chain Latch的競爭 61
3.2 檢查點(diǎn)隊列鏈表 77
3.2.1 檢查點(diǎn)隊列 77
3.2.2 檢查點(diǎn)隊列與實(shí)例恢復(fù) 82
3.2.3 DBWR如何寫臟塊 89
3.2.4 如何提高DBWR的寫效率 97
3.3 LRU隊列 100
3.3.1 主LRU、輔助LRU鏈表 100
3.3.2 臟鏈表LRUW 115
3.3.3 Free Buffer Waits 132
3.3.4 誰“扣動”了DBWR的“扳機(jī)” 134
3.3.5 日志切換與寫臟塊 141
3.4 I/O總結(jié) 146
3.4.1 邏輯讀資料分析 146
3.4.2 減少邏輯讀—行的讀取 148
3.4.3 物理I/O 161
3.4.4 存儲物理I/O能力評估 162
第4章 共享池揭密 166
4.1 共享池內(nèi)存結(jié)構(gòu) 167
4.1.1 堆、區(qū)、Chunk與子堆 167
4.1.2 Chunk類型(x$ksmsp視圖) 170
4.1.3 freeabl、recr與LRU鏈表 171
4.1.4 Free List鏈表 173
4.1.5 保留池 177
4.1.6 SQL的內(nèi)存結(jié)構(gòu):父游標(biāo)、子游標(biāo) 178
4.1.7 SQL的內(nèi)存結(jié)構(gòu):父游標(biāo)句柄 181
4.1.8 SQL的Chunk:父游標(biāo)堆0和DS 183
4.1.9 SQL的Chunk:子游標(biāo)句柄 186
4.1.10 SQL的Chunk:子游標(biāo)堆0與堆6 187
4.1.11 SQL所占共享池內(nèi)存 189
4.1.12 LRU鏈表:我的共享池大了還是小了 191
4.1.13 ORA-4031的吊詭:錯誤的報錯信息 195
4.1.14 解決ORA-4031之道:如何正確釋放內(nèi)存 201
4.1.15 Session Cached Cursor與內(nèi)存占用 205
4.2 語句解析和執(zhí)行 209
4.2.1 SQL執(zhí)行流程 209
4.2.2 內(nèi)存鎖原理 211
4.2.3 Library Cache Lock/Pin 218
4.2.4 Library Cache Lock/Pin與硬解析 219
4.2.5 Library Cache Lock/Pin與軟解析、軟軟解析 226
4.2.6 NULL模式Library Cache Lock與依賴鏈 229
4.2.7 存儲過程與Library Cache Lock/Pin 229
4.2.8 斷開依賴鏈 235
4.2.9 低級內(nèi)存鎖:Latch 237
4.2.10 Shared Pool Latch 239
4.3 Mutex 242
4.3.1 Mutex基本形式 242
4.3.2 Mutex獲取過程:原子指令測試并交換 245
4.3.3 Mutex獲取過程:競爭與Gets資料的更新 249
4.3.4 Mutex獲取過程:共享Mutex與獨(dú)占Mutex 250
4.3.5 獨(dú)占Mutex的獲取和釋放過程 252
4.3.6 Mutex獲取過程:Sleeps與CPU 254
4.4 Mutex與解析 261
4.4.1 Mutex類型 262
4.4.2 HASH Bucket與HASH鏈 262
4.4.3 Handle(句柄)與Library Cache Lock 262
4.4.4 HASH Table型Mutex 263
4.4.5 執(zhí)行計劃與Cursor Pin 264
4.5 通過Mutex判斷解析問題 265
4.5.1 硬解析時的競爭 265
4.5.2 軟解析和軟軟解析 266
4.5.3 解決解析階段的競爭 267
4.5.4 過度軟軟解析競爭的解決 268
4.5.5 Select與執(zhí)行 271
第5章 Redo調(diào)優(yōu)與備份恢復(fù)原理 277
5.1 非IMU與IMU Redo格式的不同 277
5.2 解析Redo數(shù)據(jù)流 282
5.3 IMU與非IMU相關(guān)的Redo Latch 287
5.4 Redo Allocation Latch 288
5.5 Log Buffer空間的使用 290
5.6 LGWR與Log File Sync和Log File Parallel Write 297
5.7 IMU什么情況下被使用 300
第6章 UNDO 302
6.1 事務(wù)基本信息 302
6.2 回滾段空間重用規(guī)則 307
6.2.1 UNDO塊的SEQ值 308
6.2.2 UNDO段的Extend 310
6.2.3 Steal Undo Extent:詭異的UNDO空間不足問題 311
6.2.4 回滾空間重用機(jī)制:UNDO塊重用規(guī)則 313
第7章 ASM 317
7.1 ASM文件格式 317
7.1.1 ASM文件 317
7.1.2 使用kfed挖掘ASM文件格式 319
7.2 AU與條帶 328
7.2.1 粗粒度不可調(diào)條帶 329
7.2.2 細(xì)粒度可調(diào)條帶 329
7.2.3 AU與條帶的作用 331
7.2.4 DG中盤數(shù)量對性能的影響 332
7.2.5 最大I/O與最小I/O 333
7.2.6 數(shù)據(jù)分布對性能的影響 334
7.2.7 案例精選:奇怪的IO問題 335
7.2.8 大AU和小AU性能對比 340
7.2.9 AU與條帶總結(jié) 341
7.2.10 OLTP與大條帶 342
附錄 HASH算法簡單介紹 344
oracle內(nèi)核技術(shù)揭密內(nèi)容簡介
本書是首本國內(nèi)作者深入剖析Oracle原理的技術(shù)書籍。雖以內(nèi)部原理為主線,但又不乏很多實(shí)際的應(yīng)用案例,希望讀者可以將學(xué)到的原理與實(shí)際應(yīng)用相結(jié)合,提高對Oracle的運(yùn)維能力。本書第1章主要說明一個方法論問題,總攬了Oracle調(diào)優(yōu)、排故的一般方法。在之后的章節(jié)中將會使用這章所介紹的方法來解決問題,并且會進(jìn)一步分析調(diào)優(yōu)排故的技巧。從第2章到第8章,分門別類地對Oracle各個體系結(jié)構(gòu)和原理進(jìn)行了逐層深入的介紹,這些章節(jié)的內(nèi)容主要分為兩部分:知識體系及原理介紹和相關(guān)典型案例分析。這些內(nèi)容和第1章是相互呼應(yīng)的。文中結(jié)合性能調(diào)整、診斷案例實(shí)踐,將Oracle知識全面、系統(tǒng)、深入地展現(xiàn)給讀者,旨在幫助讀者建立一套自己的調(diào)優(yōu)、排故模型。第9章作為特別深入的一章,將會講述在無源碼情況下深入研究Oracle的方法,這在國內(nèi)外還較少見。這一章內(nèi)容只是一個嘗試,如果讀者有興趣,將來可以考慮再出一本書專門講述這方面內(nèi)容的圖書。
oracle內(nèi)核技術(shù)揭密電子版內(nèi)容截圖
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版