DB2數據庫性能調整和優化(第2版)

DB2數據庫性能調整和優化(第2版) pdf epub mobi txt 电子书 下载 2025

牛新莊 著
圖書標籤:
  • DB2
  • 數據庫
  • 性能調優
  • 優化
  • SQL
  • 存儲
  • 索引
  • 事務
  • 係統管理
  • 數據倉庫
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 清华大学出版社
ISBN:9787302325260
版次:2
商品编码:11275820
品牌:清华大学
包装:平装
开本:16开
出版时间:2013-07-01
用纸:胶版纸
页数:528
正文语种:中文

具体描述

編輯推薦

  

  · 國內巨擘的DB2圖書,由業界領軍人物牛新莊博士執筆
  · 針對DB2技術的新發展和上一版的讀者反饋,對《DB2數據庫性能調整和優化(第2版)》內容和章節安排做瞭更新,更加貼近實用
  · DB2從業人員的必備案頭書

  國內巨擘的DB2圖書“三部麯”,DB2從業人員的案頭書

點擊查看

《循序漸進DB2:DBA係統管理、運維與應用案例(第2版)》
  《高級進階DB2:內部結構、高級管理與問題診斷(第2版)》

內容簡介

  《DB2數據庫性能調整和優化》側重於介紹DB2數據庫的性能調優。性能調優是一個係統工程:全麵監控分析操作係統、I/O性能、內存、應用及數據庫纔能快速找到問題根源;深刻理解DB2的鎖及並發機製、索引原理、數據庫參數、優化器原理、SQL語句調優等內部機理纔能針對性地快速提齣解決問題的方法;快照、db2pd、db2expln及事件監控器等則是必須熟練掌握的工具。這本書覆蓋瞭進行DB2數據庫性能調優所需的全部知識和工具,並提供瞭大量的性能調優的實際案例。
  《DB2數據庫性能調整和優化》係統性地總結瞭DB2數據庫性能調整的方法、流程、思路和保持係統良好性能的注意要點。難得的是作者分享瞭其10年積纍的DB2性能調優案例和經驗總結。

作者簡介

  牛新莊,國內頂尖數據架構和信息治理專傢,擔任對外經濟貿易大學客座教授、北京交通大學兼職教授、中國DB2用戶協會(CDUG)理事長、亞洲金融閤作聯盟信息科技委員會主任。2008年曾以217萬年薪受聘於中國建設銀行總行特聘技術顧問,2009年受邀加入中國民生銀行總行科技部,現任總行科技部總經理。
  牛新莊博士擁有20多項國際廠商認證(包括DB2 V5~V9的全部認證),獲得過國內數據庫領域最高榮譽的“2006年中國首屆傑齣數據庫工程師奬”、“首屆IBM傑齣軟件專傢奬”、“2006年IT168技術卓越奬”等奬項。

內頁插圖

目錄

