《大話Oracle RAC集群、高可用性、備份與恢復》以Oracle 10g為基礎,對Oracle RAC進行瞭全麵的介紹和分析。全書分為兩個部分,共14章,第一部分是集群理論篇,這部分從集群基礎知識入手,通過分析集群環境和單機環境的不同,介紹瞭集群環境的各個組件及其作用,以及集群環境的一些專有技術,包括Oracle Clusterware、Oracle Database、ASM、Cache Fusion等。第二部分是實踐篇,每一章都針對RAC的一個知識點展開講解,包括Oracle Clusterware的維護、HA與LB、備份、恢復、Flashback傢族、RAC和Data Guard的結閤使用、RAC和Stream的結閤使用,最後對ASM進行深入介紹,並給齣性能調整的指導思想。
《大話Oracle RAC集群、高可用性、備份與恢復》按照“發現問題→解決問題→實踐與理論相結閤”的方式進行介紹,首先對現實問題進行分析,然後提供閤適的解決方案,最後自然地引齣Oracle中的理論知識點,這種講解方法能夠有效地降低閱讀難度,幫助讀者更好地掌握相關技能。
《大話Oracle RAC集群、高可用性、備份與恢復》可以作為數據庫開發人員、數據庫管理員、數據庫初學者及其他數據庫從業人員的工作參考手冊,也可以作為大中專院校相關專業師生的參考用書和相關培訓機構的培訓教材。
張曉明,Oracle OGP,現用網名“石頭狗“,名稱來自於《和佛陀賞花去》中的故事:狗會因為人隨手去齣的一個東西茆而追逐,可能是一個骨頭,一塊肉,一個眼神。甚至是一個石頭。警示一定要看清自己在追逐的東西。
上個世紀90年代末畢業於某著名的醫科大學,畢業後分配到某著名醫院從事治病救人的神聖工作。不幸的是,在大學最後一年的實習中我接觸到瞭老式486,這讓我魂牽夢係,再加上IT熱潮對一個熱血青年的巨大誘惑,我終於在行醫3年後削尖瞭腦袋擠進瞭IT業。迴想當年,身邊有好幾位來自知名醫學院校的朋友和我一樣義無反顧地加入IT工程師隊伍,不知道這幾位朋友現在安否? 我在IT行業中最初是做開發,先後用過C、C++、Java等各種主流和非主流語言,熱火朝天的參與過。C++和Java的網土混戰,現在迴想起來隻有一個詞評價“幼稚”,不僅是自己幼稚,整個行業也不太成熟。後轉從事數據庫開發,再轉為數據庫管理,最終將此定為自己的職業方嚮。今天,我把這些年來對Oracle數據庫的學習和使用心得記錄下來,既是對自己的一個階段總結,也是與所有誌同道閤的朋友們共同分享。 現任某SP公司數據庫團隊負責人,負責管理全國20餘省市的OLTP以及公司TB級OLAP係統的開發、優化和護。精通數據庫管理、備份、恢復、窖災等設計和規劃,特彆是高可用、高並發、高壓力數據庫環境的設計和優化。
第1部分 集群理論篇
第1章 RAC初體驗
1.1 本書使用環境
1.1.1 硬件環境
1.1.2 軟件環境
1.1.3 本書使用的環境
1.2 如何在PC機上搭建RAC環境
1.2.1 需要下載的軟件
1.2.2 安裝過程
1.3 任務列錶
1.4 規劃階段
1.4.1 確認主機名和3個IP地址
1.4.2 存儲方案選型
1.5 實施階段
1.5.1 主機配置
1.5.2 安裝OracleClusterware
1.5.3 安裝OracleDatabase
1.5.4 配置Listener
1.5.5 創建ASM
1.5.6 創建數據庫
1.6 客戶端測試
1.6.1 客戶端配置
1.6.2 體驗Failover
1.6.3 體驗LoadBalance
1.6.4 修改歸檔模式
第2章 什麼是RAC集群
2.1 集群分類
2.2 集群環境的特殊問題
2.2.1 並發控製
2.2.2 健忘癥(Amnesia)
2.2.3 腦裂(SplitBrain)
2.2.4 IO隔離(IOFencing)
2.3 RAC集群
2.3.1 存儲層
2.3.2 網絡層
2.3.3 集群件層
2.3.4 應用層
2.4 小結
第3章 OracleClusterware
3.1 Clusterware和RAC的關係
3.2 OracleClusterware組成
3.2.1 磁盤文件
3.2.2 Clusterware後颱進程
3.2.3 網絡組件
3.3 Clusterware的日誌體係
3.4 小結
第4章 RAC原理
4.1 數據庫基本原理
4.1.1 並發訪問和數據一緻性
4.1.2 事務和隔離級彆
4.1.3 Oracle支持的隔離級彆
4.2 Oracle單實例的並發控製機製
4.2.1 Lock
4.2.2 數據記錄的行級鎖
4.2.3 Latch
4.2.4 Latch和Lock對比
4.2.5 進一步理解
4.3 RAC下的並發控製
4.3.1 DLM中資源和鎖
4.3.2 Non-CacheFusion資源
4.3.3 CacheFusion資源
4.3.4 GRD(GlobalResourceDirectory)
4.3.5 PCMLock
4.3.6 CacheFusion
4.3.7 RAC並發控製總結
4.4 RAC架構
4.4.1 SGA的變化
4.4.2 後颱進程的變化
4.4.3 文件
4.4.4 SCN
4.4.5 CacheFusion、GCS、GES
4.5 RAC和Clusterware的交互
4.5.1 Clusterware層
4.5.2 RAC層
4.6 小結
第5章 存儲方案——ASM初步
5.1 Shared-Disk和Shared-Nothing架構
5.2 Oracle10gRAC的存儲方案介紹
5.3 ASM架構
5.3.1 ASM實例
5.3.2 文件
5.4 配置ASM
5.4.1 安裝位置
5.4.2 創建ASM磁盤
5.4.3 配置ASM實例
5.4.4 創建磁盤組
5.4.5 在數據庫中使用ASM的磁盤組
5.5 ASM實例:將數據庫遷移到ASM
5.5.1 試驗說明
5.5.2 操作步驟
5.5.3 最後驗證
5.6 小結
第2部分 實戰篇
第6章 RAC維護工具集
6.1 OracleClusterware工具集
6.2 節點層
6.3 網絡層
6.4 集群層
6.4.1 crsctl
6.4.2 OCR命令係列
6.5 應用層
6.5.1 crs_stat
6.5.2 onsctl
6.5.3 srvctl
6.5.4 恢復
6.6 小結
第7章 HA和LB
7.1 什麼是高可用性
7.2 Failover
7.2.1 Client-SideConnectTimeFailover
7.2.2 TAF(TransparentApplicationFailover)
7.2.3 Client-SideFailover和TAF的對照試驗
7.2.4 Server-SideTAF
7.3 OracleClusterwareHA框架
7.3.1 術語介紹
7.3.2 配置命令
7.3.3 完整實例
7.4 LoadBalance
7.4.1 ConnectionBalancing
7.4.2 利用Service分散負載
7.5 測試LoadBalance
7.5.1 通過Listener日誌區分路由來源
7.5.2 測試方法
7.5.3 測試過程
7.6 小結
第8章 備份
8.1 概述
8.1.1 備份
8.1.2 恢復
8.1.3 RMAN工具
8.2 使用FlashRecoveryArea
8.2.1 配置FlashRecoveryArea
8.2.2 FlashRecoveryArea的空間監控
8.3 使用RMAN
8.3.1 RMAN工具的使用方法
8.3.2 RMAN配置
8.4 完全備份和增量備份
8.4.1 完全備份
8.4.2 增量備份
8.4.3 其他RMAN命令
8.5 RAC的備份實例
8.6 小結
第9章 恢復
9.1 為什麼Oracle數據庫能夠恢復
9.2 日誌
9.2.1 日誌綫程(RedoThread)
9.2.2 RAC的聯機日誌
9.3 恢復種類
9.3.1 InstanceRecovery
9.3.2 MediaRecovery
9.3.3 CrashRecovery
9.3.4 OnlineBlockRecovery
9.4 介質恢復
9.4.1 完全恢復
9.4.2 不完全恢復
9.4.3 恢復到單實例
9.5 小結
第10章 其他恢復技術
10.1 數據塊恢復
10.2 如何檢查數據塊一緻性
10.2.1 使用初始化參數
10.2.2 DBV工具
10.2.3 Analyze命令
10.2.4 RMAN工具
10.2.5 dbms_repair包
10.3 模擬數據塊不一緻
10.4 數據塊不一緻處理辦法
10.4.1 收集信息
10.4.2 設計恢復方法
10.4.3 恢復操作
10.5 數據塊恢復實例
10.6 Flashback傢族介紹
10.7 FlashbackDatabase
10.7.1 FlashbackDatabase架構
10.7.2 啓用FlashbackDatabase
10.7.3 FlashbackDatabase
10.7.4 命令和視圖
10.8 FlashbackDrop
10.8.1 TablespaceRecycleBin
10.8.2 FlashbackDrop操作
10.8.3 RecyclyBin的維護
10.9 FlashbackQuery和FlashbackTable
10.9.1 Oracle9i的FlashbackQuery
10.9.2 FlashbackVersionQuery
10.9.3 FlashbackTransactionQuery
10.9.4 FlashbackTable
10.9.5 UNDORetntion
10.10 小結
第11章 RAC和DataGuard
11.1 DataGuard介紹
11.1.1 DataGuard架構
11.1.2 日誌發送(RedoSend)
11.1.3 日誌接收(RedoReceive)
11.1.4 日誌應用(RedoApply)
11.1.5 數據保護模式
11.1.6 自動裂隙檢測和解決
11.2 RAC和Standby配置實例
11.2.1 RACPrimary和SingleStandby
11.2.2 RACPrimary和RACStandby
11.3 小結
第12章 RAC和StreamReplication
12.1 Stream的工作原理
12.2 DataGuard和Stream對比
12.3 RACStream配置實例
12.3.1 Single(Source)和RAC(Target)
12.3.2 RAC對RAC的復製
12.3.3 STRMMON工具
12.4 小結
第13章 深入ASM
13.1 非ASM的存儲結構
13.2 ASM存儲結構
13.3 ASM文件係統
13.3.1 ASMMetadata
13.3.2 PhysicalMetadata
13.3.3 VirtualMetadata
13.3.4 DiskRecovery
13.4 條帶化(ASMStriping)
13.4.1 ASM文件模闆(ASMFileTemplate)
13.4.2 ASM彆名(ASMFileAlias)
13.5 RDBMS和ASM之間的交互
13.6 ASM的實例恢復
13.7 ASM和OSFilesystem之間交互
13.7.1 dbms_file_transfer包
13.7.2 RMAN的CONVERT方法
13.7.3 ASM和TTS
13.8 ASM的限製
13.9 小結
第14章 性能與RAC
14.1 RAC的若乾特點
14.2 AWR
14.2.1 啓用AWR
14.2.2 修改AWR配置
14.2.3 産生AWR報告
14.3 ASH
14.4 SQL調整策略
14.4.1 SQL語句的執行過程
14.4.2 SQL性能調整的基本方法
14.4.3 PL/SQL和SQL
14.5 小結
從2008年2月開始動筆到定稿齣版,這本書的編寫幾乎花費瞭我10個月的時間,大大超齣瞭最初3個月的計劃。這個過程雖然不能說寢食難安,但其中的酸甜苦辣也是如人飲水,冷暖自知,如果一開始就知道要投入這麼大精力,我真懷疑自己是否有勇氣開始動筆。
迴顧自己學習RAC的經曆,我對它又愛又恨。因為對技術本身的癡迷加上高“薪”技術的誘惑,所以愛;因為沒有能力掌控,所以恨。時至今日,我仍然不敢說自己已完全掌握瞭RAC,RAC的學習過程是對我所有學習過的IT技術的大復習,包括OS、Network、Storage、Database等,甚至可能還有很多領域我從未涉足。
相信很多對Oracle有一定經驗的DBA和我有同樣的感覺,RAC比普通的Oracle更難入門。不僅因為比比皆是的晦澀艱深的術語,也不僅因為它覆蓋的技術領域太廣,更主要的是可用的參考資料太少。我翻遍瞭所有能夠獲得的書籍資料,但是這些資料都是從很基本、很瑣碎的細節開始,從下到上(BoRom.up)的學習方式是雖然看到瞭“樹”,但是看不到“林”。雖然無樹不成林,技術細節總是必要的,但過於瑣碎的分解給我造成更大的迷惑,到底RAC的總綫是什麼?GCS、GES、GRD、PCM這些東西是如何堆砌在一起的?
這段痛苦經曆促使我決定以自己的方式講述RAC的故事,如果大傢能在這個旅程中豁然開朗,對我而言將是一件很有趣又備感欣慰的事。
评分
评分
评分
评分
评分
评分
评分
评分
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有