出版時間:2011-9 出版社:電子工業(yè)出版社 作者:徐明偉,王濤 編著 頁數(shù):546
Tag標簽:無
內(nèi)容概要
IBM
DB2作為業(yè)界主流的數(shù)據(jù)庫產(chǎn)品,廣泛應(yīng)用于金融、通信、煙草等行業(yè)。本書側(cè)重于DB2數(shù)據(jù)庫管理,以實戰(zhàn)為主要目標,內(nèi)容涵蓋軟件安裝配置、數(shù)據(jù)庫環(huán)境搭建、存儲規(guī)劃、數(shù)據(jù)遷移、備份恢復(fù)、鎖、性能監(jiān)控調(diào)優(yōu)和常見的問題診斷等。通過循序漸進、深入淺出的講解,力求讓讀者親自動手實驗,結(jié)合實際案例,快速掌握DB2知識,獨立完成日常運維管理工作。本書作者均有IBM原廠的工作經(jīng)歷,實戰(zhàn)經(jīng)驗非常豐富,本書將和大家分享他們的DB2數(shù)據(jù)庫管理的最佳實踐經(jīng)驗。
作者簡介
徐明偉,網(wǎng)絡(luò)ID:飛天。畢業(yè)于北京航空航天大學(xué),計算機碩士專業(yè)。2004年加入IBM中國軟件開發(fā)中心軟件服務(wù)部,從事DB2、MDM相關(guān)的技術(shù)支持和咨詢工作。2010年成為DB2咨詢顧問,并創(chuàng)立北京普遠天成科技有限公司,繼續(xù)專注于為客戶提供DB2咨詢、培訓(xùn)和支持工作。在DB2數(shù)據(jù)庫管理、性能調(diào)優(yōu)和問題診斷方面,徐明偉具備非常豐富的經(jīng)驗。曾經(jīng)幫助云南移動,海南移動、貴州移動、上海移動、安徽聯(lián)通、人民銀行、農(nóng)業(yè)銀行、交通銀行、晉商銀行、中央國債、中國銀聯(lián)、國家煙草局、南京鋼鐵、寶鋼股份、北京高速路、韓國國稅局、馬來西亞工業(yè)部等備類行業(yè)客戶進行DB2數(shù)據(jù)庫和相關(guān)產(chǎn)品的性能調(diào)優(yōu)和問題診斷工作,獲得客戶高度認可。積極推動DB2的推廣和使用,組織了多場公開課培訓(xùn)和企業(yè)內(nèi)訓(xùn),培訓(xùn)的人數(shù)超過千人,培訓(xùn)內(nèi)容注重理論和實戰(zhàn)相結(jié)合,并分享多個實際性能調(diào)優(yōu)和問題診斷案例,深受客戶好評。王濤,網(wǎng)絡(luò)ID:wangzhonnew。畢業(yè)于加拿大卡爾加里大學(xué),計算機科學(xué)專業(yè)。于2005年加入JBM加拿大多倫多實驗室,從事DB2二線技術(shù)支持。2007年升遷到DB2高級技術(shù)支持小組,主要負責北美區(qū)域客戶DB2系統(tǒng)宕機等嚴重事故處理與高級性能調(diào)優(yōu)支持。2011年進入DB2三線高級問題診斷小組,主要負責全球各地最為復(fù)雜與緊急的客戶DB2數(shù)據(jù)庫系統(tǒng)故障診斷處理,以及部分模塊的研發(fā)與優(yōu)化工作。王濤在DB2問題診斷和性能優(yōu)化方面,具有極其豐富的經(jīng)驗,曾經(jīng)幫助包括花旗銀行,匯豐銀行、四大投行、可口可樂、波音、美國軍方以及政府等不同行業(yè)在內(nèi)的數(shù)百家大型企業(yè)在第一時間恢復(fù)關(guān)鍵數(shù)據(jù),為超過近百家企業(yè)的關(guān)鍵系統(tǒng)進行DB2性能診斷和優(yōu)化,獲得客戶高度認可和贊譽。王濤是國內(nèi)幾大知名DB2論壇的超級版主,熱心幫助國內(nèi)客戶解決生產(chǎn)故障,積極參與社區(qū)的問題討論,為推動DB2在國內(nèi)的傳播做出了突出貢獻。
書籍目錄
第一部分 DB2概述
第1章 DB2產(chǎn)品介紹
1.1 數(shù)據(jù)模型
1.2 DB2歷史
1.3 DB2版本
1.4 DB2 9主要功能增強
1.5 DB2認證
1.6 DBA的任務(wù)和職責
1.7 IBM信息管理產(chǎn)品概述
1.8 小結(jié)
1.9 判斷題
1.10 參考文獻
第2章 DB2體系結(jié)構(gòu)
2.1 DB2體系結(jié)構(gòu)簡介
2.2 對象層次關(guān)系
2.3 數(shù)據(jù)訪問過程
2.4 數(shù)據(jù)庫工具
2.5 小結(jié)
2.6 判斷題
2.7 參考文檔
第二部分 DB2部置和規(guī)劃
第3章 安裝DB2軟件
3.1 軟件安裝
3.1.1 軟件獲取
3.1.2 安裝前檢查
3.1.3 安裝
3.1.4 補丁升級
3.1.5 版本升級
3.2 小結(jié)
3.3 判斷題
3.3 參考文檔
第4章 實例管理
4.1 什么是實例
4.2 創(chuàng)建實例
4.2.1 在Windows平臺下創(chuàng)建實例
4.2.2 在UNIX/Linux平臺下創(chuàng)建實例
4.3 啟動/停止/列出實例
4.4 更新實例
4.5 刪除實例
4.6 實例參數(shù)
4.7 管理服務(wù)器(Database Administration Server, DAS)
4.8 小結(jié)
4.9 判斷題
第5章 數(shù)據(jù)庫創(chuàng)建和存儲管理
5.1 數(shù)據(jù)庫結(jié)構(gòu)
5.2 建庫、表空間
5.3 表空間維護管理
5.3.1 表空間監(jiān)控
5.3.2 表空間更改
5.3.3 表空間狀態(tài)
5.3.4 表空間高水位
5.3.5 深入DMS表空間
5.4 存儲設(shè)計最佳實踐
5.5 小結(jié)
5.6 判斷題
第6章 數(shù)據(jù)庫連接
6.1 遠程連接概述
6.2 節(jié)點和數(shù)據(jù)庫編目
6.3 常見的數(shù)據(jù)庫連接問題
6.4 小結(jié)
6.5 判斷題
第7章 數(shù)據(jù)庫對象
7.1 模式
7.2 表
7.2.1 表約束
7.2.2 表狀態(tài)
7.2.3 表壓縮
7.2.4 表分區(qū)
7.3 索引
7.4 視圖
7.5 昵稱
7.6 序列(Sequence)
7.7 自增字段
7.8 大對象(LOB)
7.9 函數(shù)
7.10 觸發(fā)器
7.11 存儲過程
7.12 小結(jié)
7.13 判斷題
第三部分 DB2運維管理
第8章 數(shù)據(jù)遷移
8.1 數(shù)據(jù)遷移概述
8.2 文件格式
8.2.1 DEL格式
8.2.2 ASC格式
8.2.3 PC/IXF
8.2.4 Cursor
8.3 export
8.4 import
8.5 load
8.5.1 load步驟及原理
8.5.2 load表狀態(tài)
8.5.3 load的copy選項
8.5.4 set integrity完整性檢查
8.6 12個怎么辦
8.6.1 出現(xiàn)了load pending了怎么辦
8.6.2 在客戶端load問題
8.6.3 要加載的數(shù)據(jù)是Excel格式怎么辦
8.6.4 要導(dǎo)出/加載的數(shù)據(jù)不是逗號/雙引號分隔怎么辦
8.6.5 文件中的列比要導(dǎo)入的表中的字段多怎么辦
8.6.6 文件中的列比要導(dǎo)入的表中的字段少怎么辦
8.6.7 要導(dǎo)入/導(dǎo)出大字段(LOB)怎么辦
8.6.8 sequence數(shù)據(jù)怎么辦
8.6.9 導(dǎo)入identity數(shù)據(jù)怎么辦
8.6.10 要加載的數(shù)據(jù)有換行符怎么辦
8.6.11 遷移出現(xiàn)亂碼怎么辦
8.6.12 表數(shù)據(jù)從一個表空間遷移到另外一個表空間怎么辦
8.7 db2look/db2move
8.7.1 db2move工具介紹
8.7.2 db2look工具介紹
8.7.3 db2look+db2move遷移案例
8.8 db2dart
8.9 小結(jié)
8.10 判斷題
第9章 備份恢復(fù)
9.1 備份恢復(fù)概述
9.2 DB2日志
9.2.1 日志機制和原理
9.2.2 日志參數(shù)配置最佳實踐
9.2.3 日志監(jiān)控和維護管理
9.2.4 其他日志相關(guān)的考慮
9.2.5 經(jīng)常遇到的日志問題
9.3 備份
9.3.1 離線備份
9.3.2 在線備份
9.3.3 表空間備份
9.3.4 增量備份
9.3.5 備份介質(zhì)檢查
9.3.6 備份監(jiān)控
9.4 恢復(fù)
9.4.1 崩潰恢復(fù)
9.4.2 版本恢復(fù)
9.4.3 前滾恢復(fù)
9.4.4 刪除表恢復(fù)(dropped table recovery)
9.5 常見備份恢復(fù)場景及遇到的問題
9.5.1 宕機后數(shù)據(jù)庫連接hang的處理
9.5.2 循環(huán)日志模式下的離線備份恢復(fù)
9.5.3 歸檔日志模式下的備份恢復(fù)
9.5.4 歸檔日志模式下前滾恢復(fù)的幾個時間戳
9.5.5 同版本不同實例下的數(shù)據(jù)庫備份恢復(fù)(表空間是自動存儲管理)
9.5.6 同版本不同實例下的數(shù)據(jù)庫備份恢復(fù)(表空間是非自動存儲管理)
9.5.7 不同版本不同實例下的數(shù)據(jù)庫恢復(fù)
9.5.8 從生產(chǎn)庫到測試庫恢復(fù)的案例分析
9.5.9 歷史文件過大造成數(shù)據(jù)庫停止響應(yīng)案例分析
9.5.10 恢復(fù)時解壓類包問題
9.5.11 備份失敗問題
9.6 小結(jié)
9.7 判斷題
第10章 DB2日常運維
10.1 日常運維工具概述
10.2 Runstats
10.2.1 Runstats原理
10.2.2 Runstats用法
10.3 Reorg
10.3.1 為什么需要Reorg
10.3.2 Reorg用法
10.3.3 Reorg最佳實踐
10.4 Rebind
10.5 獲取數(shù)據(jù)庫占用空間的大小
10.6 獲取某個表空間占用空間大小
10.7 獲取某個表/索引占用空間的大小
10.8 小結(jié)
10.9 判斷題
第11章 鎖和并發(fā)
11.1 鎖和隔離級別概述
11.2 鎖的模式和兼容性
11.2.1 表鎖模式
11.2.2 行鎖模式
11.2.3 表鎖和行鎖兼容性
11.3 鎖的各種問題
11.3.1 鎖等
11.3.2 鎖超時
11.3.3 死鎖
11.3.4 鎖升級
11.3.5 鎖轉(zhuǎn)換
11.4 鎖監(jiān)控和診斷
11.4.1 鎖的分析思路和方法
11.4.2 鎖升級(lock escalation)的診斷分析
11.4.3 鎖等(lock wait)的捕獲與診斷分析
11.4.4 鎖超時(lock timeout)的捕獲與診斷分析
11.4.5 死鎖(deadlock)的捕獲與診斷分析
11.4.6 9.7鎖事件監(jiān)控器
11.5 鎖和并發(fā)調(diào)優(yōu)
11.6 Currently Committed機制
11.7 小結(jié)
11.8 判斷題
第四部分 DB2監(jiān)控和調(diào)優(yōu)
第12章 DB2進程/線程模型
12.1 提要
12.2 從操作系統(tǒng)看進程和線程
12.3 DB2 V8/V9.1進程模型
12.3.1 代理進程
12.3.2 分區(qū)內(nèi)并行
12.3.3 分區(qū)間并行(DPF)
12.3.4 預(yù)取進程(prefetcher)
12.3.5 頁面清理進程(Page Cleaner)
12.3.6 其他進程
12.3.7 實例 / 數(shù)據(jù)庫啟動步驟
12.4 DB2 9.5/9.7線程模型
12.5 小結(jié)
12.6 判斷題
第13章 DB2內(nèi)存模型
13.1 從操作系統(tǒng)看內(nèi)存
13.2 DB2 8/9.1內(nèi)存模型
13.2.1 實例共享內(nèi)存段
13.2.2 數(shù)據(jù)庫共享內(nèi)存
13.2.3 應(yīng)用程序組共享內(nèi)存
13.2.4 私有內(nèi)存
13.3 DB2 9.5/9.7內(nèi)存模型
13.3.1 實例內(nèi)存
13.3.2 應(yīng)用程序內(nèi)存
13.3.3 自動內(nèi)存調(diào)節(jié)(Self Tuning Memory Management,STMM)
13.4 內(nèi)存監(jiān)控
13.4.1 db2mtrk
13.4.2 db2pd -dbptnmem
13.4.3 db2pd -memset / db2pd -mempool
13.5 小結(jié)
13.6 判斷題
第14章 DB2監(jiān)控工具
14.1 snapshot命令行監(jiān)控
14.2 snapshot管理視圖
14.3 db2pd
14.4 db2top
14.4.1 實時監(jiān)測
14.4.2 歷史信息收集
14.4.3 子窗口
14.5 DB2事件監(jiān)控器
14.6 小結(jié)
14.7 判斷題
第15章 性能監(jiān)控和分析方法
15.1 收集數(shù)據(jù)
15.1.1 操作系統(tǒng)級別性能監(jiān)控
15.1.2 數(shù)據(jù)庫級別性能監(jiān)控
15.1.3 數(shù)據(jù)收集的頻度
15.1.4 小結(jié)
15.2 分析數(shù)據(jù)
15.2.1 瓶頸分類與原理介紹
15.2.2 性能分析思路
15.2.3 性能分析案例
15.2.4 小結(jié)
15.3 判斷題
第16章 優(yōu)化器與性能調(diào)優(yōu)
16.1 優(yōu)化器簡介
16.2 性能調(diào)優(yōu)簡介
16.2.1 索引
16.2.2 排序
16.3 KPI
16.3.1 緩沖池命中率(bufferpool hit ratio)
16.3.2 有效索引讀
16.3.3 包緩存命中率?。╬ackage cache hit ratio)
16.3.4 平均結(jié)果集大小
16.3.5 同步讀取比例
16.3.6 數(shù)據(jù)、索引頁清除
16.3.7 臟頁偷?。╠irty page steal)
16.3.8 緩沖區(qū)讀寫I/O響應(yīng)時間
16.3.9 Direct I/O時間
16.3.10 直接I/O讀?。▽懭耄┑拇螖?shù)
16.3.11 編目緩沖區(qū)插入比例
16.3.12 排序指標
16.3.13 基于事務(wù)的指標度量
16.3.14 檢測索引頁掃描
16.3.15 日志寫入速度
16.3.16 查詢執(zhí)行速度
16.3.17 實例級性能指標
16.3.18 操作系統(tǒng)級指標
16.4 小結(jié)
16.5 判斷題
第五部分 DB2問題診斷
第17章 問題診斷
17.1 概述
17.2 日志信息錯誤
17.3 宕機
17.4 掛起
17.5 錯誤信息
17.5.1 SQLCODE
17.5.2 db2trc
17.5.3 strace
17.6 分析數(shù)據(jù)收集工具
17.7 IBM服務(wù)支持體系
17.8 小結(jié)
17.9 判斷題
第18章 數(shù)據(jù)庫安全
18.1 安全概述
18.2 認證機制
18.3 權(quán)限控制
18.3.1 管理權(quán)限
18.3.2 對象特權(quán)
18.3.3 權(quán)限設(shè)計案例
18.4 審計機制
18.5 DB2安全最佳實踐
18.6 其他安全技術(shù)增強
18.7 小結(jié)
18.8 判斷題
18.9 參考文獻
章節(jié)摘錄
版權(quán)頁:插圖:剛才我們所做的就是將一個服務(wù)器系統(tǒng)性能問題細化為數(shù)據(jù)庫服務(wù)器或者應(yīng)用程序服務(wù)器的性能問題。如果能夠在3個系統(tǒng)中(應(yīng)用程序服務(wù)器、數(shù)據(jù)庫服務(wù)器和存儲服務(wù)器)中至少排除掉一個,都能夠為我們性能分析帶來很大方便。但是有時候,很難排除以上任何一種。如果在上周四的數(shù)據(jù)中,發(fā)現(xiàn)上周四大概6個LIOW Executing,每秒15個查詢,CPU占用率5%,那么我們不能夠簡單地說這個是應(yīng)用程序服務(wù)器的問題。一般來說,正常的系統(tǒng),性能下降意味著單位時間內(nèi)的吞吐量減少??墒窃摾?,正常吞吐量為每秒15個查詢,而性能不好的系統(tǒng)中為每秒50個查詢,這一點明顯有悖于正常行為。讓我們繼續(xù)分析。通過對CPU使用率的理解,當前CP[J使用率僅有10%,由此可以推斷CPU不應(yīng)該成為瓶頸。那么問題可能出在哪呢?可能是應(yīng)用層,比如修改了業(yè)務(wù)邏輯(需要更多的SQL語句),也可能發(fā)生在數(shù)據(jù)庫層,比如由于業(yè)務(wù)量的突然提高,導(dǎo)致更多鎖等待,產(chǎn)生系統(tǒng)懶惰。細化問題有一個前提,就是一定要小心不要走上錯誤的岔口。在每次回答一個小問題之前,都不要過度依賴某一類的數(shù)據(jù)。除了CPU使用率、并發(fā)數(shù)、吞吐量等指標,還包含更多的數(shù)據(jù)。我們一定要結(jié)合關(guān)鍵數(shù)據(jù)分析現(xiàn)象,千萬不要被某幾條現(xiàn)象所迷惑。每一次回答小問題的時候,都要仔細思考一下,有沒有其他任何數(shù)據(jù)能夠證明該答案是錯誤的。注意,“錯誤”并不是筆誤。每次回答問題之前,都要去假設(shè)心中的答案是一個錯誤的答案,然后嘗試去找數(shù)據(jù)證明這一點。如果沒有任何數(shù)據(jù)或者邏輯能夠反證你的推論,這個推導(dǎo)才算是合格可用的。在細化的過程中,有時候我們找不到一個完美的對比數(shù)據(jù)。比如有的時候當DBA被交予一個陌生的系統(tǒng)時,領(lǐng)導(dǎo)可能拍著桌子吼“這個系統(tǒng)跑了兩年都是好好的,可是性能上周突然下降得很厲害,你給我把它搞定”。這個時候,用戶可能并沒有該系統(tǒng)的歷史數(shù)據(jù)來對比,那么KPI(KeyPer- formance Indicator,關(guān)鍵性能指標)就是我們最好的朋友。KPI并不是憑空產(chǎn)生的,而是國內(nèi)外無數(shù)專家在幾十年的性能分析中總結(jié)出的一套相對適用于大部分系統(tǒng)的性能指標。除非一個系統(tǒng)被設(shè)計得相當詭異,一般來說大部分系統(tǒng)都可以用KPI指標進行評估。當然,如果系統(tǒng)怪異到連最通常的KPI都不適用的情況下,那么這個系統(tǒng)的設(shè)計者估計也可以離職了。最通常的KPI可以說是緩沖池命中率。相信大部分DB2DBA都聽說過,就是說有百分之多少的機會,一個邏輯讀會發(fā)現(xiàn)數(shù)據(jù)已經(jīng)存在緩沖池內(nèi)部。這里我們先不給出具體數(shù)值,在下一章中,我們會列舉很多常用的KPL以及它們的用法和意義。數(shù)據(jù)收集頻率很重要,每一次數(shù)據(jù)收集前,我們都要弄清楚“從這次的收集中我們需要研究什么方向”,以及“為什么在前一次的收集中我們沒有收集到相關(guān)數(shù)據(jù)”。我們的目標是盡量減少無效的數(shù)據(jù)收集次數(shù),但是由于性能問題的特殊性,人們不可能通過一次收集,就把所有可能發(fā)生性能問題的相關(guān)數(shù)據(jù)全部拿到。
媒體關(guān)注與評論
我相信本書能夠為真正希望了解DB2的讀者打開一扇大門,在知道不同語法命令的同時,能夠深入地理解產(chǎn)品本身的設(shè)計思路與問題診斷的思考過程,成為您在成長道路上的一個朋友?! 蒲讣幽么筘S業(yè)銀行資深數(shù)據(jù)庫架構(gòu)師徐明偉和王濤編寫的這本書,注重實用,內(nèi)容由淺及深,涵蓋DB2的管理、運行維護,將大量一線的實際服務(wù)和培訓(xùn)案例融入其中,從而將一系列相關(guān)的分散知識點真正形成了一個知識面。 ——王飛鵬IBM中國開發(fā)實驗室DB2資深顧問作為DBA,需要的是實際操作和動手能力,而非一些枯燥的理論分析。本書可以作為一個絕佳的參考書,相信每位讀者都會有所收獲?! ?xùn)遵中國移動通信集團海南有限公司首席DBA
編輯推薦
《DB2數(shù)據(jù)庫管理最佳實踐》是電子工業(yè)出版社出版的。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載