Oracle高效設計

Oracle高效設計

《Oracle高效設計》是2006年機械工業出版社出版的圖書,作者是凱特。

基本介紹

  • 書名:Oracle高效設計
  • 作者:凱特
  • 譯者:鐘鳴、郝玉潔 
  • ISBN:9787111178118
  • 頁數:496頁
  • 定價:68.0
  • 出版社機械工業出版社
  • 出版時間:2006-01-01
  • 裝幀:平裝
內容簡介,作者簡介,目錄,

內容簡介

本書對Oracle及資料庫的知識進行了全面深入的講解,是一本關於Oracle的高級手冊。本書從開發應用程式的正確方法角度,講述Oracle的重要概念和特性,包括:性能工具包,體系結構選擇,語句處理,從基於成本的最佳化器中獲得儘可能多的信息,故障排除等內容。還包括如何編寫好的Oracle應用程式所涉及的關鍵問題:高效的管理,高效的設計模式,高效的SQL,高效的PL/SQL程式設計。附錄給出了設定和很多常用的腳本。本書內容翔實,實例豐富,語言流暢且淺顯易懂,適合作為從事Oracle開發人員的參考手冊。
《Oracle高效設計》特色
使用SQL*Plus、TKPROF、STATSPACK、JDeveloper以及其他工具
利用Oracle的可伸縮的體系結構實現
使用SPFILE、Oracle管理檔案,以及自動段空間管理實現高效管理
使用ARCHIVELOG模式、RMAN和數據保護完成資料庫備份與恢復
通過綁定變數和儘可能少做分析來改進語句處理
充分利用基於成本的最佳化程式 (CBO)
產生高效設計模式的數據結構選擇
編寫高效的SQL語句和高效的PL/SQL代碼
跟隨Oracle權威人士學習開發高效應用程式的正確方法。

作者簡介

Thomas Kyte,oracle專業領域世界上最權威的專家之一。他是oracle核心技術小組(管理、教育和健康)副主席,兼《oracle magazine》及其線上論壇“asktom”專欄作家,撰寫過多部設計和構建高性能、可伸縮oracle應用程式的指南。他回答過數以千計的技術問題,也正是這些問題激發了他寫作這本書的靈感。

目錄

