編輯推薦
性能優化是每個DBA說不齣的痛,也是難點。本書針對此現狀,圍繞性能調優這一主綫,由淺入深地介紹瞭常見的Oracle數據庫性能問題。每節分析一個具體的性能問題,並全部采用“問題描述”—“解決方案”—“工作原理”這種獨特的介紹風格,針對性強,方便讀者理解和查閱。同時,讀者會發現作者從創建數據庫伊始就未雨綢繆,在管理數據庫的過程中更是時刻將改善數據庫性能放在首位。
本書三位作者都是經驗豐富的Oracle數據庫管理員,並且閤作撰寫過其他幾本廣受好評的Oracle數據庫管理圖書,在數據庫性能調優方麵頗有心得。作者不吝將多年的實踐經驗和智慧感悟匯集成冊,與讀者分享。讀完本書,讀者在解決數據庫性能問題時,就能做到有的放矢,思路開闊。
內容簡介
三位經驗豐富的Oracle DBA聯手為讀者呈現這本Oracle數據庫性能優化攻略。《Oracle Database 12c性能優化攻略》由錶及裏地深入分析瞭造成Oracle數據庫性能緩慢的各種原因,然後給齣標本兼治的性能調優方案。作者將多年的實踐經驗和個人智慧與讀者分享,幫助讀者診治影響數據庫性能的各種疑難雜癥。
《Oracle Database 12c性能優化攻略》可幫助數據庫管理員解決各種Oracle數據庫性能問題。
作者簡介
SamAlapatiOracleACE,現為CashAmericaInternational公司的高級數據庫架構師,並先後在ATT和Oracle等公司擔任過數據庫管理員。Oracle公司OCP考試官方教材編寫者,擁有OracleOCP12c證書。Alapati很早就開始接觸數據庫,包括20世紀80年代中期的Ingres關係型數據庫管理係統。他還精通MicrosoftSQLServer、Sybase和IBMDB2數據庫管理係統。
DarlKuhn現為Oracle公司的高級數據庫管理員。他的著作涵蓋若乾IT領域,包括SQL、性能調優、Linux、備份與恢復、RMAN以及數據庫管理。同時他還在雷吉斯大學講授Oracle課程。Darl還是落基山Oracle用戶組織的DBA誌願者。
BillPadfieldOracle認證專傢,就職於科羅拉多州丹佛市一傢大型電信公司,擔任首席數據庫管理員,協助管理一個由超過100個數據庫組成的大型數據倉庫。他從1985年開始涉足IT領域,從事Oracle數據庫管理工作也已有超過16年的時間。Bill也任教於雷吉斯大學,為研究生講授數據庫課程。
硃浩波(本書譯者)博士,畢業於天津大學,現就職於青島海關。已獨立完成譯作5本,150餘萬字。目前主要研究興趣為雲計算環境下的大數據應用。
精彩書評
“這是一本真正把理論運用於實踐的好書,推薦IT專業人士和對Oracle技術熟悉的人閱讀。”
——讀者 Tomas Cerny
“作為入行多年的數據庫管理員,我自詡經驗豐富,但Oracle性能調優問題一直睏擾著我。本書涵蓋瞭基本的性能調優原則和豐富的示例,很多調優方法令我耳目一新。”
——讀者 F.Riaz
目錄
第1章 優化錶性能
攻略1-1 創建具有最優性能的數據庫
攻略1-2 創建具有最優性能的錶空間
攻略1-3 匹配錶類型與業務需求
攻略1-4 選擇有益於性能的錶特性
攻略1-5 恰當選擇數據類型
攻略1-6 在創建數據錶時避免盤區分配延遲
攻略1-7 數據加載速度最大化
攻略1-8 高效移除錶中數據
攻略1-9 顯示自動段顧問建議
攻略1-10 手工生成段顧問建議
攻略1-11 自動發送段顧問輸齣電子郵件
攻略1-12 重建跨多個數據塊的數據行
攻略1-13 檢測行鏈接和行遷移
攻略1-14 區分行遷移和行鏈接
攻略1-15 積極預防行遷移/行鏈接的産生
攻略1-16 檢測錶中未使用的空間
攻略1-17 追蹤檢測到的位於高水位綫下的空間
攻略1-18 使用DBMS_SPACE來檢測位於高水位綫之下的空間
攻略1-19 釋放未使用的錶存儲空間
攻略1-20 壓縮數據以進行直接路徑加載
攻略1-21 為所有DML操作壓縮數據
攻略1-22 在列級壓縮數據
第2章 選擇和優化索引
攻略2-1 理解B樹索引
攻略2-2 選擇需要建立索引的列
攻略2-3 創建主鍵約束和索引
攻略2-4 確保唯一列值
攻略2-5 為外鍵列創建索引
攻略2-6 決定何時使用組閤索引
攻略2-7 通過壓縮減少索引大小
攻略2-8 實現基於函數的索引
攻略2-9 在虛擬列上創建索引
攻略2-10 在多個進程並行插入時限製索引爭奪
攻略2-11 觸發索引對優化器的可見性
攻略2-12 創建支持星型架構的位圖索引
攻略2-13 創建位圖連接索引
攻略2-14 創建索引組織錶
攻略2-15 監控索引使用
攻略2-16 索引創建速度最大化
攻略2-17 迴收未使用的索引空間
第3章 優化實例內存
攻略3-1 自動內存管理
攻略3-2 管理多個緩衝池
攻略3-3 設定內存最小值
攻略3-4 監控內存調整操作
攻略3-5 優化內存使用
攻略3-6 調優PGA內存分配
攻略3-7 配置服務器查詢緩存
攻略3-8 管理服務器結果緩存
攻略3-9 緩存SQL查詢結果
攻略3-10 緩存客戶端結果集
攻略3-11 緩存PL/SQL函數結果
攻略3-12 配置Oracle數據庫智能閃存緩存
攻略3-13 調節重做日誌緩衝區
攻略3-14 限製PGA內存分配
第4章 監控係統性能
攻略4-1 實現AWR
攻略4-2 修改統計信息時間間隔和保存期限
攻略4-3 手工生成AWR報錶
攻略4-4 通過企業管理器生成一份AWR報告
攻略4-5 為一條SQL語句生成AWR報告
攻略4-6 為數據庫創建統計基綫
攻略4-7 通過企業管理器管理AWR基綫
攻略4-8 管理AWR統計信息庫
攻略4-9 自動創建AWR基綫
攻略4-10 快速分析AWR輸齣
攻略4-11 手工獲取活動會話信息
攻略4-12 從企業管理器中獲取ASH信息
攻略4-13 從數據字典中獲取ASH信息
第5章 最小化係統資源爭奪
攻略5-1 理解響應時間
攻略5-2 確定引起最多等待的SQL語句
攻略5-3 分析等待事件
攻略5-4 理解等待事件的分類
攻略5-5 檢查會話等待
攻略5-6 按類型檢查等待事件
攻略5-7 解決緩衝區忙等待
攻略5-8 解決日誌文件同步等待
攻略5-9 被另一個會話讀取等待事件的最小化
攻略5-10 減少直接路徑讀取等待事件
攻略5-11 恢復寫入器等待最小化
攻略5-12 找齣誰持有阻塞鎖
攻略5-13 確定被阻塞和引起阻塞的會話
攻略5-14 處理引起阻塞的鎖
攻略5-15 確定被鎖定的對象
攻略5-16 解決enq:TM鎖資源爭奪
攻略5-17 確定最近被鎖住的會話
攻略5-18 分析數據庫中最近的等待事件
攻略5-19 確定由於鎖定所花費的等待時間
攻略5-20 鎖存器爭奪的最小化
第6章 分析操作係統性能
攻略6-1 檢測磁盤空間問題
攻略6-2 確定係統瓶頸
攻略6-3 確定消耗服務器資源最多的進程
攻略6-4 檢測CPU瓶頸
攻略6-5 確定CPU和內存瓶頸
攻略6-6 確定I/O瓶頸
攻略6-7 檢測網絡密集型進程
攻略6-8 將一個資源密集型進程映射到一個數據庫進程
攻略6-9 終止一個資源密集型進程
第7章 檢修數據庫
攻略7-1 確定最優的撤銷保留時間
攻略7-2 找齣是什麼消耗瞭最多的撤銷空間
攻略7-3 解決ORA-01555錯誤
攻略7-4 監控臨時錶空間使用率
攻略7-5 確定是誰在使用臨時錶空間
攻略7-6 解決"無法擴展臨時數據段"錯誤
攻略7-7 解決打開遊標錯誤
攻略7-8 解決被掛起的數據庫問題
攻略7-9 激活自動診斷庫命令解釋器
攻略7-10 從ADRCI中來查看報警日誌
攻略7-11 使用ADRCI查看事件
攻略7-12 將事件打包發給Oracle技術支持團隊
攻略7-13 運行一次數據庫健康檢查
攻略7-14 創建SQL測試用例
攻略7-15 生成一份AWR報告
攻略7-16 比較兩個階段的數據庫性能
攻略7-17 分析一份AWR報告
第8章 創建高效的SQL
攻略8-1 獲取一張錶中的所有數據行
攻略8-2 獲取一張錶中的部分數據行
攻略8-3 通過相對應的行來連接錶
攻略8-4 在沒有相對應數據行的情況下連接錶
攻略8-5 構造簡單的子查詢
攻略8-6 構建相關子查詢
攻略8-7 比較兩個錶找齣缺失的數據行
攻略8-8 比較兩張錶找齣匹配的數據行
攻略8-9 將相似SELECT語句的結果集閤並
攻略8-10 查找一定範圍內的值
攻略8-11 處理空值
攻略8-12 搜索部分列值
攻略8-13 重用共享池中的SQL語句
攻略8-14 避免偶然的全錶掃描
攻略8-15 創建高效的臨時視圖
攻略8-16 避免使用NOT子句
攻略8-17 控製事務大小
第9章 SQL手工調優
攻略9-1 顯示查詢的執行計劃
攻略9-2 定製執行計劃輸齣
攻略9-3 圖形化顯示執行計劃
攻略9-4 解讀一份執行計劃
攻略9-5 監控運行時間較長的SQL語句
攻略9-6 確定當前正在執行的耗占資源的SQL語句
攻略9-7 查看當前正在運行的SQL語句的統計信息
攻略9-8 監控一個SQL執行計劃的處理過程
攻略9-9 確定過去執行的SQL語句中最耗占資源的語句
攻略9-10 比較係統修改後的SQL性能
第10章 追蹤SQL執行
攻略10-1 環境準備
攻略10-2 追蹤一個特定的SQL語句
攻略10-3 在你所擁有的會話中啓用追蹤
攻略10-4 找到追蹤文件
攻略10-5 檢查原始SQL追蹤文件
攻略10-6 分析Oracle追蹤文件
攻略10-7 使用TKPROF設置追蹤文件的格式
攻略10-8 分析TKPROF輸齣
攻略10-9 使用Oracle追蹤分析器分析追蹤文件
攻略10-10 追蹤一個並行查詢
攻略10-11 追蹤特定的並行查詢進程
攻略10-12 在RAC係統中追蹤並行查詢
攻略10-13 閤並多個追蹤文件
攻略10-14 找齣正確的會話來進行追蹤
攻略10-15 追蹤一個SQL會話
攻略10-16 通過進程ID來追蹤會話
攻略10-17 追蹤多個會話
攻略10-18 追蹤一個實例或數據庫
攻略10-19 為會話生成事件10046追蹤
攻略10-20 為實例生成事件10046追蹤
攻略10-21 在一個正在運行的會話上設置追蹤
攻略10-22 登錄之後啓用會話追蹤
攻略10-23 追蹤優化器的執行路徑
攻略10-24 生成Oracle錯誤自動追蹤
攻略10-25 追蹤後颱進程
攻略10-26 啓用Oracle監聽器追蹤
攻略10-27 為數據衛士設置歸檔追蹤
第11章 SQL自動調優
攻略11-1 顯示自動SQL調優工作詳細信息
攻略11-2 顯示SQL自動調優建議
攻略11-3 生成SQL腳本來實現自動調優建議
攻略11-4 修改SQL自動調優特性
攻略11-5 禁用和啓用SQL自動調優
攻略11-6 修改維護窗口屬性
攻略11-7 創建SQL調優集對象
攻略11-8 查看AWR中的資源密集型SQL語句
攻略11-9 用AWR中高資源消耗的SQL來填充優化集
攻略11-10 查看內存中的資源密集型SQL語句
攻略11-11 用內存中高資源消耗的SQL來填充調優集
攻略11-12 將內存中所有SQL語句填充到SQL調優集
攻略11-13 顯示SQL調優集的內容
攻略11-14 有選擇地從SQL調優集中刪除語句
攻略11-15 傳輸SQL調優集
攻略11-16 創建調優任務
攻略11-17 手工運行SQL調優顧問
攻略11-18 從數據庫自動診斷監視器中獲得SQL調優建議
第12章 執行計劃優化與一緻性
攻略12-1 創建並接受SQL概要文件
攻略12-2 確認某個查詢是否使用瞭SQL概要文件
攻略12-3 自動接受SQL概要文件
攻略12-4 顯示SQL概要文件信息
攻略12-5 選擇性測試SQL概要文件
攻略12-6 將SQL概要文件遷移到另一個數據庫中
攻略12-7 禁用SQL概要文件
攻略12-8 刪除SQL概要文件
攻略12-9 為內存中的一條SQL語句創建計劃基綫
攻略12-10 為包含在SQL調優集中的SQL語句創建計劃基綫
攻略12-11 自動增加計劃基綫
攻略12-12 修改計劃基綫
攻略12-13 確認是否存在計劃基綫
攻略12-14 確認某個查詢是否使用瞭計劃基綫
攻略12-15 顯示計劃基綫執行計劃
攻略12-16 手工在計劃基綫中加入一個新的計劃(擴展)
攻略12-17 阻止自動接受新的低成本執行計劃
攻略12-18 禁用計劃基綫
攻略12-19 移除計劃基綫信息
攻略12-20 遷移計劃基綫
第13章 優化器配置
攻略13-1 選擇優化器目標
攻略13-2 啓用統計信息自動收集
攻略13-3 為統計信息收集設置首選參數
攻略13-4 手工生成統計信息
攻略13-5 鎖定統計信息
攻略13-6 處理統計信息的缺失
攻略13-7 導齣統計信息
攻略13-8 還原以前版本的統計信息
攻略13-9 收集係統統計信息
攻略13-10 驗證新的統計信息
攻略13-11 強製優化器使用某個索引
攻略13-12 啓用查詢優化器特性
攻略13-13 阻止數據庫創建柱狀圖
攻略13-14 不使用綁定變量提高性能
攻略13-15 理解自適應遊標共享
攻略13-16 在錶達式上創建統計信息
攻略13-17 為相關列創建統計信息
攻略13-18 自動創建列組
攻略13-19 維護分區錶統計信息
攻略13-20 為大錶並行收集統計信息
攻略13-21 確定統計信息何時過期
攻略13-22 預覽統計信息收集對象
第14章 實現查詢提示
攻略14-1 編寫一個提示
攻略14-2 改變訪問路徑
攻略14-3 改變連接順序
攻略14-4 改變連接方法
攻略14-5 改變優化器版本
攻略14-6 在快速響應和整體優化之間進行選擇
攻略14-7 進行直接路徑插入
攻略14-8 在視圖中加入提示
攻略14-9 緩存查詢結果
攻略14-10 將分布式查詢引導到一個特定的數據庫
攻略14-11 收集查詢執行的擴展統計信息
攻略14-12 啓用查詢改寫
攻略14-13 提升星型架構查詢的性能
第15章 並行執行SQL
攻略15-1 為特定查詢啓用並行
攻略15-2 在創建對象時啓用並行
攻略15-3 為已經存在的對象啓用並行
攻略15-4 實現並行DML
攻略15-5 並行創建錶
攻略15-6 並行創建索引
攻略15-7 並行重建索引
攻略15-8 並行移動分區
攻略15-9 並行拆分分區
攻略15-10 啓用自動並行度
攻略15-11 檢查並行解釋計劃
攻略15-12 監控並行操作
攻略15-13 找齣並行進程中的瓶頸
攻略15-14 獲取並行會話的詳細信息
前言/序言
Oracle Database 12c性能優化攻略 下載 mobi epub pdf txt 電子書