出版時間:2009-1 出版社:清華大學(xué) 作者:尼米克 頁數(shù):869 譯者:薛瑩
Tag標簽:無
前言
0.1 64位和Oracle打破了時空連續(xù)性許多人認為20世紀90年代中期Internet的出現(xiàn)是我們一生中再也不會遇到的事件。他們的這個觀點完全錯誤!在本書的上一版中,我提到TB級的數(shù)據(jù)庫將在不久后普及,幾乎沒有人相信我的觀點。但是現(xiàn)在確實發(fā)生了這種情況——TB級的數(shù)據(jù)庫現(xiàn)在非常普遍。隨著Oracle 10g的發(fā)布,PB(1000TB)級的數(shù)據(jù)庫將開始被人們所使用;而在Oracle 11g中,甚至可能出現(xiàn)EB(1 000 000TB)級的數(shù)據(jù)庫(在Oracle 12g中,幾乎可以確定會出現(xiàn)這種數(shù)據(jù)庫)。很少有人了解到Internet時代的出現(xiàn)直接歸因于32位計算機和32位計算提供的理論可能性所產(chǎn)生的連鎖反應(yīng)。Oracle于1983年引入了32位計算,然而直到20世紀90年代中期硬件功能可滿足32位計算的需求時,許多公司才開始完全地利用32位計算(經(jīng)過了大約12年)。信息時代是往前跨越的另一大步,其前進步伐無限大于Internet時代。我們現(xiàn)在正在使用功能非常全面(除了不能挑戰(zhàn)重力)的Oracle 10g,同時正在步入將來的64位計算世界。64位計算于1995年在Oracle 7中引入,通過又一個12年的發(fā)展,64位計算于2007年開始普及。下一個時代(Generation 64)和64位計算將前所未有地改變世界,這種改變就從2007年開始。考慮IDC/EMC和位于伯克利的加利福利亞大學(xué)的如下研究:2K:一張打印頁面1M:1000K1M:一部小說5M:莎士比亞的所有著作10M:一分鐘高保真度的音頻100M:一米高架子上的書籍1G:1000M1G:一輛裝滿書的輕型貨車(或您的SGA(2007年))100G:一層樓的學(xué)術(shù)雜志(或者新的筆記本硬盤(2007年))1T:1000G2T:一個學(xué)術(shù)研究圖書館(或者您的世界500強數(shù)據(jù)庫(2007年))2T:YouTube上一天內(nèi)生成的信息量2P:所有學(xué)術(shù)研究圖書館(或者您的Grid SGA(2010年))10T:美國國會圖書館中530 000 000英里的書架730T:YouTube上一年內(nèi)生成的信息量1P:1000T20P:1995年所有硬盤驅(qū)動器的容量(或者您的數(shù)據(jù)庫(2010年))700P:收入少于2億美元的700 000家公司的所有數(shù)據(jù)1E:1000P1E:世界1000強公司的所有數(shù)據(jù)庫(平均每個公司1P)1E:接下來世界9000強公司的數(shù)據(jù)庫(平均每個公司大約100T)2E:世界上最大型的10 000個公司(使用的全部數(shù)據(jù)庫)2E:1999年生成的所有信息(可全部容納在一個Oracle 10g數(shù)據(jù)庫中(2007年))3E:世界上最大型的1 0000 000個公司(使用的全部數(shù)據(jù)庫)5E:2003年生成的所有新信息(估計值,大多數(shù)圖像沒有存儲在數(shù)據(jù)庫中)6E:2006年生成的所有電子郵件8E:一個Oracle 10g數(shù)據(jù)庫的容量(當前)12E-16E:1999年之前生成的所有信息(64位駐留內(nèi)存)16E:64位可尋址的內(nèi)存(當前)161E:2006年生成的新信息(估計值,大多數(shù)圖像/視頻沒有存儲在數(shù)據(jù)庫中)246E:2007年生產(chǎn)的所有硬盤驅(qū)動器的容量(估計值)255E:2007年生成的新信息(估計值,大多數(shù)圖像/視頻沒有存儲在數(shù)據(jù)庫中)1000E:2010年生成的新信息(估計為1Z)1Z:1000E(1Z可估計為世界所有沙灘上的沙粒數(shù)量——125個Oracle數(shù)據(jù)庫)1Y:1000Z(1Y可估計為1000個人體中的原子數(shù)量)100TY:100萬億的YB,128位可尋址內(nèi)存(將來)如果考慮可尋址內(nèi)存的理論限制,則可以設(shè)想64位計算的能力。在無符號16位計算中,可以直接尋址64K(216字節(jié))的內(nèi)存。隨著這種技術(shù)的巨大進步,于1985年出現(xiàn)Windows 1.0(1987年出現(xiàn)弱化圖形的Windows 2.0版本),1990年出現(xiàn)Windows 3.0,不久之后出現(xiàn)客戶端-服務(wù)器版本。我記得在我將SGA增加到超過1M后遇到內(nèi)存問題時,Oracle技術(shù)支持告訴我說“您不會需要大于1M的SGA”。在無符號的32位計算中,我們可以直接尋址4G(232字節(jié))的內(nèi)存(+/-符號將占用2G內(nèi)存)。對于標準的Oracle數(shù)據(jù)庫,直接尋址4G內(nèi)存可以極大地增加系統(tǒng)全局區(qū)域(SGA)。在SGA中存儲最常用的數(shù)據(jù),這些數(shù)據(jù)保留在內(nèi)存中以供快速訪問。我們現(xiàn)在一般會看到GB級的SGA和TB級的數(shù)據(jù)庫。32位Linux和Windows的DBA會尋求關(guān)于如何將其SGA增加到超過2G或4G的支持。當發(fā)展到64位計算時,相比于Internet時代的發(fā)展速度,信息時代的發(fā)展速度以指數(shù)級增長。通過使用64位,可尋址內(nèi)存的理論限制(264)變成16E(EB)或18 446 744 073 709 551 616(264字節(jié))字節(jié)的直接可尋址內(nèi)存。查看如下數(shù)字以了解可尋址內(nèi)存的巨大飛躍。
內(nèi)容概要
本書提供了監(jiān)控、分析和優(yōu)化Oracle Database 10g的方法,由Oracle認證大師Richard J.Niemiec傾力打造。書中包含了詳細的案例研究、最佳實踐和豐富的0racle新的調(diào)整特性的代碼示例。通過學(xué)習(xí)本書,讀者可以了解到如何選擇最優(yōu)化的索引選項,有效地管理驅(qū)動器和磁盤陣列,對查詢執(zhí)行故障檢修,以及可靠地預(yù)測將來的性能。本書也將詳細介紹PL/SQL性能增強、初始化文件調(diào)整,以及最新的數(shù)據(jù)庫調(diào)查和報告實用程序。
作者簡介
作者:(美國)尼米克 (Richard J.Niemiec) 譯者:薛瑩Richard J.Niemiec Richard被Oracle公司授予Oracle認證大師——迄今為止,全世界僅有6人獲得此殊榮,因此他是世界范圍內(nèi)公認的Oracle專家。他是獨立Oracle用戶組(IOUG)的前任主管以及中西部Oracle用戶組的現(xiàn)任主管。Richard已經(jīng)被5次命名為IOUG會議的最佳主講人,并且是企業(yè)家名人紀念館的成員。目前Richard J.Niemiec任TUSC公司的總裁,該公司旗下有500多個專業(yè)從事Oracle技術(shù)全方位服務(wù)咨詢和培訓(xùn)的機構(gòu)。
書籍目錄
第1章 Oracle Database 10g新功能介紹(針對DBA和開發(fā)人員) 1.1 安裝改進 1.2 SYSAUX表空間 1.3 自動存儲管理 1.4 集群就緒服務(wù)(CRS) 1.5 服務(wù)器生成的警報 1.6 自動工作量倉庫(AWR) 1.7 自動數(shù)據(jù)庫診斷監(jiān)控程序(ADDM) 1.8 SQL調(diào)整顧問 1.9 自動共享內(nèi)存管理(ASMM) 1.10 閃回恢復(fù)區(qū) 1.11 回收站 1.12 恢復(fù)管理器的改動 1.13 透明數(shù)據(jù)加密(10gR2) 1.14 LogMiner的改動 1.15 新的DBMS_STATS選項 1.16 跟蹤增強 1.17 DBMS_SCHEDULER 1.18 默認的(永久)表空間 1.19 臨時表空間組 1.20 重命名表空間 1.21 大文件表空間 1.22 收縮段 1.23 數(shù)據(jù)泵(Data Pump) 1.24 跨平臺的可移植表空間 1.25 寫入外部表 1.26 自動撤消保留調(diào)整 1.27 包括新信息的V$SESSION 1.28 OEM的改動 1.29 網(wǎng)格控制 1.30 10g版本中的新后臺進程 1.31 版本比較表 1.32 新特性回顧 1.33 參考文檔 第2章 基本的索引原理(針對DBA和初級開發(fā)人員) 2.1 基本的索引概念 2.2 組合索引 2.3 限制索引 2.3.1 使用不等于運算符(、!=) 2.3.2 使用 IS NULL或IS NOT NULL 2.3.3 使用函數(shù) 2.3.4 比較不匹配的數(shù)據(jù)類型 2.4 選擇性 2.5 集群因子(Clustering Factor) 2.6 二元高度(binary height) 2.7 使用直方圖 2.8 快速全局掃描 2.9 跳躍式掃描 2.10 索引的類型 2.10.1 B樹索引 2.10.2 位圖索引 2.10.3 HASH索引 2.10.4 索引組織表 2.10.5 反轉(zhuǎn)鍵索引 2.10.6 基于函數(shù)的索引 2.10.7 分區(qū)索引 2.10.8 位圖連接索引 2.11 快速重建索引 2.12 技巧回顧 2.13 參考文檔 第3章 磁盤實現(xiàn)方法和ASM(針對DBA) 3.1 成為規(guī)范的磁盤陣列 3.1.1 使用磁盤陣列改進性能和可用性 3.1.2 所需的磁盤數(shù)量 3.1.3 可用的RAID級別 3.1.4 更新的RAID 5 3.2 安裝和維護傳統(tǒng)文件系統(tǒng) 3.3 在硬件磁盤之間分布關(guān)鍵數(shù)據(jù)文件 3.3.1 分開存儲數(shù)據(jù)和索引文件 3.3.2 避免I/O磁盤爭用 3.3.3 通過移動數(shù)據(jù)文件來均衡文件I/O 3.4 本地托管的表空間 3.4.1 創(chuàng)建本地托管的表空間 3.4.2 把字典托管的表空間遷移到本地托管的表空間 3.4.3 Oracle大文件表空間 3.4.4 Oracle托管文件 3.5 ASM簡介 3.5.1 I/O角色之間的通信 3.5.2 ASM實例 3.5.3 ASM init.ora參數(shù) 3.5.4 ASM的安裝 3.5.5 ASM參數(shù)和SGA調(diào)整 3.5.6 ASM和權(quán)限 3.5.7 ASM磁盤 3.5.8 ASM和多路徑 3.5.9 ASM磁盤組 3.5.10 ASM磁盤組和數(shù)據(jù)庫 3.5.11 ASM冗余和故障組 3.5.12 Oracle Database 10g Release 2中新的空間相關(guān)列 3.5.13 集群同步服務(wù) 3.5.14 數(shù)據(jù)庫實例和ASM 3.5.15 使用ASM進行數(shù)據(jù)庫合并和集群化 3.5.16 支持ASM的數(shù)據(jù)庫進程 3.5.17 大文件和ASM 3.5.18 支持ASM的數(shù)據(jù)庫init.ora參數(shù) 3.5.19 ASM和數(shù)據(jù)庫部署最佳實踐 3.5.20 ASM存儲管理和分配 3.5.21 ASM重新平衡和重新分布 3.6 使用分區(qū)來避免磁盤爭用 3.6.1 獲得關(guān)于分區(qū)的更多信息 3.6.2 其他類型的分區(qū) 3.6.3 其他分區(qū)選項 3.7 使用索引分區(qū) 3.8 導(dǎo)出分區(qū) 3.9 消除碎片 3.9.1 使用正確的盤區(qū)大小 3.9.2 創(chuàng)建一個新表空間并把數(shù)據(jù)移到其中 3.9.3 導(dǎo)出和重新導(dǎo)入表 3.9.4 正確設(shè)定比例以避免鏈化現(xiàn)象 3.9.5 自動段空間管理 3.9.6 重建數(shù)據(jù)庫 3.10 增加日志文件尺寸和LOG_CHECKPOINT_INTERVAL以提高速度 3.10.1 確定重做日志文件的大小是否存在問題 3.10.2 確定日志文件的大小和檢查點的時間間隔 3.11 閃回恢復(fù) 3.12 增加恢復(fù)的可能性:在每次批處理后提交 3.13 使用回滾段 3.13.1 避免回滾段之間的爭用 3.13.2 監(jiān)控回滾段的等待和爭用 3.13.3 增加回滾段 3.13.4 把大的事務(wù)隔離到它們自己的回滾段上 3.13.5 更簡便的方法:UNDO表空間 3.13.6 監(jiān)控UNDO空間 3.14 結(jié)束有問題的會話 3.15 不要在SYSTEM或SYSAUX表空間中執(zhí)行排序 3.16 在不同磁盤和控制器上存放多個控制文件 3.17 對寫操作頻繁的數(shù)據(jù)使用裸設(shè)備來提高I/O 3.17.1 使用裸設(shè)備的好處 3.17.2 使用裸設(shè)備的缺點 3.18 磁盤I/O的其他注意事項和提示 3.19 設(shè)計階段需要注意的問題 3.20 技巧回顧 3.21 參考文檔 第4章 用初始參數(shù)調(diào)整數(shù)據(jù)庫(針對DBA) 4.1 標識重要的初始參數(shù) 4.2 不用重啟就修改初始參數(shù) 4.3 用Enterprise Manager查看初始參數(shù) 4.4 調(diào)整DB_CACHE_SIZE來提高性能 4.4.1 在調(diào)整DB_CACHE_SIZE時使用V$DB_CACHE_ADVICE 4.4.2 保證數(shù)據(jù)緩存命中率超過95% 4.4.3 監(jiān)控V$SQLAREA視圖以查找較慢的查詢 4.5 設(shè)定DB_BLOCK_SIZE來反映數(shù)據(jù)讀取量的大小 4.5.1 調(diào)整SHARED_POOL_SIZE以優(yōu)化性能 4.5.2 使用Oracle的多個緩沖池 4.5.3 調(diào)整PGA_AGGREGATE TARGET以優(yōu)化對內(nèi)存的應(yīng)用 4.5.4 修改SGA大小以避免分頁和交換 4.5.5 了解基于成本的優(yōu)化 4.5.6 創(chuàng)建足夠的調(diào)度程序 4.5.7 25個重要的初始化參數(shù) 4.5.8 查找未歸檔的初始參數(shù) 4.5.9 了解典型的服務(wù)器 4.5.10 典型的服務(wù)器模式 4.5.11 調(diào)整Oracle Application數(shù)據(jù)庫 4.6 技巧回顧 4.7 參考文檔 第5章 企業(yè)管理器和網(wǎng)格控制(針對DBA和開發(fā)人員) 5.1 企業(yè)管理器(EM)基礎(chǔ) 5.2 從All Targets和其他分組開始 5.3 Policies (Violations)選項卡 5.4 監(jiān)控數(shù)據(jù)庫 5.4.1 Database Administration選項卡 5.4.2 Database Administration選項卡:Tablespace 5.4.3 Database Administration選項卡:實例級別 5.4.4 Database Administration選項卡:All Initialization Parameters 5.4.5 Database Administration選項卡:Manage Optimizer Statistics 5.4.6 Database Administration選項卡(實例級別): 5.4.7 Database Maintenance選項卡 5.4.8 Database Topology選項卡 5.4.9 Database Performance選項卡 5.5 監(jiān)控主機 5.6 監(jiān)控應(yīng)用服務(wù)器 5.7 監(jiān)控Web應(yīng)用程序 5.8 Deployments選項卡(補丁選項) 5.9 Jobs選項卡 5.10 Reports選項卡 5.11 自動存儲管理的性能 5.12 小結(jié) 5.13 技巧回顧 5.14 參考文檔 第6章 使用EXPLAIN和STOREDOUTLINES(針對DBA和開發(fā)人員) 6.1 Oracle的SQL TRACE實用程序 6.1.1 對簡單查詢使用SQL TRACE的簡單步驟 6.1.2 TRACE輸出部分 6.1.3 更復(fù)雜的TKPROF輸出 6.1.4 深入探討TKPROF輸出 6.1.5 使用DBMS_MONITOR(10g的新特性) 6.1.6 使用TRCSESS將多個跟蹤文件保存到一個文件中(10g的新特 6.1.7 單獨使用EXPLAINPLAN 6.1.8 EXPLAIN PLAN—— 從上至下讀取和從下至上讀取 6.1.9 閱讀EXPLAIN PLAN 6.1.10 使用DBMS_XPLAN 6.1.11 另一種EXPLAIN PLAN輸出方法:構(gòu)建樹結(jié)構(gòu) 6.1.12 另一個使用樹的例子 6.1.13 在開發(fā)產(chǎn)品中利用TRACE/EXPLAIN發(fā)現(xiàn)有問題的查詢 6.1.14 PLAN_TABLE表中的重要列 6.1.15 Oracle支持的一些有用的程序包 6.1.16 適用于未記錄入檔的TRACE操作的初始參數(shù) 6.1.17 使用存儲綱要 6.1.18 使用Plan Stability(存儲綱要) 6.2 技巧回顧 第7章 基本的提示語法(針對DBA和開發(fā)人員) 7.1 最常用的提示 7.1.1 謹慎使用提示 7.1.2 首先修正設(shè)計方案 7.2 可用的提示和分組 7.2.1 改變執(zhí)行路徑 7.2.2 使用訪問方法提示 7.2.3 使用查詢轉(zhuǎn)換提示 7.2.4 使用連接操作提示 7.2.5 使用并行執(zhí)行 7.2.6 其他提示 7.3 指定提示 7.4 指定多個提示 7.5 使用別名時,提示別名而不是表名 7.6 使用提示 7.6.1 使用FIRST_ROWS提示 7.6.2 使用ALL_ROWS提示 7.6.3 使用FULL提示 7.6.4 使用INDEX提示 7.6.5 使用NO_INDEX提示 7.6.6 使用INDEX_JOIN提示 7.6.7 使用INDEX_COMBINE提示 7.6.8 使用INDEX_ASC提示 7.6.9 使用INDEX_DESC提示 7.6.10 使用INDEX_FFS提示 7.6.11 使用ORDERED提示 7.6.12 使用LEADING提示 7.6.13 使用NO_EXPAND提示 7.6.14 使用DRIVING_SITE提示 7.6.15 使用USE_MERGE提示 7.6.16 使用USE_NL提示 7.6.17 使用USE_HASH提示 7.6.18 使用PUSH_SUBQ提示 7.6.19 使用PARALLEL提示 7.6.20 使用NO_PARALLEL提示 7.6.21 使用APPEND提示 7.6.22 使用NOAPPEND提示 7.6.23 使用CACHE提示 7.6.24 使用NOCACHE提示 7.6.25 使用CLUSTER提示 7.6.26 使用HASH提示 7.6.27 使用CURSOR_SHARINGEXACT提示 7.6.28 使用QB_NAME提示 7.7 其他一些提示和注意事項 7.8 使用提示可能遇到的問題 7.9 提示一覽表 7.10 技巧回顧 7.11 參考文檔 第8章 調(diào)整查詢(針對開發(fā)人員和初級DBA) 8.1 調(diào)整哪些查詢?查詢V$SQLAREA 8.1.1 在V$SQLAREA視圖中選出最占用資源的查詢 8.1.2 在V$SQL視圖中選出最占用資源的查詢 8.2 選出最占用資源的會話和查詢的新10g視圖 8.2.1 從V$SESSMETRIC視圖中選出當前最占用資源的會話 8.2.2 查看可用的AWR快照 8.2.3 從DBA_HIST_SQLSTAT視圖中選出最占用資源的查詢 8.2.4 從dba_hist_sqlstat視圖中選擇查詢文本 8.2.5 從DBA_HIST_SQL_PLAN視圖中選出查詢執(zhí)行計劃 8.3 確定何時使用索引 8.4 遺忘索引 8.5 創(chuàng)建索引 8.6 查看表上的索引 8.7 修正差的索引 8.8 在刪除索引時保持謹慎 8.9 對SELECT和WHERE中的列使用索引 8.10 使用快速全局掃描 8.11 使查詢魔術(shù)般加速 8.12 在內(nèi)存中緩存表 8.13 使用多個索引(利用最佳選擇性) 8.14 使用索引合并 8.15 處理受限制的索引 8.16 使用基于函數(shù)的索引 8.17 了解“古怪”的OR 8.18 使用EXISTS函數(shù) 8.19 表就是視圖 8.20 SQL和“大一統(tǒng)”理論 8.21 Oracle Database 10g中的調(diào)整修改 8.22 10g自動SQL調(diào)整 8.22.1 保證調(diào)整用戶能訪問API 8.22.2 創(chuàng)建調(diào)整任務(wù) 8.22.3 查看顧問日志中的任務(wù) 8.22.4 執(zhí)行SQL調(diào)整任務(wù) 8.22.5 查看調(diào)整任務(wù)的狀態(tài) 8.22.6 顯示SQL調(diào)整顧問報告 8.22.7 檢查報告輸出 8.23 技巧回顧 8.24 參考文檔 第9章 表的連接和其他高級調(diào)整技術(shù)(針對DBA和開發(fā)人員) 9.1 連接方法 9.1.1 嵌套循環(huán)連接 9.1.2 排序合并連接 9.1.3 集群連接 9.1.4 散列連接 9.1.5 索引連接 9.2 表連接的初始化參數(shù)排序合并與散列連接參數(shù) 9.3 雙表連接:等尺寸表(基于成本) 9.4 雙表索引連接:等尺寸表(基于成本) 9.5 強制執(zhí)行特殊的連接方法 9.6 在多表連接中除去連接記錄(侯選行) 9.7 在大小不同的表間進行雙表連接 9.8 三表連接(基于成本) 9.9 位圖連接索引 9.10 第三方性能調(diào)整工具 9.11 調(diào)整分布式查詢 9.12 一切就緒 9.13 各種調(diào)整技術(shù)摘要 9.13.1 外部表 9.13.2 數(shù)據(jù)快照太舊:開發(fā)人員的編程難題 9.13.3 設(shè)置事件以轉(zhuǎn)儲每次等待 9.13.4 使用EXISTS操作符有效縮短時間 9.14 在塊級別進行調(diào)整 9.15 使用簡單的數(shù)學(xué)方法調(diào)整性能 9.15.1 傳統(tǒng)的數(shù)學(xué)分析 9.15.2 方法論的七個步驟 9.15.3 模式分析 9.15.4 數(shù)學(xué)方法總結(jié) 9.16 連接調(diào)整:關(guān)系模型與對象關(guān)系模型的性能 9.16.1 使用的模型 9.16.2 結(jié)果 9.16.3 總結(jié) 9.17 技巧回顧 9.18 參考文檔 第10章 使用PL/SQL提高性能(針對DBA和開發(fā)人員) 10.1 使用DBMS_APPLICATIONINFO進行實時監(jiān)控 10.2 在RAC環(huán)境中為實時監(jiān)控使用自定義包代替DBMSAPPLICATION_INFO10.3 在數(shù)據(jù)庫的表中記錄計時信息 10.4 減少PL/SQL程序的單元迭代和迭代的時間 10.5 使用ROWID進行迭代處理 10.6 將數(shù)據(jù)類型、IF語句的排列和PLS_INTEGER 10.6.1 確保比較運算中的數(shù)據(jù)類型相同 10.6.2 根據(jù)條件出現(xiàn)的頻率來排序IF條件 10.6.3 使用PLS_INTEGERPL/SQL數(shù)據(jù)類型進行整數(shù)運算 10.7 減少對SYSDATE的調(diào)用 10.8 減少MOD函數(shù)的使用 10.9 共享池和固定PL/SQL對象 10.9.1 將PL/SQL對象語句固定(緩存)到內(nèi)存中 10.9.2 固定所有的包 10.10 標識需要固定的PL/SQL對象 10.11 使用和修改DBMS_ SHAREDPOOL.SIZES 10.12 從DBA_OBJECT_SIZE 中獲取詳細的對象信息 10.13 發(fā)現(xiàn)無效的對象 10.14 發(fā)現(xiàn)已禁用的觸發(fā)器 10.15 將PL/SQL表用于快速參考表查詢 10.16 查找和調(diào)整所使用對象的SQL 10.17 在處理DATE數(shù)據(jù)類型時使用時間信息 10.18 調(diào)整和測試PL/SQL 10.19 了解PL/SQL對象定位的含義 10.20 使用回滾段打開大型游標 10.21 使用數(shù)據(jù)庫的臨時表來提高性能 10.22 集成用戶跟蹤機制以定位執(zhí)行位置 10.23 限制動態(tài)SQL的使用 10.24 使用管道表函數(shù)來建立復(fù)雜結(jié)果集 10.25 別管調(diào)試命令 10.26 為初學(xué)者提供的例子 10.26.1 創(chuàng)建PL/SQL代碼 10.26.2 創(chuàng)建過程 10.26.3 執(zhí)行PL/SQL過程 10.26.4 創(chuàng)建函數(shù) 10.26.5 在SQL中執(zhí)行GETCUST_NAME函數(shù) 10.26.6 創(chuàng)建數(shù)據(jù)包 10.26.7 在數(shù)據(jù)庫觸發(fā)器中使用PL/SQL 10.27 技巧回顧 10.28 參考文檔 第11章 調(diào)整RAC和使用并行特性 11.1 實時應(yīng)用集群(RAC) 11.1.1 并行數(shù)據(jù)庫 11.1.2 Oracle RAC的體系結(jié)構(gòu) 11.1.3 Oracle RAC系統(tǒng)的內(nèi)部工作方式 11.1.4 SCN 處理 11.1.5 RAC性能調(diào)整概述 11.1.6 RAC等待事件和互連統(tǒng)計數(shù)據(jù) 11.1.7 集群互連調(diào)整——硬件等級 11.1.8 使用企業(yè)管理器網(wǎng)格控制調(diào)整RAC 11.2 并行操作的基本概念 11.3 并行DML和DDL語句和操作 11.4 Oracle 9i的并行DML語句和操作 11.5 并行處理和分區(qū) 11.6 操作內(nèi)部和操作之間的并行處理 11.7 使用并行操作生成表和索引的示例 11.8 并行DML語句和示例 11.8.1 并行DML的約束條件 11.8.2 并行DML語句示例 11.9 通過V$視圖監(jiān)控并行操作 11.9.1 V$PQ_TQSTAT 11.9.2 V$PQ_SYSSTAT 11.9.3 V$PQ_SESSTAT 11.10 在并行操作時使用EXPLAIN PLAN和AUTOTRACE 11.11 調(diào)整并行執(zhí)行和Oracle 9i初始化參數(shù) 11.12 并行加載 11.13 性能比較和監(jiān)控并行操作 11.14 優(yōu)化RAC中的并行操作 11.14.1 并行操作的目標 11.14.2 RAC并行使用模型 11.14.3 初始化參數(shù) 11.14.4 查看并行統(tǒng)計數(shù)據(jù)的V$視圖 11.14.5 并行配置和相關(guān)基線測試 11.14.6 并行查詢測試示例 11.14.7 Create Table As 11.14.8 索引構(gòu)建 11.14.9 性能考慮因素和小結(jié) 11.15 使用并行處理時的其他 注意事項 11.16 技巧回顧 11.17 參考文檔 第12章 V$視圖(針對開發(fā)人員和DBA) 12.1 V$視圖的創(chuàng)建和訪問 12.1.1 獲得所有V$視圖的數(shù)量和列表 12.1.2 查找用于創(chuàng)建V$視圖的X$表 12.1.3 查找組成DBA_視圖的底層對象 12.1.4 使用有幫助的V$腳本 12.1.5 內(nèi)存分配摘要(V$SGA) 12.1.6 內(nèi)存分配的細節(jié)(V$SGASTAT) 12.1.7 在V$PARAMETER中發(fā)現(xiàn)init.ora的設(shè)置 12.1.8 測定數(shù)據(jù)的命中率(V$SYSSTAT) 12.1.9 測定數(shù)據(jù)字典的命中率(V$ROWCACHE) 12.1.10 測定共享SQL和PL/SQL的命中率(V$LIBRARYCACHE) 12.1.11 確定需要固定的PL/SQL對象 12.1.12 通過V$SQLAREA查找有問題的查詢 12.1.13 檢查用戶的當前操作及其使用的資源 12.1.14 查找用戶正在訪問的對象 12.1.15 使用索引 12.1.16 確定鎖定問題 12.1.17 關(guān)閉有問題的會話 12.1.18 查找使用多會話的用戶 12.1.19 查找磁盤I/O問題 12.1.20 查找回滾段的內(nèi)容 12.1.21 檢查空閑列表是否充足 12.1.22 檢查角色和權(quán)限設(shè)置 12.1.23 等待事件V$視圖 12.1.24 一些主要的V$視圖種類 12.2 技巧回顧 12.3 參考文檔 第13章 X$表(針對高級DBA) 13.1 X$表介紹 13.1.1 有關(guān)X$表的誤解 13.1.2 授權(quán)查看X$表 13.2 創(chuàng)建V$視圖和X$表 13.3 獲得所有X$表的列表 13.4 獲得所有的X$索引列表 13.5 對X$表和索引使用提示 13.6 共享池 13.7 監(jiān)控共享池的查詢 13.7.1 ORA-04031錯誤 13.7.2 空間分配過大而引起的爭用 13.7.3 共享池碎片化 13.7.4 共享池和/或Java池中閑內(nèi)存過低 13.7.5 庫緩存命中率 13.7.6 大量的硬分析 13.7.7 閂鎖等待和/或休眠 13.7.8 其他調(diào)整選項 13.8 重做 13.9 初始化參數(shù) 13.10 緩存/數(shù)據(jù)塊 13.10.1 緩存狀態(tài) 13.10.2 占用數(shù)據(jù)塊緩存的段 13.10.3 熱數(shù)據(jù)塊/閂鎖爭用和等待事件 13.11 實例/數(shù)據(jù)庫 13.12 高效使用X$表及其策略 13.13 相關(guān)的Oracle內(nèi)部機制 13.13.1 跟蹤 13.13.2 DBMS_TRACE包 13.13.3 事件 13.13.4 轉(zhuǎn)儲 13.13.5 ORADEBUG 13.13.6 trcsess工具 13.14 閱讀跟蹤文件 13.14.1 等待信息和響應(yīng)時間 13.14.2 遞歸調(diào)用 13.14.3 模塊信息 13.14.4 提交 13.14.5 Unmap 13.14.6 綁定變量 13.14.7 錯誤 13.15 X$表的分組 13.16 X$表及相關(guān)的非V$固定視圖 13.17 常見的X$表連接 13.17.1 Oracle 10gR1中新增的X$表 13.17.2 Oracle 10gR2中新增的X$表 13.18 X$表的命名約定 13.19 技巧回顧 13.20 參考文檔 第14章 使用STATSPACK和AWR報表調(diào)整等待和閂鎖 14.1 10gR2 (10.2) STATSPACK的 新特性 14.2 10gR1 (10.1) STATSPACK的新特性 14.3 安裝STATSPACK 14.3.1 PERFSTAT賬戶的安全管理 14.3.2 安裝之后 14.3.3 搜集統(tǒng)計數(shù)據(jù) 14.3.4 運行統(tǒng)計數(shù)據(jù)報表 14.4 自動工作量倉庫(AWR)和AWR報表 14.4.1 手動管理AWR 14.4.2 AWR自動快照 14.4.3 AWR快照報表 14.4.4 在Oracle企業(yè)管理器網(wǎng)格控制中運行AWR報表 14.5 解釋STATSPACK的輸出結(jié)果 14.5.1 報表頭信息 14.5.2 負載簡檔 14.5.3 實例的效率 14.5.4 首要等待事件 14.5.5 Oracle Bugs 14.5.6 Oracle影子進程的生命周期 14.5.7 RAC等待事件和互連統(tǒng)計數(shù)據(jù) 14.5.8 首要的SQL語句 14.5.9 實例活動統(tǒng)計數(shù)據(jù) 14.5.10 表空間和文件I/O的統(tǒng)計數(shù)據(jù) 14.5.11 段統(tǒng)計數(shù)據(jù) 14.5.12 其他的內(nèi)存統(tǒng)計數(shù)據(jù) 14.5.13 撤消統(tǒng)計數(shù)據(jù) 14.5.14 閂鎖統(tǒng)計數(shù)據(jù) 14.5.15 在塊級別調(diào)整和查看(高級) 14.5.16 數(shù)據(jù)字典和庫緩存的統(tǒng)計數(shù)據(jù) 14.5.17 SGA內(nèi)存統(tǒng)計數(shù)據(jù) 14.5.18 非默認的初始化參數(shù) 14.6 AWR報表和STATSPACK輸出結(jié)果中需 14.6.1 管理STATSPACK數(shù)據(jù) 14.6.2 升級STATSPACK 14.6.3 刪除STATSPACK 14.7 新ADDM報表的快速注釋 14.8 10gR2腳本 14.9 技巧回顧 14.10 參考文檔 第15章 執(zhí)行快速系統(tǒng)檢查 (針對DBA) 15.1 總體性能指數(shù)(TPI) 15.2 教育性能指數(shù)(EPI) 15.3 系統(tǒng)性能指數(shù)(SPI) 15.4 內(nèi)存性能指數(shù)(MPI) 15.4.1 緩沖區(qū)命中率 15.4.2 數(shù)據(jù)字典緩存命中率 15.4.3 庫緩存命中率 15.4.4 PGA內(nèi)存排序命中率 15.4.5 空閑的數(shù)據(jù)緩沖區(qū)的比例 15.4.6 最浪費內(nèi)存的前10個語句占所有語句的比例 15.4.7 調(diào)整前25個最浪費內(nèi)存的語句 15.4.8 固定/緩存對象 15.5 磁盤性能指數(shù)(DPI) 15.5.1 調(diào)整濫用磁盤讀操作的25個主要語句 15.5.2 最浪費磁盤讀操作的前10個語句占所有語句的比例 15.5.3 表/索引的分離 15.5.4 關(guān)鍵任務(wù)表管理 15.5.5 分離關(guān)鍵的Oracle文件 15.5.6 自動撤消管理 15.5.7 臨時段的平衡 15.6 總體性能指數(shù)(TPI) 15.7 系統(tǒng)綜合檢查的示例 15.7.1 評級系統(tǒng) 15.7.2 系統(tǒng)檢查評級分類的示例 15.7.3 需要立刻解決的問題項 15.7.4 其他需要解決的問題項 15.8 系統(tǒng)信息列表 15.8.1 與內(nèi)存有關(guān)的值 15.8.2 與磁盤有關(guān)的值 15.8.3 與CPU有關(guān)的值 15.8.4 與備份和恢復(fù)有關(guān)的信息 15.8.5 命名約定和/或標準以及安全信息 15.8.6 DBA知識評級 15.9 TPI和系統(tǒng)檢查需要考慮的其他項 15.10 技巧回顧 15.11 參考文檔 第16章 使用UNIX工具監(jiān)控系統(tǒng) (針對DBA) 16.1 Unix/Linux工具 16.2 使用sar命令監(jiān)控CPU的使用 16.2.1 sar -u (檢查CPU沉重程度) 16.2.2 sar -d命令(查找I/O問題) 16.2.3 sar -b命令(檢查緩存) 16.2.4 sar -q命令(檢查運行隊列和交換隊列的長度) 16.3 使用sar命令和vmstat命令監(jiān)控分頁/交換 16.3.1 使用sar命令的-p選項報告分頁活動 16.3.2 使用sar命令的-w選項報告交換和切換活動 16.3.3 使用sar命令的-r選項報告空閑內(nèi)存和空閑交換 16.3.4 使用sar命令的-g選項報告分頁活動 16.3.5 使用sar命令的-wpgr選項 16.4 使用top命令發(fā)現(xiàn)系統(tǒng)中最影響性能的用戶 16.5 使用uptime命令監(jiān)控CPU的負載 16.6 使用mpstat命令確定CPU瓶頸 16.7 將ps命令與已選出的V$視圖相結(jié)合 16.8 使用iostat命令確定磁盤I/O瓶頸 16.8.1 為磁盤驅(qū)動器sd15、sd16、sd17和sd18使用iostat的-d選項16.8.2 使用iostat的-D選項 16.8.3 使用iostat的-x選項 16.8.4 將iostat的-x選項與shell本中的邏輯相結(jié)合 16.9 使用ipcs命令確定共享內(nèi)存的使用情況 16.10 使用vmstat命令監(jiān)控系統(tǒng)的負載 16.11 監(jiān)控磁盤空閑空間 16.12 監(jiān)控網(wǎng)絡(luò)性能 16.12.1 使用spray命令監(jiān)控 16.12.2 使用nfsstat -c監(jiān)控網(wǎng)絡(luò)性能 16.12.3 使用netstat監(jiān)控網(wǎng)絡(luò)性能 16.12.4 顯示可調(diào)整參數(shù)的當前值 16.12.5 修改配置信息文件 16.12.6 影響性能的其他因素 16.13 技巧回顧 16.14 參考文檔 附錄A 主要的初始化參數(shù)(針對DBA) A.1 不再支持的初始化參數(shù) A.2 不建議使用的初始化參數(shù) A.3 25個最重要的初始化參數(shù) A.4 必須記住的最重要的10個初始化參數(shù) A.5 最重要的13個未入檔的初始化參數(shù) A.6 已入檔的初始化參數(shù)列表(V$PARAMETER) A.7 未入檔的初始化參數(shù)列表(x$ksppi/x$ksppcv) A.8 Oracle應(yīng)用程序11i建議(注釋: 216205.1) A.9 不寫書的10個重要原因 A.10 技巧回顧 A.11 參考文檔 附錄B V$視圖(針對DBA和開發(fā)人員) B.1 V$視圖、GV$視圖和X$表的創(chuàng)建 B.2 Oracle 10g (10.2.0.1) GV$和V$視圖列表 B.3 Oracle 10g (10.2.0.1) V$視圖 B.4 用于創(chuàng)建V$視圖的X$表的Oracle 10g腳本 附錄C X$表(針對DBA) C.1 按名稱排序的Oracle10g X$表 C.2 Oracle 10g X$索引 C.3 交叉引用X$表的Oracle 10gV$視圖 C.4 GV$視圖沒有引用的Oracle 10g X$表
章節(jié)摘錄
插圖:第1章 Oracle Database 10g新功能介紹(針對DBA和開發(fā)人員)1.1 安裝改進對于10g版本,首先您將會注意到其較小的磁盤占用空間和更為簡單的安裝。數(shù)據(jù)庫通過一張CD提供給用戶,而一些組件,例如HTTP服務(wù)器和HTML DB(Application Express或最新版一中的APEX),則通過一張附帶的CD提供給用戶。
媒體關(guān)注與評論
“Rich再次完成了一本優(yōu)秀的書籍,書中以大膽的、鼓舞他人的方式教導(dǎo)不同層次的讀者?!薄 狝ri Kaplan,獨立Oracle用戶組的總裁“Rich Niemiec是Oracle性能調(diào)整方面的“絕對”專家。每個Oracle DBA的書架上都應(yīng)該放有本書——任何人都可以從中學(xué)到知識。這是一本被反復(fù)證明過有重要參考價值的優(yōu)秀書籍?!薄 狵imberIy Floss,PepsiCo的數(shù)據(jù)庫服務(wù)經(jīng)理,獨立Oracle用戶組的前任總裁“Rich是一名世界頂尖的Oracle優(yōu)化專家。他的書籍為所有優(yōu)化從業(yè)人員(從初級到高級)提供了大量提示和技巧;本書將使Oracle世界的每位優(yōu)化從業(yè)人員的技能得到提升?!薄 狹ohammed Abdul Samad,沙特阿拉伯教育部“我非常欽佩Rich在0racle技術(shù)方面的豐富知識。希望熟練掌握Oracle性能調(diào)整的任何人都可以從本書中獲益。本書包含了Rich在Oracle方面的專家知識和經(jīng)驗,并且是所有Oracle專業(yè)人士必讀的書籍?!薄 狧ardik Bhatt,芝加哥城首席信息官“Rich Niemiec編寫的任何書籍都是必須購買的書籍,他深入了解Oracle的方方面面?!薄 狵aren Brownfield,Oracle Applications用戶組董事
編輯推薦
通過學(xué)習(xí)《Oracle Database 10g 性能調(diào)整與優(yōu)化》,讀者可以了解到如何選擇最優(yōu)化的索引選項,有效地管理驅(qū)動器和磁盤陣列,對查詢執(zhí)行故障檢修,以及可靠地預(yù)測將來的性能?!禣racle Database 10g 性能調(diào)整與優(yōu)化》也將詳細介紹PL/SQL性能增強、初始化文件調(diào)整,以及最新的數(shù)據(jù)庫調(diào)查和報告實用程序。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
Oracle Database 10g性能調(diào)整與優(yōu)化 PDF格式下載