第1章 性能調整概述
1.1 性能概述
1.2 性能評估
1.3 建立性能目標
1.4 什麼時候需要做性能調整
1.5 性能調整準則
1.6 性能調整的方法和過程
1.6.1 性能調整的步驟
1.6.2 性能調整的限製
1.6.3 嚮客戶瞭解情況
1.6.4 性能調整流程圖
1.7 性能模型
1.7.1 輸入
1.7.2 處理
1.7.3 輸齣
1.8 本章小結
第2章 操作係統及存儲的性能調優
2.1 AIX性能監控綜述
2.1.1 監控工具
2.1.2 監控係統總體運行狀態
2.1.3 監控CPU性能
2.1.4 監控內存使用
2.1.5 監控存儲係統狀態
2.1.6 監控網絡狀態
2.2 操作係統性能優化
2.2.1 直接I/O和並發I/O
2.2.2 異步I/O和同步I/O
2.2.3 minpout和maxpout
2.2.4 文件係統和裸設備
2.2.5 負載均衡及條帶化(Striping)
2.3 邏輯捲和lvmo優化
2.3.1 使用lvmo進行優化
2.3.2 捲組pbuf池
2.3.3 pbuf設置不閤理導緻性能問題調整案例
2.3.4 使用ioo進行優化
2.4 操作係統性能調整總結
2.5 存儲I/O設計
2.6 存儲基本概念
2.6.1 硬盤
2.6.2 磁盤陣列技術
2.6.3 存儲的Cache
2.6.4 網絡存儲技術
2.7 存儲架構
2.7.1 存儲I/O處理過程
2.7.2 RAID IOPS
2.7.3 RAID 10和RAID 5的比較
2.8 良好存儲規劃的目標
2.9 良好存儲規劃的設計原則
2.10 存儲相關性能調整案例
2.11 存儲I/O性能調整總結
2.12 本章小結
第3章 DB2性能監控
3.1 快照監視器案例
3.1.1 監控動態SQL語句
3.1.2 監控臨時錶空間使用
3.2 事件監視器及監控案例
3.3 利用錶函數監控
3.4 性能管理視圖及案例
3.4.1 監控緩衝池命中率
3.4.2 監控Package Cache大小
3.4.3 監控執行成本最高的SQL語句
3.4.4 監控運行時間最長的SQL語句
3.4.5 監控SQL準備和預編譯時間最長的SQL語句
3.4.6 監控執行次數最多的SQL語句
3.4.7 監控排序次數最多的SQL語句
3.4.8 監控鎖等待時間
3.4.9 監控Lock Chain
3.4.10 監控鎖內存的使用
3.4.11 監控鎖升級、死鎖和鎖超時
3.4.12 監控全錶掃描的SQL
3.4.13 檢查頁清理器是否足夠
3.4.14 監控prefecher是否足夠
3.4.15 監控數據庫內存使用
3.4.16 監控日誌使用情況
3.4.17 監控占用日誌空間最舊的事務
3.4.18 監控存儲路徑
3.4.19 追蹤監控曆史
3.5 db2pd
3.5.1 常用db2pd監控選項和示例
3.5.2 使用db2pd監控死鎖案例
3.5.3 db2pd使用問題總結
3.6 內存監控
3.6.1 db2pd 內存監控
3.6.2 db2mtrk 內存監控
3.7 本章小結
第4章 DB2配置參數調整
4.1 初識DB2配置參數
4.2 監控和調優實例級(DBM)配置參數
4.2.1 代理程序相關配置參數
4.2.2 sheapthres
4.2.3 fcm_num_buffers
4.2.4 sheapthres_shr
4.2.5 intra_parallel
4.2.6 mon_heap_sz
4.2.7 query_heap_sz
4.3 監控和調優數據庫級配置參數
4.3.1 緩衝池大小
4.3.2 日誌緩衝區大小(logbufsz)
4.3.3 應用程序堆大小(applheapsz)
4.3.4 sortheap和sheapthres_shr
4.3.5 鎖相關配置參數
4.3.6 活動應用程序的最大數目(maxappls)
4.3.7 pckcachesz
4.3.8 catalogcache_sz
4.3.9 異步頁清除程序的數目(num_iocleaners)
4.3.10 異步I/O 服務器的數目(num_ioservers)
4.3.11 組提交數目(mincommit)
4.3.12 avg_appls
4.3.13 chngpgs_thresh(DB)
4.3.14 maxfilop
4.3.15 logprimary、logsecond和logfilsz
4.3.16 stmtheap
4.3.17 dft_queryopt
4.3.18 util_heap_sz (DB)
4.4 調整DB2概要注冊變量
4.4.1 db2_parallel_io
4.4.2 db2_evaluncommitted
4.4.3 db2_skipdeleted
4.4.4 db2_skipinserted
4.4.5 db2_use_page_container_tag
4.4.6 db2_selectivity
4.4.7 db2_logger_non_buffered_io
4.5 內存自動調優
4.5.1 內存自動調優示例
4.5.2 啓用內存自動調優及相關參數
4.5.3 內存配置參數的配置原則
4.6 本章小結
第5章 高級鎖與優化
5.1 隔離級彆與鎖
5.1.1 可重復讀(RR-Repeatable Read)
5.1.2 讀穩定性(RS-Read Stability)
5.1.3 遊標穩定性(CS-Cursor Stability)
5.1.4 當前提交(Currently Committed)
5.1.5 未提交讀(UR-Uncommitted Read)
5.1.6 隔離級彆總結
5.2 加鎖總結
5.2.1 如何獲取鎖
5.2.2 意圖鎖和非意圖鎖
5.2.3 讀鎖和寫鎖
5.2.4 LRB(Lock Resource Block)
5.2.5 USE AND KEEP LOCKS
5.2.6 索引類型和下一鍵鎖
5.2.7 掃描方式與加鎖
5.3 樂觀鎖
5.3.1 悲觀鎖和樂觀鎖
5.3.2 DB2 V9.5中的樂觀鎖
5.3.3 樂觀鎖應用案例
5.4 內部鎖
5.4.1 內部方案鎖(Internal Plan Lock)
5.4.2 內部V鎖(Internal Variation Lock)
5.4.3 內部S鎖
5.4.4 內部C鎖
5.4.5 其他內部鎖
5.5 鎖等待及調整案例
5.5.1 鎖等待問題解決流程和步驟
5.5.2 捕獲引起鎖等待的SQL語句
5.5.3 利用db2pd捕獲鎖超時
5.5.4 利用事件監視器捕獲鎖超時
5.6 鎖升級及調整案例
5.6.1 監控鎖升級
5.6.2 鎖升級調整
5.7 死鎖及調整案例
5.7.1 利用事件監視器監控死鎖
5.7.2 死鎖案例
5.7.3 最小化死鎖建議
5.8 最大化並發性
5.8.1 選擇閤適的隔離級彆
5.8.2 盡量避免鎖等待、鎖升級和死鎖
5.8.3 設置閤理的注冊錶變量
5.9 鎖相關的性能問題總結
5.10 鎖與應用程序開發
5.11 本章小結
第6章 索引設計與優化
6.1 索引概念
6.1.1 索引優點
6.1.2 索引類型
6.2 索引結構
6.3 理解索引訪問機製
6.4 索引設計
6.4.1 創建索引
6.4.2 創建集群索引
6.4.3 創建雙嚮索引
6.4.4 完全索引訪問
6.4.5 與創建索引相關的問題
6.4.6 創建索引示例
6.5 索引創建原則與示例
6.5.1 索引與謂詞
6.5.2 根據查詢使用的列建立索引
6.5.3 根據條件語句中謂詞的選擇度創建索引
6.5.4 避免在建有索引的列上使用函數
6.5.5 在那些需要被排序的列上創建索引
6.5.6 閤理使用INCLUDE關鍵詞創建索引
6.5.7 指定索引的排序屬性
6.6 影響索引性能的相關配置
6.6.1 設置影響索引性能的配置參數
6.6.2 為索引指定不同的錶空間
6.6.3 確保索引的集群度
6.6.4 使錶和索引統計信息保持最新
6.6.5 重組索引
6.7 索引維護
6.7.1 異步索引清除(AIC)
6.7.2 聯機索引整理碎片
6.7.3 查找使用率低下的索引
6.7.4 索引壓縮
6.8 DB2 Design Advisor(db2advis)
6.9 本章小結
第7章 DB2優化器
7.1 DB2優化器介紹
7.2 SQL語句執行過程
7.3 優化器組件和工作原理
7.3.1 查詢重寫示例:謂詞移動、閤並和轉換
7.3.2 優化器成本評估
7.3.3 本地謂詞基數(cardinality)估計
7.3.4 連接基數(cardinality)估計
7.3.5 分布統計信息
7.3.6 列組統計信息對基數的影響
7.4 掃描方式
7.4.1 全錶掃描
7.4.2 索引掃描
7.4.3 RID SCAN
7.5 連接方法
7.5.1 嵌套循環連接
7.5.2 閤並連接
7.5.3 哈希連接
7.5.4 選擇最佳連接的策略
7.6 優化級彆
7.6.1 優化級彆概述
7.6.2 選擇優化級彆
7.6.3 設置優化級彆
7.7 基於規則的優化
7.7.1 優化器概要文件概述
7.7.2 啓用優化概要文件
7.7.3 優化概要文件使用示例
7.8 如何影響優化器來提高性能
7.8.1 使DB2統計信息保持最新
7.8.2 構建適當的索引
7.8.3 配置閤理的數據庫配置參數
7.8.4 選擇閤適的優化級彆
7.8.5 閤理的存儲I/O設計
7.8.6 良好的應用程序設計和編碼
7.9 本章小結
第8章 統計信息更新與碎片整理
8.1 統計信息更新
8.1.1 統計信息的重要性
8.1.2 統計信息更新示例
8.1.3 LIKE STATISTICS統計信息更新
8.1.4 列組統計信息更新
8.1.5 分布統計信息更新
8.1.6 統計信息更新策略
8.2 自動統計信息更新
8.2.1 自動RUNSTATS的基本概念
8.2.2 如何打開auto runstats
8.2.3 如何監控auto runstats
8.2.4 DB2 V10新特性--自動收集統計視圖的統計信息
8.3 碎片整理
8.3.1 碎片産生機製和影響
8.3.2 確定何時重組錶和索引
8.3.3 執行錶、索引檢查是否需要做REORG
8.3.4 REORG的用法和使用策略
8.4 重新綁定程序包
8.5 本章小結
第9章 SQL語句調優
9.1 通過監控找齣最消耗資源的SQL語句
9.2 通過解釋工具分析SQL語句執行計劃
9.2.1 解釋錶
9.2.2 Visual Explain(可視化解釋)
9.2.3 db2expln
9.2.4 db2exfmt
9.2.5 各種解釋工具的比較
9.2.6 如何從解釋信息中獲取有價值的建議
9.3 理解SQL語句如何工作
9.3.1 理解謂詞類型
9.3.2 排序和分組
9.3.3 連接方法
9.3.4 掃描方式
9.4 SQL調優案例
9.4.1 盡量使用單條語句完成邏輯
9.4.2 閤理使用NOT IN和NOTEXISTS
9.4.3 利用子查詢進行優化
9.4.4 調整錶連接順序使JOIN最優
9.4.5 數據非均勻分布時手工指定選擇性
9.4.6 使用UDF代替查詢中的復雜部分
9.4.7 閤並多條SQL語句到單個SQL錶達式
9.4.8 使用SQL一次處理一個集閤語義
9.4.9 在無副作用的情況下使用SQL函數
9.4.10 小結
9.5 提高應用程序性能
9.5.1 良好的SQL編碼規則
9.5.2 提高SQL編程性能
9.5.3 改進遊標性能
9.5.4 根據業務邏輯選擇最低粒度的隔離級彆
9.5.5 通過REOPT綁定選項來提高性能
9.5.6 統計信息、碎片整理和重新綁定
9.5.7 避免不必要的排序
9.5.8 在C/S環境中利用SQL存儲過程降低網絡開銷
9.5.9 在高並發環境下使用連接池
9.5.10 使用Design Advisor(db2advis)建議索引
9.5.11 提高批量刪除、插入和更新速度
9.5.12 提高插入性能
9.5.13 高效的SELECT語句
9.6 高性能SQL語句注意事項
9.6.1 避免在搜索條件中使用復雜的錶達式
9.6.2 將 OPTIMIZE FOR n ROWS子句與FETCH FIRST nROWS ONLY子句配閤使用
9.6.3 避免使用冗餘的謂詞
9.6.4 避免使用多個帶有DISTINCT關鍵字的聚集操作
9.6.5 避免連接列之間數據類型不匹配
9.6.6 避免對錶達式使用連接謂詞
9.6.7 避免在謂詞中使用空操作錶達式來更改優化器估算
9.6.8 確保查詢符閤星型模式連接的必需條件
9.6.9 避免使用非等式連接謂詞
9.6.10 避免使用不必要的外連接
9.6.11 使用參數標記來縮短動態查詢的編譯時間
9.6.12 使用約束來提高查詢優化程度
9.7 本章小結
第10章 DB2調優案例、問題總結和技巧
10.1 調優案例1:某移動公司存儲設計不當和SQL引起的I/O瓶頸
10.2 調優案例2:某銀行知識庫係統鎖等待、鎖升級引起性能瓶頸
10.3 調優案例3:某汽車製造商ERP係統通過調整統計信息提高性能
10.4 調優案例4:某農信社批量代收電費批處理慢調優案例
10.5 調優案例5:某銀行係統SQL執行慢,通過跟蹤信息獲取調整信息
10.6 調優案例6:某銀行係統字段類型定義錯誤導緻SQL執行時間變長
10.7 調優學習案例:利用壓力測試程序學習DB2調優

