大話OracleRAC集群

書籍,人民郵電出版社出版

版權資訊

書 名: 大話OracleRAC集群、高可用性、備份與恢復

作 者:張曉明

出版社: 人民郵電出版社

出版時間: 2009

ISBN: 9787115204158

開本: 16

定價: 65.00 元

內容簡介

全書分為兩個部分,共14章,第一部分是集群理論篇,這部分從集群基礎知識入手,通過分析集群環境和單機環境的不同,介紹了集群環境的各個組件及其作用,以及集群環境的一些專有技術,包括OracleClusterware、OracleDatabase、ASM、CacheFusion等。第二部分是實踐篇,每一章都針對RAC的一個知識點展開講解,包括OracleClusterware的維護、HA與LB、備份、恢復、Flashback家族、RAC和DataGuard的結合使用、RAC和Stream的結合使用,最後對ASM進行深入介紹,並給出性能調整的指導思想。

《大話OracleRAC集群、高可用性、備份與恢復》按照“發現問題→解決問題→實踐與理論相結合”的方式進行介紹,首先對現實問題進行分析,然後提供合適的解決方案,最後自然地引出Oracle中的理論知識點,這種講解方法能夠有效地降低閱讀難度,幫助讀者更好地掌握相關技能。

作者簡介

張曉明OracleOGP,現用網名“石頭狗“,名稱來自於《和佛陀賞花去》中的故事:狗會因為人隨手去出的一個東西茆而追逐,可能是一個骨頭,一塊肉,一個眼神。甚至是一個石頭。警示一定要看清自己在追逐的東西。

上個世紀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.4IO隔離(IOFencing)

2.3RAC集群

2.3.1存儲層

2.3.2網路層

2.3.3集群件層

2.3.4套用層

2.4小結

第3章OracleClusterware

3.1Clusterware和RAC的關係

3.2OracleClusterware組成

3.2.1磁碟檔案

3.2.2Clusterware後台進程

3.2.3網路組件

3.3Clusterware的日誌體系

3.4小結

第4章RAC原理

4.1資料庫基本原理

4.1.1並發訪問和數據一致性

4.1.2事務和隔離級別

4.1.3Oracle支持的隔離級別

4.2Oracle單實例的並發控制機制

4.2.1Lock

4.2.2數據記錄的行級鎖

4.2.3Latch

4.2.4Latch和Lock對比

4.2.5進一步理解

4.3RAC下的並發控制

4.3.1DLM中資源和鎖

4.3.2Non-CacheFusion資源

4.3.3CacheFusion資源

4.3.4GRD(GlobalResourceDirectory)

4.3.5PCMLock

4.3.6CacheFusion

4.3.7RAC並發控制總結

4.4RAC架構

4.4.1SGA的變化

4.4.2後台進程的變化

4.4.3檔案

4.4.4SCN

4.4.5CacheFusion、GCS、GES

4.5RAC和Clusterware的互動

4.5.1Clusterware層

4.5.2RAC層

4.6小結

第5章存儲方案——ASM初步

5.1Shared-Disk和Shared-Nothing架構

5.2Oracle10gRAC的存儲方案介紹

5.3ASM架構

5.3.1ASM實例

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.5ASM實例:將資料庫遷移到ASM

5.5.1試驗說明

5.5.2操作步驟

5.5.3最後驗證

5.6小結

第2部分實戰篇

第6章RAC維護工具集

6.1OracleClusterware工具集

6.2節點層

6.3網路層

6.4集群層

6.4.1crsctl

6.4.2OCR命令系列

6.5套用層

6.5.1crs_stat

6.5.2onsctl

6.5.3srvctl

6.5.4恢復

6.6小結

第7章HA和LB

7.1什麼是高可用性

7.2Failover

7.2.1Client-SideConnectTimeFailover

7.2.2TAF(TransparentApplicationFailover)

7.2.3Client-SideFailover和TAF的對照試驗

7.2.4Server-SideTAF

7.3OracleClusterwareHA框架

7.3.1術語介紹

