DBA的思想天空

REDO的基本原理1415.2.1 REDO最佳化1575.3.1 ASM的結構2018.2.1

內容介紹

內容簡介:
資料庫的性能最佳化一直是DBA日常工作中非常重要的組成部分,然而很多DBA在學習了大量技術,參加了大量培訓後,仍然會在實際工作中遇到難以下手的問題。實際上,在資料庫最佳化工作中,方法和思路遠比技術實現重要得多。
本書重在介紹Oracle資料庫的性能調優方法及相應的工作思路,但並不拘泥於技術細節。作者通過大量真實案例,深度剖析了相關技術原理,同時還闡述了理論知識在實踐中的套用方法。最佳化工作的本質其實就是透過表象探尋根源,解決問題實現調優,正所謂“思路是道,操作方法是技”,得道是極大的提升,也是DBA的思想精髓。

作者介紹

作者簡介:
白鱔
Oracle ACE。從事IT工作20年,曾供職於DEC、賽格計算機、長天集團、聯想金融事業部等,擔任過技術總監、套用體系總監等技術職務。長期從事套用軟體開發、設計與性能最佳化工作,1996年主持設計了國內首套電信級長話在線上實時計費系統,榮獲福建省科技進步三等獎;1998年主持設計了首套三檢合一的檢驗檢疫綜合管理系統,榮獲深圳市科技進步三等獎。2002年起從事專業IT運維與技術支撐服務工作,在系統最佳化領域有十分豐富的工作經驗,參與過數十個大型最佳化項目。著有《Oracle 最佳化日記》、《Oracle RAC日記》等技術書籍。
儲學榮
1992年畢業於南京大學計算機系,曾供職於得實集團、長天集團、聯想集團等知名IT企業,擔任程式設計師、軟體架構師等職務。從事過電信、金融、政府等行業核心繫統研發工作,參與過UNIX核心開發工作並獨立開發了類自然語言的電信計費專用語言ABC的編譯器和P代碼運行虛擬機。2005年開始專門從事IT諮詢與性能最佳化工作,在Oracle資料庫性能最佳化方面有很深的造詣,並對Oracle資料庫的內部結構有較深的研究,編寫有大量的數據拯救工具。

作品目錄

