內容簡介
作為Oracle公司核心技術,Oracle資料庫自1977年開始研發並逐步成熟,已經在全球眾多行業得到了廣泛而深入的套用,市場占有率一直雄居資料庫市場之首,從事與Oracle資料庫技術相關的IT人士更是無以計數。 相比IT行業其他技術,Oracle資料庫技術是一門門檻並不太高的技術,剛走出校門的大學生,也許只需學會幾條基本的SQL語句,然後再學學Java,會配置JDBC,就基本上可以成為資料庫套用開發人員了。但以作者從事IT行業二十餘年的經驗,Oracle資料庫其實是一個非常深奧的技術領域。雖然產品歷經三十多年發展,已經非常成熟而穩定,但是Oracle公司為了滿足業務發展需要,依然在老樹發新芽般地全力發展這一核心產品,例如12c的資料庫雲計算等。而且,即便在這一傳統技術領域,在架構設計、套用開發、運行維護、變更管理等多個領域,依然讓廣大客戶處處感覺到Oracle的博大精深,真有說不盡、道不完的感慨。 因此,圍繞Oracle資料庫這一核心產品和技術,在設計、開發、運維等IT系統全生命周期,作者結合本人在原廠多年從事服務工作的實施案例,並發出些許個性化的感悟,這就是作者寫作此書的目的、內容和特點了。希望這本書能給廣大IT人士,特別是從事與Oracle資料庫相關的同行們帶來裨益。
前言
既然有了再次寫作的衝動,特別是得到了那么多讀者、網民的善意點評和建議,那么在新書的內容、體裁和風格方面就有了如下的規劃了。
本書的內容
與《品悟性能最佳化》一書不同的是,新書將不再以性能最佳化為主線,而是劃分為設計和最佳化篇、11g新特性篇、故障診斷篇、運行維護篇、架構篇、服務篇等,將涉足資料庫邏輯設計、物理設計、常見故障診斷、資料庫空間管理、版本和補丁管理、資料庫安全性、資料庫升級、12c等具體專題,例如在11g新特性篇中將介紹數據壓縮、SPM、SQL Query Result Cache、SecureFiles等新技術。最後,還會介紹Oracle公司最新的服務體系和服務 產品。
本書的體裁
既然涉足那么多領域,不可能每個專題都是那么全面而系統。為避免蜻蜓點水,決定本書以技術雜文形式,針對某個領域的某個技術專題展開深入討論。根據各專題的不同,內容可能包括該技術原理的介紹、技術運用過程、相關案例,最後都會包括對該技術的感悟和點評。
為彌補《品悟性能最佳化》一書中對某些技術細節敘述不足的缺陷,本書儘量在每個技術專題中都更加細緻,並且更具有實用性,同時介紹相關參考資料及進一步讀物。
雖似技術雜文體裁,但希望最終結果是雜而不亂,或者看似雜亂,但求有序而實用。
本書的風格
感謝大部分讀者對《品悟性能最佳化》一書風格的肯定,因此,新書仍然將繼承並發揚這種風格,即敘述技術追求嚴謹,在案例、感悟和點評中則繼續保持適度的輕鬆、調侃和個性化特點。前者是重點,後者是為了提高書的可讀性,也是為了讓大家在辛苦閱讀大量技術細節之後,得到短暫的休憩和放鬆,甚至報以會心地一笑。
綜合上述想法,特別是考慮本書是圍繞Oracle資料庫這一核心技術在展開敘述,因此書名為《感悟Oracle核心技術》。
目錄
1.設計、最佳化篇
第1章 邏輯設計中的那些事
1.1 還是從案例開始 3
1.2 什麼叫規範化設計? 4
1.3 回到案例 6
1.4 規範化設計的好處 7
1.5 “這系統是你設計的?” 8
1.6 規範化設計工具:Oracle Data Modeler 9
1.7 非規範化設計若干案例 11
1.8 關於資料庫邏輯設計的感悟 16
1.9 授人以魚,不如授之以漁 19
1.10 本章參考資料及進一步讀物 20
第2章 物理設計中的感悟
2.1 二十多年前的物理設計 21
2.2 一個項目的物理設計概貌 21
2.3 從總體上考慮物理設計 22
2.4 表和索引設計基本建議 23
2.5 表空間設計的新特性 25
2.6 表空間設計原則和詳細設計 27
2.7 資料庫初始化參數設計 29
2.8 物理設計中的感和悟 31
2.9 本章參考資料及進一步讀物 33
第3章 再談海量資料庫設計、開發和管理
3.1 現有系統分區方案分析 35
3.2 大集中系統分區方案 36
3.3 深入探討全局分區索引 37
3.4 11g分區新技術 42
3.5 再次品味分區的甜與苦 45
3.6 本章參考資料及進一步讀物 48
第4章 性能最佳化:百談不厭的話題
4.1 重溫《品悟性能最佳化》一些重要觀點 49
4.2 深入剖析一個測試題 53
4.3 又一次“救火”經歷 55
4.4 某綜合報表平台的最佳化 61
4.5 適合於數據倉庫的Bitmap索引 69
4.6 半小時都沒聽懂的Bitmap Join索引 72
4.7 什麼叫精通Oracle? 74
4.8 一次典型故障引發的思考 75
4.9 本章參考資料及進一步讀物 80
2.11g新特性篇
第5章 11g新技術/新功能使用策略
5.1 我被客戶“打懵”了 85
5.2 11g 新技術、新特性一瞥 87
5.3 一個糾結的話題 91
5.4 11g新技術實施總體策略 94
5.5 本章參考資料及進一步讀物 95
第6章 11g的數據壓縮技術
6.1 為什麼Oracle壓縮技術運用不普及? 97
6.2 11g壓縮技術概述 98
6.3 深入剖析Oracle 壓縮算法 102
6.4 一個實際案例的分享 105
6.5 數據壓縮相關技術點 106
6.6 其他壓縮技術 108
6.7 數據壓縮技術運用建議 111
6.8 本章參考資料及進一步讀物 112
第7章 11g性能最佳化新技術
7.1 Result Cache原理 114
7.2 Result Cache使用過程 117
7.3 Result Cache的管理 118
7.4 Result Cache相關技術點 121
7.5 客戶端Result Cache技術 122
7.6 適合Result Cache的典型案例 124
7.7 本章參考資料及進一步讀物 126
第8章 11g性能管理新工具:SPM
8.1 一些典型場景 128
8.2 SPM原理 129
8.3 SPM使用過程 130
8.4 SPM適用場景 132
8.5 SPM相關技術點 136
8.6 本章參考資料及進一步讀物 138
第9章 11g大對象數據新技術
9.1 傳統LOB技術的運用 140
9.2 傳統LOB技術的不足 143
9.3 新一代大對象處理技術: SecureFiles 143
9.4 SecureFiles相關技術細節 144
9.5 SecureFiles遷移方法 145
9.6 SecureFiles實施案例 147
9.7 本章參考資料及進一步讀物 151
3.故障處理篇
第10章 話說故障診斷
10.1 通過案例看故障診斷 155
10.2 沒完沒了的收集數據 162
10.3 資料庫常見診斷工具 163
10.4 資料庫掛起診斷信息的收集 171
10.5 一些“自主智慧財產權”腳本 179
10.6 一個項目中的故障診斷 185
10.7 本章參考資料及進一步讀物 191
第11章 那些常見的Oracle錯誤
11.1 ORA-00600:內部錯誤 193
11.2 ORA-04030:PGA記憶體不夠 196
11.3 ORA-04031:Shared Pool記憶體不夠 198
11.4 空間不夠的問題 203
11.5 ORA-00376:資料庫檔案不可讀 206
11.6 ORA-01555:快照太舊 208
11.7 ORA-30036:UNDO表空間無法擴展 211
11.8 日誌切換頻度過高問題 213
11.9 故障處理的感和悟 218
11.10 本章參考資料及進一步讀物 219
第12章 資料庫壞塊處理技術
12.1 可怕的資料庫壞塊 221
12.2 壞塊處理的主要流程 223
12.3 壞塊處理八卦圖 229
12.4 DBMS_REPAIR包或設定10231事件 232
12.5 ROWID掃描方法 234
12.6 如何從壞塊中搶救數據? 236
12.7 壞塊搶救的最後招數 237
12.8 本章參考資料及進一步讀物 238
4.運行維護篇
第13章 漫談資料庫健康檢查
13.1 什麼是資料庫健康檢查? 241
13.2 多年前的一次健康檢查 242
13.3 最近一次健康檢查 246
13.4 關於健康檢查的點評 249
13.5 11g健康檢查新特性:Health Monitor 250
13.6 本章參考資料及進一步讀物 254
第14章 防範人為操作失誤:Flashback
14.1 人為錯誤的防範 255
14.2 資料庫級快速恢復 258
14.3 錯誤刪除表的快速恢復 261
14.4 表級快速恢復 263
14.5 記錄級快速恢復 264
14.6 Flashback在套用測試方面的運用 266
14.7 Flashback在安全審計方面的運用 268
14.8 Flashback在容災方面的運用 269
14.9 Flashback與傳統數據恢復技術的綜合運用 271
14.10 11g新技術:Total Recall 272
14.11 Flashback技術綜合對比 273
14.12 本章參考資料及進一步讀物 274
第15章 關於資料庫碎片管理
15.1 資料庫空間碎片問題 276
15.2 碎片評估方法 278
15.3 碎片整理方法 285
15.4 實施策略、組合和流程 290
15.5 本章參考資料及進一步讀物 293
第16章 Oracle版本、Bug和補丁
16.1 關於Bug和補丁的一個典型故事 295
16.2 Oracle版本和補丁概念 296
16.3 主動安裝補丁是防範故障的最有效辦法 298
16.4 Oracle資料庫版本和補丁集發布時間表 299
16.5 補丁實施那些事 302
16.6 一位客戶的SR處理 305
16.7 本章參考資料及進一步讀物 309
第17章 一個熱門話題:資料庫安全性
17.1 資料庫安全性需求及現狀 311
17.2 Oracle資料庫安全性解決方案 312
17.3 某銀行客戶安全性需求和Oracle策略 314
17.4 從安全性評估開始 318
17.5 本章參考資料及進一步讀物 329
5.架 構 篇
第18章 再談RAC
18.1 客戶啞口了 333
18.2 RAC實施方法和實施內容 336
18.3 11g RAC高可用性方案設計 337
18.4 11g RAC高可用性測試 341
18.5 某項目的11g RAC實施內容 355
18.6 11件加固RAC環境的事情 362
18.7 本章參考資料及進一步讀物 365
第19章 話說升級
19.1 關於資料庫升級的疑慮 367
19.2 為什麼要升級? 369
19.3 Oracle升級方法論介紹 371
19.4 現狀及升級改造需求分析 374
19.5 升級和遷移技術方案 374
19.6 升級中的性能最佳化和性能管理 382
19.7 升級項目的實施和組織 384
19.8 升級風險評估控制 385
19.9 有感於某移動公司的升級案例 388
19.10 本章參考資料及進一步讀物 389
第20章 資料庫私有雲技術
20.1 雲計算概述 391
20.2 不同層次的雲計算 393
20.3 某案例的基礎架構雲計算實施 394
20.4 資料庫雲計算中的典型技術 397
20.5 一次尷尬的拜訪經歷 400
20.6 資料庫雲計算案例分享 401
20.7 本章參考資料及進一步讀物 406
第21章 嘗鮮Oracle 12c
21.1 新特性培訓課的趣事 407
21.2 12c架構方面的最大變化 408
21.3 CDB和PDB的創建、啟動和關閉 412
21.4 CDB和PDB的日常管理 420
21.5 信息生命周期管理的挑戰和12c解決方案 424
21.6 Heat Map和ADO詳細技術 426
21.7 數據歸檔新技術 432
21.8 “貌合神離,貌離神合” 436
21.9 12c實施案例 438
21.10 本章參考資料及進一步讀物 441
6.服 務 篇
第22章 再說Oracle服務
22.1 回顧Oracle服務體系 445
22.2 ACS服務概述 446
22.3 ACS =醫院+保險公司 448
22.4 濃墨重彩SSC服務 451
22.5 問題、需求和服務解決方案 464
22.6 本章參考資料及進一步讀物 467
第23章 Oracle高級客戶服務中那些事
23.1 如何主動開展ACS服務的故事 468
23.2 沒有ACS服務的窘境 470
23.3 ACS售前案例:對症下藥 472
23.4 ACS售前案例:機會總有的 474
23.5 ACS 與第三方公司的區別和優勢在哪裡? 476
23.6 原廠的尷尬和原廠的優勢 480
23.7 感悟ACS服務 481
23.8 也談服務 483
23.9 本章參考資料及進一步讀物 484
結束語