7.3.2配置命令

7.3.3完整實例

7.4LoadBalance

7.4.1ConnectionBalancing

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.3RMAN工具

8.2使用FlashRecoveryArea

8.2.1配置FlashRecoveryArea

8.2.2FlashRecoveryArea的空間監控

8.3使用RMAN

8.3.1RMAN工具的使用方法

8.3.2RMAN配置

8.4完全備份和增量備份

8.4.1完全備份

8.4.2增量備份

8.4.3其他RMAN命令

8.5RAC的備份實例

8.6小結

第9章恢復

9.1為什麼Oracle資料庫能夠恢復

9.2日誌

9.2.1日誌執行緒(RedoThread)

9.2.2RAC的在線上日誌

9.3恢複種類

9.3.1InstanceRecovery

9.3.2MediaRecovery

9.3.3CrashRecovery

9.3.4OnlineBlockRecovery

9.4介質恢復

9.4.1完全恢復

9.4.2不完全恢復

9.4.3恢復到單實例

9.5小結

第10章其他恢復技術

10.1數據塊恢復

10.2如何檢查數據塊一致性

10.2.1使用初始化參數

10.2.2DBV工具

10.2.3Analyze命令

10.2.4RMAN工具

10.2.5dbms_repair包

10.3模擬數據塊不一致

10.4數據塊不一致處理辦法

10.4.1收集信息

10.4.2設計恢複方法

10.4.3恢復操作

10.5數據塊恢復實例

10.6Flashback家族介紹

10.7FlashbackDatabase

10.7.1FlashbackDatabase架構

10.7.2啟用FlashbackDatabase

10.7.3FlashbackDatabase

10.7.4命令和視圖

10.8FlashbackDrop

10.8.1TablespaceRecycleBin

10.8.2FlashbackDrop操作

10.8.3RecyclyBin的維護

10.9FlashbackQuery和FlashbackTable

10.9.1Oracle9i的FlashbackQuery

10.9.2FlashbackVersionQuery

10.9.3FlashbackTransactionQuery

10.9.4FlashbackTable

10.9.5UNDORetntion

10.10小結

第11章RAC和DataGuard

11.1DataGuard介紹

11.1.1DataGuard架構

11.1.2日誌傳送(RedoSend)

11.1.3日誌接收(RedoReceive)

11.1.4日誌套用(RedoApply)

11.1.5數據保護模式

11.1.6自動裂隙檢測和解決

11.2RAC和Standby配置實例

11.2.1RACPrimary和SingleStandby

11.2.2RACPrimary和RACStandby

11.3小結

第12章RAC和StreamReplication

12.1Stream的工作原理

12.2DataGuard和Stream對比

12.3RACStream配置實例

12.3.1Single(Source)和RAC(Target)

12.3.2RAC對RAC的複製

12.3.3STRMMON工具

12.4小結

第13章深入ASM

13.1非ASM的存儲結構

13.2ASM存儲結構

13.3ASM檔案系統

13.3.1ASMMetadata

13.3.2PhysicalMetadata

13.3.3VirtualMetadata

13.3.4DiskRecovery

13.4條帶化(ASMStriping)

13.4.1ASM檔案模板(ASMFileTemplate)

13.4.2ASM別名(ASMFileAlias)

13.5RDBMS和ASM之間的互動

13.6ASM的實例恢復

13.7ASM和OSFilesystem之間互動

13.7.1dbms_file_transfer包

13.7.2RMAN的CONVERT方法

13.7.3ASM和TTS

13.8ASM的限制

13.9小結

第14章性能與RAC

14.1RAC的若干特點

14.2AWR

14.2.1啟用AWR

14.2.2修改AWR配置

14.2.3產生AWR報告

14.3ASH

14.4SQL調整策略

14.4.1SQL語句的執行過程

14.4.2SQL性能調整的基本方法

14.4.3PL/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的故事,如果大家能在這個旅程中豁然開朗,對我而言將是一件很有趣又備感欣慰的事。

相關詞條

熱門詞條

聯絡我們