內容簡介
本書提供瞭全麵、實用的建議,以保證在復雜的生産環境中,能可靠且高效地運行Oracle 數據庫。七位主要的Oracle 專傢對Oracle 12c、11g 和其他最近版本的Oracle 數據庫匯集瞭一係列經過驗證的解決方案、實踐的例子以及循序漸進的技巧。每一個解決方案都是精心設計的,以幫助有經驗的Oracle DBA和DMA 盡可能快地理解和修復嚴重的問題。本書不僅涵蓋瞭LOB 段、undo 錶空間、高GC 緩衝區等待事件、糟糕的查詢響應時間、閂鎖爭用、索引、XA 分布式事務、RMAN 備份/ 恢復等內容,還深入地講解瞭DDL 優化、VLDB 調優、數據庫取證、自適應遊標共享、數據泵、數據遷移、SSD、索引等內容,並介紹瞭如何解決Oracle RAC 問題。
作者簡介
Tariq Farooq 是一名Oracle 技術專傢、架構師和問題解決者,在世界上*大的一些組織得非常復雜的環境中從事各種Oracle 技術工作已經超過24 年。Mike Ault 於1980 年開始使用計算機,自1990 年以來,Mike 作為顧問,一直在使用Oracle 的行業工作。Paulo Portugal 作為Oracle DBA,有超過15 年的IT 經驗。他是Oracle 11g OCM, Oracle 9i、 10g、 11g 和12c OCP,Oracle 10g 和11g 認證專傢,Oracle DBA 10g 認證Linux 管理員,Oracle Exadata認證實施專傢。
戴明明,網名:Dave,Oracle ACE-A,ACOUG 核心成員,浙江應用中間件與數據庫用戶組核心成員,CSDN 認證專傢。9年DBA經驗,在Oracle 高可用方麵有一定的經驗積纍。 擅長Oracle數據庫診斷、性能調優,熱衷於Oracle 技術的研究與分享。曾在CSDN博客撰寫博客1000餘篇(http://blog.csdn.net/tianlesoftware)。2012年度CSDN博客十大博客之星。
目錄
第1 章 LOB 段性能的診斷與調優 11.1 LOB 數據類型的介紹 11.1.1 解決LOB 問題:一個真實的案例 21.1.2 另一個真實案例:HW 分析 41.1.3 BASICFILE LOB :更完美的解決方案 71.2 BASICFILE 與SECUREFILE LOB 71.2.1 LOB 新舊類型的差異 81.2.2 遷移BASICFILE LOB 到SECUREFILE LOB 101.3 PCTFREE 對LOB 的影響 121.4 解決糟糕的INSERT 性能 151.5 總結 15第2 章 處理undo 錶空間損壞 162.1 undo 管理概述 162.1.1 UNDO_RETENTION 的重要性 162.1.2 優化UNDO_RETENTION 172.2 DTP、XA 和迴滾段 182.3 undo 錶空間損壞的恢復 202.3.1 預防、檢測和修復損壞 202.3.2 處理內存損壞 212.3.3 處理邏輯損壞 242.3.4 解決介質損壞 242.4 總結 27目錄 ∣ XVII第3 章 處理全局緩存緩衝區忙等待事件 283.1 緩衝區忙等待事件概述 283.2 使用ORAchk 工具 293.2.1 安裝ORAchk 293.2.2 ORAchk 執行結果:示例輸齣 303.3 查找GC 緩衝區忙等待事件 323.3.1 用ADDM 查找事件的信息 333.3.2 用AWR 查找等待事件的信息 333.3.3 用ASH 查找等待事件的信息 353.4 查找GC 緩衝區忙等待事件的原因 363.4.1 使用ASH 視圖查找等待會話 363.4.2 快速查找性能瓶頸 383.5 解決GC 緩衝區忙等待 403.6 總結 41第4 章 自適應遊標共享 424.1 ACS 工作算法 424.1.1 綁定敏感與範圍謂詞 434.1.2 綁定敏感與等式謂詞和直方圖 454.1.3 綁定敏感與分區鍵 464.2 ACS 的使用 484.2.1 監控ACS 的綁定感知 514.2.2 BUCKET_ID 和COUNT 的關係 524.2.3 標記遊標為綁定感知 554.3 遊標綁定感知 614.4 一個真實案例 644.5 總結 69第5 章 使用SPM 穩定查詢響應時間 705.1 入門指南 705.2 創建SQL 計劃基綫 735.2.1 自動捕獲計劃 735.2.2 從遊標緩存加載計劃 765.3 僞造基綫 77XVIII ∣ Oracle數據庫問題解決方案和故障排除手冊5.4 Oracle 優化器和SPM 的交互 815.4.1 當CBO 計劃與SQL 計劃基綫匹配時 825.4.2 當CBO 計劃與SQL 計劃基綫不匹配時 845.4.3 當SQL 計劃基綫不可復製時 895.5 SQL 計劃基綫的復製性 935.5.1 重命名索引 935.5.2 修改索引類型 955.5.3 嚮索引中添加尾列 965.5.4 反嚮索引 975.6 NLS_SORT 與SQL 計劃基綫的復製性 985.7 ALL_ROWS 與FIRST_ROWS 1005.8 自適應遊標共享與SPM 1045.8.1 Oracle 11.2.0.3.0 中的ACS 和SPM 1055.8.2 Oracle 12.1.0.1.0 中的ACS 和SPM 1095.9 總結 112第6 章 DDL 優化技巧和技術 1146.1 DDL 優化的概念 1146.2 DDL 優化的機製 1176.2.1 錶基數估算 1176.2.2 虛擬列中的C_DDL 列 1196.2.3 列組擴展中的C_DDL 列 1206.2.4 C_DDL 的默認值發生變化時 1226.2.5 C_DDL 列和索引 1246.2.6 空列的DDL 優化 1266.3 總結 130第7 章 管理、優化、調整大型數據庫 1317.1 大型數據庫概述 1317.2 優化基本配置 1327.2.1 數據庫倉庫模闆 1327.2.2 優化數據塊大小 1337.2.3 大文件錶空間 1347.2.4 調整SGA 和PGA 135目錄 ∣ XIX7.2.5 臨時錶空間組 1357.2.6 數據分區 1367.2.7 本地分區索引和全局分區索引 1367.2.8 數據壓縮 1377.2.9 錶壓縮 1377.2.10 熱圖和自動數據優化 1377.2.11 高級索引分區壓縮 1387.3 大型數據庫性能調整的原則 1397.3.1 真實的案例 1397.3.2 控製索引對數據加載的影響 1407.3.3 資源利用率的最大化 1417.4 收集統計信息 1427.4.1 增量統計信息摘要 1427.4.2 並發收集統計信息 1447.4.3 設置ESTIMATE_PERCENT 的值 1457.5 備份與恢復的最佳實踐 1457.5.1 Exadata 解決方案 1467.5.2 利用Data Guard 環境 1477.6 總結 147第8 章 RMAN 備份恢復最佳實踐 1488.1 完美的備份恢復計劃 1488.2 概述 1498.3 數據庫備份策略的技巧 1498.3.1 完全備份和增量備份 1508.3.2 壓縮備份 1508.3.3 增量備份 1518.3.4 快速增量備份 1518.3.5 Oracle 閃迴技術之迴退 1528.3.6 基於磁盤的備份解決方案 1538.3.7 增量更新的鏡像副本 1538.4 驗證RMAN 備份 1598.5 備份的優化與調整 1608.6 RAC 集群下的RMAN 162XX ∣ Oracle數據庫問題解決方案和故障排除手冊8.7 恢復目錄 1638.8 恢復策略 1648.9 數據恢復顧問 1658.10 總結 166第9 章 使用AWR 分析優化數據庫(一) 1679.1 什麼是AWR 1679.2 知道要查找什麼 1689.3 報告頭部信息 1699.3.1 負載狀況 1719.3.2 實例效率 1719.3.3 共享池內存 1729.3.4 等待事件 1729.3.5 平均負載 1759.3.6 實例CPU 1759.3.7 內存統計數據 1769.4 RAC 特有的頁麵 1769.4.1 RAC 統計數據 1779.4.2 全局緩存負載統計數據 1779.4.3 全局緩存和隊列服務 1779.4.4 集群互連 1789.5 時間模型統計 1799.6 操作係統統計數據 1809.6.1 前颱等待事件 1819.6.2 後颱等待事件 1829.6.3 等待事件直方圖 1839.6.4 服務相關統計數據 1849.7 SQL 章節 1859.7.1 總運行時間 1859.7.2 總CPU 時間 1859.7.3 總緩衝區獲取 1869.7.4 總磁盤讀 1869.7.5 總執行次數 1869.7.6 解析調用 186目錄 ∣ XXI9.7.7 可共享內存 1879.7.8 版本數 1879.7.9 集群等待時間 1879.8 實例活動統計 1889.8.1 一緻性讀統計數據 1919.8.2 數據塊讀統計數據 1919.8.3 髒塊統計 1919.8.4 隊列統計 1919.8.5 執行計數 1919.8.6 空閑緩衝區統計 1929.8.7 全局緩存統計 1929.8.8 索引掃描統計數據 1929.8.9 葉子節點統計數據 1939.8.10 打開的遊標 1939.8.11 解析統計數據 1939.8.12 物理讀寫統計數據 1939.8.13 遞歸統計數據 1959.8.14 重做相關的統計數據 1959.8.15 會話遊標統計數據 1969.8.16 排序統計數據 1969.8.17 髒隊列長度匯總 1969.8.18 錶獲取統計數據 1979.8.19 事務迴滾 1979.8.20 撤銷更改矢量統計 1979.8.21 用戶統計數據 1989.8.22 工作區統計數據 1989.8.23 實例活動統計——絕對值 1989.8.24 實例活動統計——綫程活動 1999.9 總結 199第10 章 使用AWR 分析優化數據庫(二) 20010.1 錶空間I/O 統計數據 20010.2 緩衝池 20210.2.1 緩衝池統計數據 20310.2.2 實例恢復統計數據 203XXII ∣ Oracle數據庫問題解決方案和故障排除手冊10.2.3 緩衝池建議部分 20410.3 PGA 統計數據 20410.3.1 PGA 匯總 20610.3.2 PGA 總目標統計數據 20610.3.3 PGA 總目標直方圖 20610.3.4 PGA 內存建議 20810.4 共享池統計數據 20810.5 其他建議 20910.5.1 SGA 目標建議 21010.5.2 流池建議 21010.5.3 Java 池建議 21110.6 緩衝區等待統計數據 21110.7 隊列統計數據 21210.8 撤銷段統計數據 21410.9 閂鎖統計數據 21510.9.1 閂鎖活動 21610.9.2 閂鎖休眠分類 21710.9.3 閂鎖和自鏇數 21710.9.4 閂鎖丟失源 21810.9.5 互斥鎖休眠匯總 21810.9.6 父類和子類閂鎖 21810.10 段訪問區 21810.11 庫緩存活動部分 22010.12 動態內存組件部分 22310.13 進程內存部分 22410.13.1 進程內存匯總 22610.13.2 SGA 內存匯總 22610.13.3 SGA 分類和差異 22610.14 流組件部分 22610.15 資源限製統計數據 22810.16 初始化參數的改變 22810.17 全局隊列和其他RAC 部分 22910.17.1 全局隊列統計數據 23310.17.2 全局CR 服務統計數據 233目錄 ∣ XXIII10.17.3 全局當前服務統計數據 23310.17.4 全局緩存傳輸統計數據 23310.17.5 全局緩存傳輸時間 23310.17.6 全局緩存傳輸 23310.17.7 全局緩存時間 23410.17.8 互連ping 延遲統計數據 23410.17.9 客戶端的互連吞吐量 23410.17.10 互聯設備統計數據 23410.18 總結 234第11 章 RAC 的故障診斷 23611.1 RAC 的故障診斷和調優 23611.1.1 ORAchk 工具 23711.1.2 TFA 收集器 23711.1.3 自動診斷庫 23711.1.4 告警和跟蹤日誌文件 23711.2 運轉良好的RAC 生態係統 23911.2.1 最高可用性架構 23911.2.2 優化和高效的RAC 數據庫 24011.2.3 基於OEM 12C 的RAC 故障診斷 24111.2.4 故障診斷的程序和命令 24211.3 總結 247第12 章 利用SQL 顧問來分析和修復SQL 問題 24812.1 OEM 12c :SQL 顧問首頁 24812.2 SQL 調優顧問 24912.2.1 在OEM 12c 中運行SQL 調優顧問 25012.2.2 在SQL*Plus 中手動運行SQL 調優顧問 25312.3 SQL 訪問顧問 25312.3.1 在OEM 12c 中運行SQL 訪問顧問 25412.3.2 在SQL*Plus 中手動運行SQL 訪問顧問 25712.4 SQL 修復顧問 25812.5 SQL 性能分析器 25912.6 總結 260XXIV ∣ Oracle數據庫問題解決方案和故障排除手冊第13 章 使用數據泵遷移數據和對象 26113.1 使用數據泵 26113.1.1 復製對象 26213.1.2 數據泵模式 26313.2 處理私有和公共對象 26313.2.1 保存和恢復數據庫鏈接 26413.2.2 導齣公共數據庫鏈接和同義詞 26413.2.3 驗證導齣的轉儲文件內容 26513.3 查找有效的INCLUDE 和EXCLUDE 值 26513.4 導齣數據子集 26713.5 修改對象屬性 26913.5.1 將分區錶導入為非分區錶 26913.5.2 將錶分區導入為單獨的錶 26913.5.3 屏蔽數據 27013.5.4 重命名錶或使用不同的錶空間 27013.5.5 使用默認存儲參數 27013.5.6 導入期間調整錶空間大小 27113.5.7 閤並多個錶空間 27113.6 通過PL/SQL API 使用Data Pump 27313.7 監控和修改資源 27413.8 提升性能 27513.9 升級數據庫 27613.10 總結 277第14 章 數據庫快速遷移數據的策略 27814.1 為什麼要遷移 27814.2 確定最好的策略 27914.2.1 實時與準實時遷移 27914.2.2 接受隻讀 27914.2.3 可逆性 28014.3 考慮遷移什麼數據 28014.4 數據遷移的方法 28114.4.1 事務性捕獲遷移方法 28114.4.2 非事務性遷移方法 283目錄 ∣ XXV14.4.3 其他遷移方法 29514.5 總結 301第15 章 臨時文件I/O 問題的診斷和恢復 30215.1 臨時錶空間概述 30215.1.1 隻讀數據庫 30315.1.2 本地管理的臨時錶空間 30315.1.3 臨時錶空間組 30315.1.4 全局臨時錶 30415.2 解決TEMPFILE I/O 等待 30715.2.1 過小的PGA 30715.2.2 不恰當的TEMPFILE 擴展區大小 31115.2.3 不恰當地使用GTT 31215.3 總結 312第16 章 處理閂鎖和互斥鎖爭用 31316.1 閂鎖和互斥鎖架構概述 31316.1.1 什麼是閂鎖 31416.1.2 什麼是互斥鎖 31516.1.3 閂鎖和互斥鎖的內部結構 31516.2 檢測閂鎖和互斥鎖爭用 31616.2.1 識彆獨特的閂鎖 31716.2.2 查找段和SQL 語句 31816.3 閂鎖和互斥鎖場景 32016.3.1 庫緩存互斥鎖等待 32016.3.2 library cache pin 32216.3.3 共享池閂鎖 32216.3.4 緩存緩衝區鏈閂鎖 32316.3.5 其他的閂鎖場景 32516.4 棘手的閂鎖爭用 32616.5 總結 328第17 章 使用SSD 解決I/O 瓶頸 32917.1 磁盤技術:SSD 與 HDD 329XXVI ∣ Oracle數據庫問題解決方案和故障排除手冊17.1.1 固態閃存盤的崛起 33017.1.2 SSD 閃存的延遲 33117.1.3 SSD 的經濟性 33217.1.4 SLC、MLC 和TLC 33317.1.5 寫性能與壽命 33417.1.6 垃圾迴收和磨損均衡 33417.1.7 SATA 與 PCIe SSD 33617.1.8 在Oracle 數據庫中使用SSD 33617.2 Oracle 數據庫的閃存緩存 33717.2.1 空閑緩衝區等待 33717.2.2 配置和監控DBFC 33917.2.3 使用FLASH_CACHE 子句 34017.2.4 閃存緩存的性能統計數據 34117.3 比較SSD 的部署選擇 34217.3.1 索引讀 34317.3.2 OLTP 上的讀/ 寫負載 34417.3.3 全錶掃描性能 34417.3.4 SSD 本地緩存和全錶掃描 34517.3.5 磁盤排序和散列操作 34617.3.6 重做日誌的優化 34917.4 存儲分層 34917.5 閃存和Exadata
Oracle數據庫問題解決方案和故障排除手冊 下載 mobi epub pdf txt 電子書 格式