譯者序
前言
第1章 構建應用程式的正確方法
1.1 團隊協作
1.2 閱讀資料文檔
1.2.1 指南的指南
1.2.2 閱讀路線
1.3 避免黑盒綜合症
1.3.1 資料庫獨立與資料庫依賴
1.3.2 黑盒綜合症的危害
1.4 是資料庫而不是一堆數據
1.4.1 使用主鍵和外部鍵
1.4.2 測試參考完整性的開銷
1.4.3 中間層檢查不是萬能藥
1.5 建立測試環境
1.5.1 用有代表性的數據進行測試
1.5.2 不要用單個用戶進行測試
1.5.3 不要在無菌實驗室中進行測試
1.6 設計出性能而不是調整出性能
1.6.1 不要使用通用數據模型
1.6.2 設計自己的高效數據模型
1.7 開始就定義性能目標
1.7.1 在清晰明確的標準下工作
1.7.2 隨時收集並記錄標準
1.7.3 別因為“所有人都知道你應該做”而做某件事情
1.8 測試.測試.再測試
1.8.1 小基準測試
1.8.2 大基準測試
1.9 儀表化系統
1.9.1 追蹤asktom.oracle.com
1.9.2 遠程調試儀表化
1.9.3 使用dbms_application_info
1.9.4 在pl/sql中使用debug.f
1.9.5 在套用系統中打開sql_trace
1.9.6 使用業內標準的api
1.9.7 建立自己的例程
1.9.8 審計不僅僅是個詞
1.10 敢於懷疑權威
1.10.1 當心泛泛的“最好”
1.10.2 懷疑“法定”和“神話”
1.11 不要走捷徑
1.12 保持簡單
1.12.1 考慮備選方法
1.12.2 讓資料庫充分發揮自己的能力
1.13 使用已有的功能
1.13.1 我們聽說x特性慢
1.13.2 我們聽說x特性複雜
1.13.3 我們不想
1.13.4 我們以前不知道
1.13.5 我們希望資料庫獨立
1.14 本章小結
第2章 性能工具包
2.1 sql * plus
2.1.1 建立sql * plus
2.1.2 定製sql * plus環境
2.1.3 閱讀文檔
2.2 explain plan
2.2.1 設定explain plan
2.2.2 使用explain plan
2.2.3 如何閱讀查詢計畫
2.2.4 避免explain plan陷阱
2.2.5 使用dbms_xplan和v$sql_plan
2.3 autotrace
2.3.1 建立autotrace
2.3.2 使用autotrace
2.3.3 格式化autotrace的輸出
2.3.4 了解autotrace的輸出
2.3.5 autotrace輸出中感興趣的內容
2.4 tkprof
2.4.1 啟用tkprof
2.4.2 運行丁tkprof
2.4.3 讀tkprof報告
2.4.4 各種群體對tkprof的使用
2.5 runstats
2.5.1 建立runstats
2.5.2 使用runstats
2.6 statspack
2.6.1 建立statspack
2.6.2 使用statspack
2.6.3 使用statspack易犯的錯誤
2.6.4 statspack概覽
2.7 dbms_profiler
2.7.1 為什麼要使用配置檔案管理器
2.7.2 配置檔案管理器的資源
2.8 jdeveloper(及調試)
2.9 本章小結
第3章 體系結構選擇
3.1 了解共享伺服器與專用伺服器連線
3.1.1 專用伺服器如何工作
3.1.2 共享伺服器連線如何工作
3.1.3 關於共享伺服器配置的常見錯誤觀點
3.1.4 專用伺服器與共享伺服器小結
3.2 利用集群
3.2.1 rac如何工作
3.2.2 rac的優點
3.2.3 集群小結
3.3 了解何時使用分區
3.3.1 分區概念
3.3.2 神秘的分區
3.3.3 為什麼使用分區
3.3.4 分區小結
3.4 知道何時使用並行操作
3.4.1 並行神話
3.4.2 並行管理
3.4.3 並行查詢
3.4.4 並行dml
3.4.5 打造自己的並行
3.4.6 並行處理小結
3.5 本章小結
第4章 高效的管理
4.1 用spfile啟動資料庫
4.1.1 pfile的問題
4.1.2 spfile如何工作
4.1.3 讓資料庫使用spfile
4.1.4 保存系統參數的改動
4.1.5 pfile過時了嗎
4.1.6 求助.我的spfile壞了.我不能啟動了
4.1.7 spfile小結
4.2 讓oracle來管理你的數據檔案
4.2.1 何時使用omf
4.2.2 omf如何工作
4.2.3 omf小結
4.3 可靠的恢復
4.3.1 備份準則
4.3.2 備份和恢復小結
4.4 使用本地管理的表空間
4.4.1 為什麼要廢除dmt
4.4.2 在不知道對象會變得有多大時使用系統管理的lmt
4.4.3 在知道對象的最終尺寸時使用統一的區尺寸
4.4.4 關於lmt的某些忠告
4.4.5 lmt和dmt小結
4.5 讓oracle管理你的段空間
4.5.1 理解可用列表和可用列表組
4.5.2 pctfree和pctused怎樣控制可用列表
4.5.3 assm的案例
4.5.4 assm小結
4.6 讓oracle管理回退段
4.6.1 設定undo retention
4.6.2 undo表空間忠告
4.6.3 undo表空間小結
4.7 本章小結..
第5章 語句處理
5.1 理解sql語句的類型
5.2 語句怎樣執行
5.2.1 分析
5.2.2 最佳化和行資源生成
5.2.3 執行
5.2.4 語句執行小結
5.3 查詢的處理過程
5.3.1 快速返回的查詢
5.3.2 慢速返回的查詢
5.3.3 一致性讀取
5.4 dml語句的處理
5.5 ddl處理
5.6 使用綁定變數
5.6.1 綁定變數的優點
5.6.2 對java和vb使用綁定變數
5.6.3 每項規則都有例外
5.6.4 綁定變數窺視
5.7 儘可能少做分析
5.7.1 分析的成本
5.7.2 使用pl/sql減少分析
5.7.3 把sql移出觸發器以減少分析
5.7.4 準備一次;執行多次
5.8 本章小結
第6章 從基於成本的最佳化程式獲得最大輸出
6.1 為什麼停用rbo
6.2 使cbo發揮最大的作用
6.2.1 調整optimizer_index_caching和optimizer_index_cost_adj參數
6.2.2 使用system統計數據
6.3 最佳化cbo
6.3.1 為升級設定compatible
6.3.2 設定db_file_multiblock_read_count以減少全掃描的成本
6.3.3 設定hash_join_enabled控制散列連線
6.3.4 設定optimizer_dynamic_sampling動態收集統計數據
6.3.5 設定offimizer_features_enable控制特性選擇
6.3.6 設定optimizer_max_permutations控制排列
6.3.7 設定optimizer_mode選擇模式
6.3.8 用query_rewrite_enabled和query_rewrite_integrityt重寫查詢
6.3.9 用bitmap_merge_area_size、sort_area_size、hash_area_size控制pga記憶體
6.3.10 對星查詢使用star_transformation_enabled
6.3.11 設定影響最佳化程式的其他幾個參數
6.4 使用10 053事件跟蹤cbo選擇
6.5 本章小結
第7章 高效的模式設計
7.1 基本模式設計原則
7.1.1 讓資料庫實現數據完整性
7.1.2 使用正確的數據類型
7.1.3 對最經常提的問題進行最佳化
7.2 表類型概述
7.3 b*樹索引集群表
7.3.1 創建群
7.3.2 使用群
7.3.3 群小結
7.4 索引組織表
7.4.1 用iot替代關聯表以節省空間
7.4.2 利用iot集中放置隨機插入的數據
7.4.3 iot小結
7.5 外部表
7.5.1 建立外部表
7.5.2 修改外部表
7.5.3 將外部表用於直接路徑裝載
7.5.4 將外部表用於並行直接路徑裝載
7.5.5 將外部表用於合併
7.5.6 處理外部表的錯誤
7.6 索引技術
7.6.1 使用fbi——打破常規
7.6.2 使用域索引
7.7 壓縮
7.7.1 使用索引鍵壓縮
7.7.2 對於唯讀或主要是讀的表進行壓縮
7.7.3 壓縮小結
7.8 本章小結
第8章 高效的sql
8.1 編寫高效sql所需的知識
8.2 訪問路徑
8.2.1 全掃描
8.2.2 rowid訪問
8.2.3 索引掃描
8.2.4 群掃描
8.3 連線概念
8.3.1 嵌套循環
8.3.2 散列連線
8.3.3 排序合併連線
8.3.4 笛卡兒連線
8.3.5 反連線
8.3.6 全外部連線
8.4 模式問題(物理的)
8.5 真正理解sql
8.5.1 rownum偽列
8.5.2 標量子查詢
8.5.3 分析函式
8.6 不調整查詢
8.6.1 理解問題
8.6.2 概念驗證的例子
8.7 其他sql技術概覽
8.8 本章小結
第9章 高效的pl/sql程式設計
9.1 為什麼要使用pl/sql
9.1.1 pl/sql是數據操縱的最高效語言
9.1.2 pl/sql。具有可移植性和可重用性
9.2 儘可能少地編寫代碼
9.2.1 不用程式實現
9.2.2 讓代碼行數適合於螢幕顯示
9.3 使用程式包
9.3.1 程式包的優點
9.3.2 斷開依賴鏈
9.3.3 程式包小結
9.4 使用靜態sql
9.4.1 靜態sql的優點
9.4.2 尋找替換動態sql的機會
9.4.3 靜態sql小結
9.5 批量處理
9.5.1 使用批量處理效果很好時再使用它
9.5.2 對etl操作使用bulk處理
9.5.3 批量處理小結
9.6 返回數據
9.6.1 ref游標的優點
9.6.2 使用ref游標返回結果集
9.7 使用%type和%rowtype
9.7.1 基於表的記錄類型
9.7.2 基於游標的記錄類型
9.7.3 基於列的數據類型
9.8 使用調用者的許可權
9.8.1 調用者許可權和多模式
9.8.2 調用者許可權的條件
9.9 使查找高效地工作
9.9.1 查找的單行取
9.9.2 查找的批量處理
9.9.3 查找的單語句操作
9.9.4 查找小結
9.10 當心獨立事務處理
9.10.1 獨立事務處理的條件
9.10.2 獨立事務處理會影響數據完整性
9.11 選擇使用隱式游標還是顯式游標
9.11.1 將隱式游標用於單行選擇
9.11.2 對有限行數的結果集使用隱式游標
9.11.3 隱式/顯式游標小結
9.12 本章小結
第10章 故障排除
10.1 找出差異
10.1.1 開始收集今天的歷史記錄
10.1.2 偵探性工作
10.2 一次只更改一樣東西
10.3 更改一樣東西要有充分理由
10.3.1 有目標
10.3.2 驗證你的假設
10.4 能夠恢復到更改前的狀態
10.5 建立測試用例
10.5.1 測試用例需求
10.5.2 使測試用例儘可能小
10.6 本章小結
附錄 設定和一些腳本

相關詞條

熱門詞條

聯絡我們