目錄
第一部分  基礎原理篇
第1章  理解Oracle資料庫和實例3
1.1  什麼是Oracle資料庫3
1.2  Oracle資料庫的物理結構6
1.2.1  Inventory6
1.2.2  口令檔案9
1.2.3  參數檔案10
1.2.4  控制檔案11
1.2.5  線上日誌檔案12
1.2.6  數據檔案12
1.2.7  歸檔日誌檔案12
1.3  實例和多實例資料庫13
1.3.1  什麼是資料庫實例13
1.3.2  多實例資料庫16
1.4  資料庫後台進程18
1.4.1  進程結構19
1.4.2  後台進程的功能作介紹20
1.4.3  哪些後台進程可以殺22
1.4.4  是誰在執行SQL27
第2章  理解DB Cache31
2.1  什麼是DB Cache33
2.2  DB Cache的分配和DBWR的相關算法40
2.2.1  DB_WRITER_PROCESSES參數41
2.2.2  DB Cache的幾個主要的鏈和CKPT算法43
2.2.3  檢索某個DB BLOCK的模擬算法45
2.3  DB Cache相關的參數閂鎖和等待事件48
2.4  DB Cache最佳化的一些探討51
2.4.1  DB Cache和熱塊衝突51
2.4.2  使用KEEP POOL能改善CBC爭用嗎54
2.4.3  如何判斷DB Cache是否足夠55
2.4.4  DB Cache最佳化要點59
第3章  理解共享池62
3.1  共享池堆的內部結構64
3.1.1  進一步了解共享池68
3.1.2  共享池的子池技術75
3.1.3  字典快取78
3.1.4  庫快取和游標80
3.2  共享池和游標85
3.2.1  游標與游標共享86
3.2.2  游標與SQL的執行90
3.2.3  游標共享和綁定變數96
3.2.4  OPEN CURSOR和OPEN_CURSORS參數101
3.2.5  CURSOR_SPACE_FOR_TIME參數102
3.2.6  SESSION_CACHED_CURSORS參數和OPEN_CURSORS103
3.2.7  CURSOR_SHARING和游標共享109
3.2.8  游標的關閉111
3.2.9  互斥鎖和游標112
3.3  共享池的相關參數114
3.4  共享池故障處理115
3.4.1  著名的ORA-4031116
3.4.2  其他共享池常見故障125
3.5  共享池最佳化的主要思路128
第4章  理解控制檔案130
4.1  控制檔案的內部結構130
4.1.1  控制檔案和控制檔案事務130
4.1.2  控制檔案自動擴展132
4.1.3  如何轉儲和分析控制檔案133
4.1.4  檔案頭和控制檔案信息135
4.2  故障處理和最佳化136
4.2.1  丟失或者損壞控制檔案的處理方法136
4.2.2  控制檔案的最佳化138
第5章  理解REDO日誌140
5.1  什麼是REDO日誌140
5.2  REDO的基本原理141
5.2.1  介質恢復和實例恢復的基本概念141
5.2.2  變化矢量和REDO記錄143
5.2.3  日誌緩衝和LGWR149
5.2.4  日誌切換和REDO日誌檔案152
5.2.5  事務提交和回滾的過程156
5.3  REDO最佳化157
5.3.1  BULK操作能減少REDO嗎157
5.3.2  如何最佳化LOG FILE SYNC等待事件166
5.3.3  SHUTDOWN ABORT無害嗎168
5.3.4  關於REDO日誌最佳化的建議169
第6章  理解UNDO172
6.1  UNDO的基本原理172
6.1.1  UNDO表空間和回滾段173
6.1.2  ITL和UNDO175
6.1.3  如何轉儲UNDO176
6.1.4  UNDO自動管理是如何工作的177
6.1.5  系統回滾段的作用178
6.1.6  著名的ORA-1555179
6.1.7  回滾段手工管理180
6.2  如何分析和最佳化UNDO181
第7章  理解PGA、臨時表空間和排序183
7.1  基本概念184
7.1.1  臨時表空間和臨時段184
7.1.2  PGA和排序185
7.1.3  PGA和PGA_AGGREGATE_ TARGET187
7.1.4  你應該知道的PGA自動管理內幕191
7.2  PGA最佳化的要點193
第8章  理解ASM的結構197
8.1  什麼是ASM197
8.2  ASM的結構201
8.2.1  ASM DISKHEADER的結構201
8.2.2  ASM FILE DIRECTORY檔案結構203
8.2.3  ASM ALIAS DIRECTORY檔案結構207
8.2.4  ASM DISK DIRECTORY檔案結構209
8.2.5  從ASM存儲結構談ASM日常維護的要點210
8.3  如何使用KFED分析和修改ASM數據211
8.4  如何使用AMDU導出ASM檔案216
第9章  理解數據塊結構224
9.1  理解數據塊頭結構224
9.2  理解ITL227
9.3  理解記錄結構231
9.4  解析Oracle欄位的內部數據存儲格式234
9.5  理解LOB的存儲結構241
第10章  理解表的結構246
10.1  到底什麼是“表”246
10.1.1  PCTFREE和行鏈249
10.1.2  那些逝去的老參數254
10.1.3  減少熱塊衝突的方法257
10.2  從數據塊結構看目前主流容災技術260
10.3  案例——簡單任務265
第11章  理解索引278
11.1  反轉鍵索引的誤區280
11.2  索引訪問的方式284
11.2.1  小表用索引有意義嗎286
11.2.2  點陣圖索引為什麼不適合大並發量環境287
11.3  重建索引的作用291
11.4  索引使用的“三大紀律八項注意”294
11.5  案例——索引危機296
第12章  理解分區表305
12.1  什麼是分區表305
12.2  分區表對海量數據的意義310
12.2.1  分區表和歷史數據歸檔311
12.2.2  分區表和高水位推進315
12.2.3  分區表和RAC環境316
12.2.4  分區主鍵和分區粒度的選擇317
第13章  理解序列319
13.1  什麼是序列319
13.2  序列的使用和最佳化320
第二部分  分析思路篇
第14章  問題分析綜述324
14.1  如何抓住蝴蝶效應中的那隻蝴蝶325
14.2  為什麼要強調基礎概念328
14.3  工作中的好習慣帶來的福利330
第15章  DBA分析思路的探討332
15.1  問題分析總路線圖332
15.2  普通故障的分析路線335
15.3  性能問題的分析路線340
15.4  SQL語句的分析路線347
15.5  利用你知道的原理縮小問題的範圍351
15.6  關閉問題的條件353
15.7  靈活運用你的知識354
15.8  DBA需要與時俱進356
15.9  多表連線的最佳化技巧359
15.10  理論如何聯繫實踐364
第三部分  典型案例篇
第16章  RAC故障分析370
16.1  LOG_ARCHIVE_MAX_PROCESS導致的RAC腦裂370
16.2  RAC系統故障的處理過程377
16.3  三天兩次嚴重故障381
第17章  ORA-600故障388
17.1  ORA-600 [12700]錯誤的分析過程388
17.2  ORA-600 [kdsgrp1]的處理案例401
第18章  性能問題分析407
18.1  壓力測試遇到的問題407
18.2  IMP導入性能問題的分析411
18.3  並行操作為什麼無法執行413
第19章  SQL最佳化421
19.1  一個常用的SQL最佳化方法421
19.2  一個查找IP所屬區域的SQL最佳化思路428
結束語433

相關詞條

熱門詞條

聯絡我們