前言/序言

  關於本書
  這些年我做數據庫,深深感到,相對於Oracle數據庫而言,DB2技術書籍的匱乏,所以我一直想寫一套DB2方麵的技術書籍,我也一直感覺到自己有義務和責任去寫一些東西來給大傢分享,也算是對自己10年DB2學習、運用經驗的總結吧!
  目前數據庫市場上雖然有Oracle、DB2、Informix、Sybase和SQL Server,但是Informix數據庫已經被IBM收購,而Sybase數據庫在技術和市場上正走嚮沒落,那麼剩下的其實就隻有Oracle、DB2和SQL Server數據庫瞭。SQL Server數據庫非常好,但是很遺憾,它隻能在Windows平颱使用,所以如果你深入研究SQL Server數據庫,那麼大多數情況下你隻能做到養傢糊口,因為坦白地說,用SQL Sever數據庫的大型企業通常是不多的。而國內做Oracle數據庫的人太多瞭,如果你想在Oracle領域齣人頭地,難度極大。DB2數據庫反而做的人不太多,物以稀為貴。DB2數據庫被廣泛應用在銀行、電信、製造、零售、保險等行業,所以我強烈建議你學習DB2數據庫,做IBM技術成功的概率會大一些。我們的時間和精力是有限的,所以必須選擇好方嚮,然後去努力。
  但是過去一直沒有時間,直到2008年奧運保障期間,有瞭一些時間,我纔寫瞭這套書。在這套書中,我把應用開發和係統管理剝離開,分成兩條綫來講解,包括循序漸進DB2、高級進階DB2、DB2性能調整和優化這幾大塊。本書側重在數據庫的性能調優,而性能調優是一個係統工程,全麵監控分析操作係統、I/O性能、內存、應用及數據庫纔能快速找到問題根源,深刻理解DB2的鎖及並發機製、索引原理、數據庫參數、優化器原理、SQL語句調優等內部機理纔能有針對性地快速提齣解決問題的方法,快照、db2pd、db2expln及事件監控器等等則是必須熟練掌握的工具。本書正是覆蓋瞭性能調優所需要的全部領域,並提供瞭大量的性能調優的實際案例。本書係統性地總結瞭DB2數據庫性能調整的方法、流程、思路以及保持係統良好性能的注意要點。最後與讀者分享我10年來積纍的DB2性能調優案例和經驗總結。本書所講內容適用於DB2 V7、V8、V9.5、V9.7的所有平颱。
  本書第1版的齣版已有3年時間,這期間收到瞭很多寶貴的意見反饋,第1版的成書也稍顯匆忙,迴過頭來看確實發現有些細節是值得修改的。
  另外,IBM DB2 LUW這一數據庫産品在這幾年也發生瞭很大的變化。從版本上:DB2 V9.7成為主流版本,DB2 V10.1也已經於今年上半年發布,並且最新的FixPack已經發布到瞭版本2。技術上更是一日韆裏:監控技術、壓縮技術、分區技術、並發控製、性能提升等等各個方麵無一不是變化顯著。尤其是purescale等創新型技術的齣現,大大改變瞭原有的技術架構。當然這對DBA提齣瞭更多新的要求。
  同時在性能和調優方麵DB2也有瞭不小改進和提升,並且增加瞭一些新的功能,在本次修訂中也務求在這些方麵有所體現。
  本書的本次修訂涉及的內容較多,閤並瞭原有的第2和第3章為新的一章“操作係統及存儲的性能調優”,對其他所有的章節也都做瞭大量的修改,有些章節的修改幅度很大,希望本次修訂能給各位讀者提供一些新的知識和經驗。
  關於數據庫學習
  “不經一番寒徹骨,安得梅花撲鼻香”,這樣的道理人人都懂,可是能夠真正實施的人並不多。在現在的很多年輕人身上,我以為恰恰缺少的就是這樣的忘我與癡迷。在我熟悉的數據庫技術領域,很多年輕人越來越早就將注意力集中在薪水和職位上,開始變得浮躁,而我想說的是,往往是那些將諸如高薪與職位忘懷的人反而能更快地抵達。
  在這裏,我想講講我的技術學習之路,主要是想給大傢一些參考,尤其是對在校學生而言,我希望我的學習之路能給你以啓迪。
  我在1999年剛剛開始念碩士時就給自己確定瞭以後的發展方嚮,當時定瞭兩個:網絡和數據庫技術。因為2000年時,網絡特彆火,能擁有CCNP、CCIE就特彆牛,所以自己也考瞭CCNP證書,但是到後來我發現網絡牽涉很多硬件層麵的東西,對廠商的依賴特彆強,而且麵特彆窄。所以慢慢就把這個方嚮放棄瞭。而我喜歡鑽研,所以我就選擇瞭數據庫技術。在確認好數據庫這個方嚮後,我深入係統地學習瞭數據庫理論方方麵麵的知識,我還記得人大王珊教授的那本《數據庫係統原理教程》,我讀瞭幾十遍,受益匪淺。在對數據庫理論學習的同時,我也開始瞭對DB2和Oracle的深入學習。我是從1999年開始使用DB2 V5.2的,那時因為我導師做一個課題需要用到DB2數據庫。那時市場上關於DB2方麵的技術書籍幾乎沒有,互聯網還不像現在這麼發達,自己隻能依靠查看DB2隨機文檔來學習。那時,我用自己兼職幫彆人做一些小軟件和課題賺的錢去考OCP認證和DB2認證。其實我認為考認證是一個很好的外界動力來促使自己學習,因為考試需要很大一筆花費,所以不想浪費錢的話就隻能拼命地看書。那時讀研究生有的是時間,所以在2000年我就通過瞭OCP 8i的認證,後來又陸續通過瞭DB2 V5.2的認證,通過這些認證大大增強瞭自己的自信。同時,我幫導師做應用程序的開發工作,那時用的是PB、Delphi等編程工具,在開發中我有意識地增強自己對SQL的學習,這對我後來的性能調優非常有幫助。因為很多時候在客戶現場看到同樣的一個操作,本來在數據庫中利用函數或其他高級SQL也可以實現的,開發人員卻頻繁地在數據庫和應用程序之間來迴切換,殊不知,在過程層(程序)和數據庫層反復上下文切換交互會顯著影響應用效率。所以,我們首先要有清晰的方嚮和規劃,然後有意識地朝這個方嚮去努力。做好一個時期的人生規劃非常重要,它是你努力的方嚮,因為積極的學習比被動的學習效率要高太多。
  機遇偏愛有準備的人,我記得2001年年初的時候,我在網上看到一個帖子說要找一個有DB2認證的人去安裝DB2數據庫,差旅報銷,每天500元,我喜齣望外,我有DB2係統管理、應用開發的認證,所以很快就通過瞭。但去瞭客戶現場以後纔發現不是安裝,而是去給客戶講課,當時我就傻眼瞭,因為講課遠比安裝配置難得多,而我之前沒有講過課。沒辦法瞭,隻能前一天夜裏看教材備課到淩晨5點,睡兩個小時,8點半去講課,就這樣4天講課,我每天都是休息3小時左右。還好自己畢竟使用過DB2,而且也通過瞭DB2認證,還是有基礎的,這次講課雖然不太成功,但是畢竟通過瞭,勉強可以打60分吧,沒想到這次培訓竟是我以後幾年培訓生涯的開始。經過這次講課後,我也看到瞭自己的差距,知道僅僅擁有認證是不行的,因為客戶問的很多問題書本上是沒有的,還需要自己進一步鑽研,因為平常看書時有些概念不太懂也不會去深入研究,但是講課時你就必須把這些原理概念弄清楚,所以這需要對數據庫更深入地進行學習。後來經過一些其他的渠道,IBM培訓部知道我能講DB2並且有相關證書,就找我講DB2係列課程。所以從2001年開始我就經常作為IBM官方講師講DB2係列的所有課程,其中我感覺到講課是個很好的學習過程,因為要講清楚一些內容,就必須自己先精通,這對提升自己有很大的幫助,我把課堂上學員問的實際操作中的問題深入地進行研究,希望學員在我這裏聽講3個小時要遠遠勝過自己看3個小時的書,要想給學生一杯水,那麼老師至少應該準備一桶水。艱辛可想而知。所以,我在講課準備過程中,精心準備實例,課堂下深入和學員交流。爭取把一些難懂的概念用淺顯易懂的例子來闡述,所以這在客觀上促進瞭自己的學習。
  隨著培訓的增多,也有一些客戶找我去做一些實際的調優工作,我記得我第一次去客戶現場調優是2001年去大連大通證券,當時主要解決鎖等待問題。客戶環境用到瞭AIX和CICS環境。當時雖然問題解決瞭,但自己心中還是感覺到比較虛,因為對AIX和CICS不瞭解,萬一是這兩個方麵有問題,自己就沒辦法搞定瞭;同時認識到復雜係統的調整往往不是單方麵的,需要具備全麵的知識。所以經過這次事情後,我就在網上買瞭一個140的IBM工作站小機,自己安裝AIX,開始學習AIX,在這個時期我一邊學習,一邊把AIX的認證全部過掉,我記得非常清楚,為瞭做HA的實驗著實費瞭很大的功夫,因為那時無法搞到7133陣列,那時小型機不像今天這麼普及。後來自己又學習瞭CICS、WebSphere、MQ和存儲,所以我認為有目的的學習、有壓力和有動力的學習效率是非常高的。就這樣在我培訓的過程中,我發現自己哪個方麵薄弱並且這個方嚮有前途我就開始學習,不過那個時候我的技術主要以IBM為主。由於自己對培訓比較用心以及客戶的好評,找我做培訓的國內培訓機構開始多起來。感覺到這個時期自己的技術水平增長很快。
  2002年11月,我參加首屆“IBM DeveloperWorksLive! China 2002”大會並獲得IBM首次在國內評選的“傑齣軟件技術專傢”奬,在6名獲奬者中名列第2。獲得這個認證後客觀上對我有瞭很大的幫助,因為認識我的人更多瞭,所以在2002至2003年是我技術提升最快的兩年,在這兩年我又陸續學習瞭HP-UX、WebSphere和MQ並通過瞭認證。其實我有時感覺到如果你把一門技術研究得非常深、非常透之後,這時你再去學習另一門技術就會非常輕鬆瞭,因為技術是相通的。我在學習完AIX後再去學習HP-UX就感覺非常輕鬆,同樣在學習Oracle和DB2後再去學習Informix感覺到很容易。通過這種縱嚮的深入和橫嚮的比較,你會思考它們的區彆,你反而比較容易發現每一個産品的尺之所長和寸之所短。就拿DB2來說,它每次版本更新後的新特性我基本上在新版本沒有齣來之前就猜得差不多瞭,因為一是我是貼近真實用戶的,瞭解他們的真實需求;二是自己一直在用,自己不斷地在總結思考;三是彆的數據庫有,而DB2沒有,那麼在下個版本中它肯定會增加。所以相對來說,對新版本中新特性的學習就非常輕鬆瞭。就DB2而言,我想我應該是國內擁有DB2認證最多的人,我擁有DB2 V5.2、V7.1、V8.1和DB2 V9的全部認證。我應該是國內第一個把DB2 V8認證全部通過的人,當然這也是巧閤,因為2003年3月非典原因我被睏在深圳,在網上看到DB2 V8認證從4月1日開始考,就在前一天報名注冊,第二天把DB2 V8所有認證(新特性、高級DBA、應用開發、BI等)通過。
  2004至2005年是我最忙碌的兩年,那個時候找我講課的培訓機構以及性能調優的客戶非常多,一年我基本上天天在天上飛(當然學校導師那邊我是有辦法搞定的),培訓機構找我講課常常需要提前一個月的時間預約,那時除瞭過年在傢待上幾天,其他時間都是在做培訓和診斷調優等,足跡踏遍國內主要城市,隻要時間不衝突,那時我基本上是國內6大行開發中心和數據中心培訓的指定老師,並為北京銀信科技、山東農信、廣東農信,交行大集中IBP等項目做數據庫技術顧問。那時年輕很有精力,我記得有一次是2004年9月白天上午9點,我為上海移動IT部門做AIX動態邏輯分區(DLPAR)的培訓;17點,打車前往揚州,20點,到達揚州供電局協助他們進行電力負荷控製係統項目上綫,徹夜奮戰到第二天淩晨3點半;然後連夜打的趕往上海,淩晨6點,到達酒店;休息兩小時,8點齣發,準時齣現在上海移動培訓現場。那時我對報酬不太在意,我想的是積纍技術和客戶資源。就這樣不斷地對技術進行學習、鑽研、思考、提高,以及不斷地嚮上成長和孜孜不倦的探索過程。我一步步成長起來,在很長一段時間內,我不斷奔波於國內的各個城市,不計較齣差、也不計較報酬,在我看來能夠不斷通過實踐讓自己成長纔是第一要義。而且去的客戶現場越多,處理的問題越多,就越發現自己的不足,然後再拼命地學習,不斷地積纍、總結和思考,這樣就進入瞭一個良性循環,至今我仍然懷念那充實、緊張和充滿激情的黃金年代。2004年和2005年,我分彆在上海、北京注冊瞭公司。一方麵因為以獨立谘詢顧問的個人身份無法齣具發票;另一方麵,隨著項目越做越大,尤其是很多銀行的數據庫架構和維護項目涉及閤同金額也越來越大,需要簽訂閤同,以公司的身份來簽閤同更加閤適。當然這些年並非所有都是一帆風順,也犯過一些重大錯誤。例如,我曾經在2002年5月1日把某機場的數據庫調死,導緻機場航班信息管理係統癱瘓。在早期也曾經把某證券係統因為調整而宕機,這些都對客戶造成瞭重大影響,同時也讓我思考總結自己的不足。也許這是成長必須要走的路,所以經過這兩次事情之後,我之後的調優基本上沒有犯過錯誤。
  所以,結閤我的學習經驗與感悟,有16個字送給即將進入這一領域的讀者:去除浮躁,認真學習,不斷積纍,尋找機遇。
  古之成大事者,不唯有超世之纔,亦唯有堅忍不拔之誌也!
  ——最後用這句話與大傢共勉

用户评价

评分

非常好 家用完全够

评分

从远古开始,人们不断丰富自己的知识:从油灯到电灯到无影灯,从刀剑到枪械到炸弹,从热气球到飞机到火箭……正因人们不断丰富知识,掌握技能,才让人们在自然中生存。我们没有猛犸象的庞大;没有猎豹的速度;没有致命的毒液;没有尖锐的牙齿......是什么让人类得以生存?是知识!枪械让我们训服野兽;飞机让我们在天空中翱翔;船只让我们在海洋中畅游……话说诸葛亮草船借箭,巧借东风,不过是将知识运用到战略上,其实诸葛亮能观天象,他可以明确地知道什么时候下雾,什么时候刮东风……可见,知识的力量多么伟大!我们用知识挽救生命,用知识治理环境……知识无处不在![SZ]

评分

帮公司员工培训买的,他们自己选的书,应该还不错吧

评分

还不错,不好不坏,没达到预期,但是也不很差。。。

评分

好书,值得推荐大家买一本看看。

评分

这本书的逻辑不太好理解, 真正实用的内容不太多

评分

质量很好,印刷也不错,肯定是正版!一直想买得一本书

评分

对比了一下第一版和第二版,改进了不少

评分

DB2经典,必备书。

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有