第1部分 集群理論篇
第1章 RAC初體驗 2
1.1 本書使用環境 3
1.1.1 硬件環境 3
1.1.2 軟件環境 4
1.1.3 本書使用的環境 6
1.2 如何在PC機上搭建RAC環境 7
1.2.1 需要下載的軟件 7
1.2.2 安裝過程 8
1.3 任務列錶 16
1.4 規劃階段 17
1.4.1 確認主機名和3個IP地址 17
1.4.2 存儲方案選型 17
1.5 實施階段 19
1.5.1 主機配置 19
1.5.2 安裝Oracle Clusterware 27
1.5.3 安裝Oracle Database 33
1.5.4 配置Listener 35
1.5.5 創建ASM 38
1.5.6 創建數據庫 40
1.6 客戶端測試 43
1.6.1 客戶端配置 43
1.6.2 體驗Failover 44
1.6.3 體驗LoadBalance 45
1.6.4 修改歸檔模式 46
第2章 集群、RAC和MAA 48
2.1 什麼是集群 48
2.1.1 係統可靠性 49
2.1.2 係統性能 49
2.1.3 集群的技術基礎 50
2.2 集群術語 51
2.2.1 兩大關鍵特性:可擴展性和高可用性 51
2.2.2 兩大核心能力:負載均衡和故障轉移 52
2.2.3 集群組成元素 52
2.2.4 集群分類 52
2.3 Oracle的高可用架構(MAA) 53
2.3.1 MAA實例 54
2.3.2 雙機熱備——一個被遺漏的技術 55
2.4 RAC集群 56
2.4.1 存儲層 57
2.4.2 網絡層 57
2.4.3 集群件層 58
2.4.4 應用層 58
2.5 RAC集群環境的特殊問題 59
2.5.1 並發控製 59
2.5.2 健忘癥(Amnesia) 59
2.5.3 腦裂(Split Brain) 59
2.5.4 IO隔離(IO Fencing) 60
2.6 RAC的前世今生 61
2.6.1 Oracle Database的曆史 61
2.6.2 Oracle RAC的曆史 62
2.6.3 OPS和RAC的區彆 64
2.7 RAC的好處 65
2.7.1 增加可用性 66
2.7.2 擴展性 67
2.7.3 更容易管理 67
2.7.4 其他選擇 68
2.8 小結 68
第3章 Oracle Clusterware 69
3.1 Clusterware和RAC的關係 69
3.2 Oracle Clusterware組成 70
3.2.1 磁盤文件 70
3.2.2 Clusterware後颱進程 76
3.2.3 網絡組件 83
3.3 Clusterware的日誌體係 87
3.4 Clusterware和廠商集群的關係 88
3.5 小結 89
第4章 RAC原理 90
4.1 數據庫基本原理 90
4.1.1 並發訪問和數據一緻性 91
4.1.2 事務和隔離級彆 92
4.1.3 Oracle支持的隔離級彆 93
4.2 Oracle單實例的並發控製機製 94
4.2.1 Lock 94
4.2.2 數據記錄的行級鎖 95
4.2.3 Latch 99
4.2.4 Latch和Lock對比 99
4.2.5 進一步理解 100
4.3 RAC下的並發控製 102
4.3.1 DLM中資源和鎖 103
4.3.2 Non-Cache Fusion資源 104
4.3.3 Cache Fusion資源 105
4.3.4 GRD(Global Resource Directory) 106
4.3.5 PCM Lock 107
4.3.6 Cache Fusion 108
4.3.7 RAC並發控製總結 113
4.4 RAC架構 113
4.4.1 SGA的變化 114
4.4.2 後颱進程的變化 114
4.4.3 文件 116
4.4.4 SCN 117
4.4.5 Cache Fusion、GCS、GES 118
4.5 RAC和Clusterware的交互 119
4.5.1 Clusterware層 119
4.5.2 RAC層 120
4.6 小結 123
第5章 存儲方案——ASM初步 124
5.1 Shared-Disk和Shared-Nothing架構 124
5.2 Oracle 10g RAC的存儲方案介紹 125
5.3 ASM架構 125
5.3.1 ASM實例 126
5.3.2 文件 127
5.4 配置ASM 127
5.4.1 安裝位置 127
5.4.2 創建ASM磁盤 127
5.4.3 配置ASM實例 137
5.4.4 創建磁盤組 140
5.4.5 在數據庫中使用ASM的磁盤組 140
5.4.6 如何從遠程訪問ASM實例 141
5.5 ASM實例:將數據庫遷移到ASM 141
5.5.1 試驗說明 141
5.5.2 操作步驟 141
5.5.3 最後驗證 148
5.6 小結 148
第2部分 實戰篇
第6章 RAC維護工具集 150
6.1 Oracle Clusterware工具集 150
6.2 節點層 150
6.3 網絡層 151
6.3.1 公有網絡 151
6.3.2 私有網絡 151
6.3.3 私有網絡的參數調整 154
6.3.4 oficfg命令 155
6.3.5 工程中解決不能識彆心跳網絡的故障 157
6.4 集群層 159
6.4.1 crsctl 159
6.4.2 OCR命令係列 164
6.4.3 一個Bug引起的係統重啓 171
6.5 應用層 185
6.5.1 crs_stat 185
6.5.2 onsctl 188
6.5.3 srvctl 193
6.5.4 恢復 199
6.6 小結 202
第7章 HA和LB 203
7.1 什麼是高可用性 203
7.2 Failover 204
7.2.1 Client-Side Connect Time Failover 204
7.2.2 TAF(Transparent Application Failover) 204
7.2.3 Client-Side Failover和TAF的對照試驗 205
7.2.4 Server-Side TAF 208
7.2.5 深入TAF細節 214
7.3 Oracle Clusterware HA框架 221
7.3.1 術語介紹 221
7.3.2 配置命令 223
7.3.3 完整實例 228
7.4 LoadBalance 232
7.4.1 Connection Balancing 232
7.4.2 利用Service分散負載 235
7.5 測試LoadBalance 236
7.5.1 通過Listener日誌區分路由來源 236
7.5.2 測試方法 237
7.5.3 測試過程 238
7.6 小結 242
第8章 備份 243
8.1 概述 243
8.1.1 歸檔模式和非歸檔模式 243
8.1.2 備份分類 245
8.1.3 User-Managed Backup 246
8.2 使用Flash Recovery Area 248
8.2.1 配置Flash Recovery Area 249
8.2.2 Flash Recovery Area的空間監控 249
8.3 RMAN架構 250
8.3.1 Target Database 250
8.3.2 Catalog Database 251
8.3.3 通道(Channel) 251
8.3.4 閃迴恢復區(Flash Recovery Area) 251
8.3.5 備份集(Backup Set)和拷貝(Copy) 251
8.3.6 介質管理器 252
8.3.7 連接到數據庫 252
8.4 使用RMAN 253
8.4.1 RMAN工具的使用方法 253
8.4.2 RMAN配置 255
8.5 完全備份和增量備份 264
8.5.1 完全備份 264
8.5.2 增量備份 267
8.5.3 其他RMAN命令 269
8.6 RAC的備份實例 275
8.7 小結 278
第9章 恢復 280
9.1 Oracle事務基本原理 280
9.1.1 SCN 282
9.1.2 檢查點 284
9.2 日誌 286
9.2.1 日誌內容 286
9.2.2 日誌綫程(Redo Thread) 288
9.2.3 日誌寫 288
9.3 恢復種類 289
9.3.1 Instance Recovery 291
9.3.2 Crash Recovery 291
9.3.3 Media Recovery 295
9.3.4 Online Block Recovery 295
9.4 介質恢復 296
9.4.1 完全恢復 296
9.4.2 不完全恢復 300
9.4.3 恢復到單實例 312
9.5 其他一些有用的恢復演示 319
9.5.1 從自動備份的中恢復spfile 319
9.5.2 控製文件的恢復 320
9.6 利用恢復的控製文件進行數據庫恢復 321
9.6.1 使用alter database open resetlogs的場閤 321
9.6.2 重建控製文件 321
9.6.3 使用using backup controlfile的場閤 322
9.6.4 例子1:使用備份的控製文件做恢復 322
9.6.5 例子2:用noresetlogs方法重建控製文件 326
9.6.6 例子3:用resetlogs方法重建控製文件 329
9.7 DBID的重要性和獲得DBID的方法 330
9.7.1 通過數據文件、日誌文件(聯機或者歸檔) 330
9.7.2 根據自動備份的控製文件得到 331
9.8 小結 331
第10章 其他恢復技術 332
10.1 數據塊恢復 332
10.2 如何檢查數據塊一緻性 333
10.2.1 使用初始化參數 333
10.2.2 DBV工具 334
10.2.3 Analyze命令 336
10.2.4 RMAN工具 336
10.2.5 dbms_repair包 337
10.3 模擬數據塊不一緻 337
10.4 數據塊不一緻處理辦法 341
10.4.1 收集信息 342
10.4.2 設計恢復方法 343
10.4.3 恢復操作 344
10.5 數據塊恢復實例 346
10.6 Flashback傢族介紹 353
10.7 Flashback Database 354
10.7.1 Flashback Database架構 354
10.7.2 啓用Flashback Database 354
10.7.3 Flashback Database 356
10.7.4 命令和視圖 359
10.8 Flashback Drop 360
10.8.1 Tablespace Recycle Bin 360
10.8.2 Flashback Drop操作 361
10.8.3 Recycly Bin的維護 363
10.9 Flashback Query和Flashback Table 364
10.9.1 Oracle 9i的Flashback Query 364
10.9.2 Flashback Version Query 365
10.9.3 Flashback Transaction Query 379
10.9.4 Flashback Table 381
10.9.5 UNDO Retntion 384
10.10 迴滾段損壞後的修復 385
10.10.1 AUM(Automatic Undo Management) 385
10.10.2 如何處理迴滾段損壞 397
10.11 小結 410
第11章 RAC和Data Guard 411
11.1 Data Guard介紹 411
11.1.1 Data Guard架構 412
11.1.2 日誌發送(Redo Send) 412
11.1.3 日誌接收(Redo Receive) 414
11.1.4 日誌應用(Redo Apply) 415
11.1.5 Data Guard環境中的重要進程 415
11.1.6 Standby Log File(SRL) 416
11.1.7 數據保護模式 417
11.1.8 自動裂隙檢測和解決 419
11.1.9 實時恢復(Real-Time Apply,RTA) 420
11.1.10 RTA引發的思考——關於同步的速度 421
11.1.11 如何監控恢復的性能 421
11.2 RAC和Standby配置實例 422
11.2.1 RAC Primary和Single Standby 423
11.2.2 RAC Primary和RAC Standby 433
11.3 角色轉換 444
11.3.1 Switchover 445
11.3.2 Failover 448
11.3.3 Failover步驟 452
11.3.4 Failover的例子 454
11.3.5 Failover之收尾 460
11.4 Standby環境下維護聯機日誌 464
11.4.1 手工添加日誌文件 464
11.4.2 手工刪除日誌文件 465
11.4.3 通過控製文件重新同步 465
11.5 小結 466
第12章 RAC和Stream Replication 467
12.1 Stream的工作原理 467
12.2 Data Guard和Stream對比 468
12.3 RAC Stream配置實例 469
12.3.1 Single(Source)和RAC(Target) 470
12.3.2 RAC對RAC的復製 474
12.3.3 STRMMON工具 492
12.4 小結 494
第13章 深入ASM 495
13.1 非ASM的存儲結構 495
13.2 ASM存儲結構 496
13.3 ASM文件係統 497
13.3.1 ASM Metadata 497
13.3.2 Physical Metadata 498
13.3.3 Virtual Metadata 499
13.3.4 Disk Recovery 501
13.3.5 條帶化(ASM Striping) 501
13.4 ASM中的文件布局規律 502
13.4.1 OMF 502
13.4.2 OFA 505
13.4.3 FRA(Flash Recovery Area)和OMF 506
13.4.4 ASM文件模闆(ASM File Template) 507
13.4.5 ASM彆名(ASM File Alias) 507
13.5 RDBMS和ASM之間的交互 522
13.6 ASM的實例恢復 524
13.7 ASM和OS Filesystem之間交互 524
13.7.1 dbms_file_transfer包 525
13.7.2 RMAN的CONVERT方法 530
13.7.3 ASM和TTS 530
13.8 ASM的限製 533
13.9 小結 533
第14章 性能與RAC 534
14.1 RAC性能的若乾特點 535
14.1.1 RAC環境的一些特殊注意點 537
14.1.2 RAC特有的性能指標 538
14.1.3 對於延遲時間的深入分析 542
14.1.4 RAC特有的等待事件 545
14.2 AWR 545
14.2.1 啓用AWR 546
14.2.2 修改AWR配置 546
14.2.3 産生AWR報告 546
14.3 ASH 547
14.4 GC的調整策略 550
14.5 SQL調整策略 551
14.5.1 SQL語句的執行過程 552
14.5.2 SQL性能調整的基本方法 552
14.5.3 PL/SQL和SQL 555
14.6 小結 557
· · · · · · (
收起)