精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在Windows上調優DB2數據庫的八個簡單步驟

運維 系統運維
為了更好地診斷性能問題,本文討論了一個有條理的過程,幫助確定數據庫是否存在性能問題,并制定補救措施。當 DB2或電子商務應用程序的性能未達到預期目標時,整個組織和財務底線都可能受到影響。

  概述

  為了更好地診斷性能問題,本文討論了一個有條理的過程,幫助確定數據庫是否存在性能問題,并制定補救措施。當 DB2或電子商務應用程序的性能未達到預期目標時,整個組織和財務底線都可能受到影響。

  本文旨在指導 DBA 在 Windows上定義和診斷 DB2 的性能問題。本文涵蓋的內容如下:

  • 使用 Windows 工具收集的信息
  • 使用 DB2 工具收集的信息
  • 問題的調查和解決

  假設

  本文假定讀者對數據庫、SQL 和 DB2 LUW 已有基本的了解。對 UNIX的性能調優和監控有基本的了解可能會對您有所幫助。

  性能問題以及它們與系統資源的關聯

  性能問題涵蓋廣泛的場景:

  • SQL 查詢執行速度比預期慢
  • 工作負載或批處理作業沒有在預期時間內完成,或事務率和吞吐量在一段時間內逐步下降
  • 系統整體速度下降

  在大多數情況下,出現性能問題是因為系統資源的使用不當或 CPU、IO 和內存等資源的過度使用,這往往揭示了這些系統資源中的瓶頸。在經過適當調優的環境中,系統資源會得到***使用,不會過度依賴其中任何一種資源。

  診斷性能問題的***個步驟是,識別所有資源瓶頸。Windows 提供了一些可以幫助識別這些瓶頸的工具。

  CPU 瓶頸

  如果系統上有一個或多個 CPU 一直顯示 90% 以上的利用率,這通常意味著系統存在 CPU 瓶頸。任務管理器可以幫助您找出系統是否存在 CPU 瓶頸。其他工具(如 perfmon.exe 和資源監視器)會顯示 CPU 利用率,也可以幫助識別 CPU 瓶頸。

內存瓶頸

  內存瓶頸并不是很常見,這主要是因為數據庫的堆和參數通常是根據可用內存進行配置的。但是,如果在 perfmon 和資源監視器中看到非常低的可用內存,那么這可能表示存在內存瓶頸。有時候,在使用 STMM 時,系統上的可用內存可能會非常低,但這并不總是意味著該系統存在內存瓶頸。

  網絡瓶頸

  如果在資源監視器中看到非常高的網絡利用率,那么這可能表示存在網絡瓶頸。資源監視器以百分比的形式顯示網絡利用率,這有助于快速識別網絡瓶頸。如果資源監視器顯示網絡利用率在 80% 以上,這通常表示存在網絡瓶頸。

  I/O 瓶頸

  如果系統上有一個或多個磁盤在 90% 以上的時間一直處于忙碌狀態,或磁盤隊列長度不斷顯示較高的數量,這通常意味著系統存在 I/O 磁盤瓶頸。Windows工具(如資源監視器和 perfmon)可以幫助識別 I/O 瓶頸。任務管理器確實可以顯示 I/O 活動,但資源監視器和 perfmon 可以顯示每個磁盤的 I/O 詳細信息,還可以顯示活動時間的百分比,這有助于識別任何特定的磁盤上是否存在瓶頸。

  有多種 Windows 工具可以幫助確定系統是否有一個或多個資源瓶頸。#p#

  步驟 1:使用 Window 工具識別瓶頸

  任務管理器

  任務管理器是獲得有關整個系統的使用情況的信息的最快方式。例如,圖 2 是任務管理器的 Processes 選項卡的屏幕截圖,其中的列提供每個進程的 CPU、內存、I/O 統計信息 (View > Select Columns)。任務管理器很好地總結了 CPU、I/O、內存和網絡利用率。任務管理器也提供了進程的詳細信息,幫助找出哪些進程正在消耗最多的 CPU,哪些進程正在執行最多的 I/O 等。

  如果任務管理器顯示,整體 CPU 利用率一直超過 90%,那么這是存在 CPU 瓶頸的一種跡象。任務管理器也在 Performance 選項卡顯示每個 CPU 活動。如果其中任何一個 CPU 的利用率一直接近 100%,這可能也意味著存在一個 CPU 瓶頸。通常情況下,這意味著數據庫中的工作負載是單線程的,無法利用系統上的所有可用 CPU。圖 1 是單線程應用程序運行的一個示例。即使只有一個 CPU 處于忙碌狀態,沒有使用其他 CPU,它仍然是一個 CPU 瓶頸。

  任務管理器還顯示每一個進程從磁盤上讀出/寫入的數據量的詳細信息。該信息本身非常有用,但它沒有顯示每個磁盤的利用率百分比。這使得用戶很難僅通過任務管理器來斷定系統是否存在 I/O 瓶頸。

  圖 1. 任務管理器 — 單線程工作負載示例

  圖 2. 任務管理器顯示了內存使用率***的進程

  資源監視器

  資源監視器是在 Windows 2008 和 Windows 7 上提供的另一個 Windows 工具。它提供有關 I/O、CPU、內存和網絡使用情況的詳細信息。該工具顯示了在您的系統上運行的所有進程的實時信息,并提供了根據用戶要求篩選數據的能力。可以基于內存、CPU、磁盤和網絡使用情況做到這一點。Overview 選項卡顯示了整個系統的活動,并提供了系統中瓶頸的快照。I/O 和網絡使用情況以可用帶寬的利用率百分比的形式顯示。這有助于識別系統是否存在 I/O 瓶頸或網絡瓶頸,從任務管理器中不可能確認這一點。此外,資源監視器顯示了每個磁盤的磁盤隊列長度,對于確定磁盤是否有足夠的帶寬來解決系統的 I/O 需求而言,這很有用。

  圖 3. 資源監視器

  圖 4. 資源監視器 DB2 磁盤活動

  perfmon

  雖然任務管理器和資源監視器對于確定系統活動都是很好用的工具,但不能使用它們將系統活動記錄在日志中,以供日后分析。Perfmon 工具可以將系統活動記錄在日志文件中。這提供了靈活性,讓管理員和 DBA 可以在一天中的不同時間收集 perfmon 數據,并在以后使用它們進行分析。Windows 附帶的 perfmon 工具可用于捕獲性能數據和資源使用情況的統計數據。對于許多類型的問題調查,了解如何設置和捕獲 perfmon 日志都很關鍵。在監視 I/O 時需要注意的是:需要通過運行 diskperf -y (-ye 表示帶區集)啟用磁盤計數器,然后重新啟動。在 Windows 2008 或 Windows 7 上,需要運行 perfmon,將活動捕獲到日志文件中:

  1. 在命令提示符下運行 perfmon。
  2. 從左面的框架中選中 Performance Monitor。
  3. 右鍵單擊它,并選擇 New > Data Collector set。創建一個合適的名稱,并單擊 Next。
  4. 提供一個將會保存日志的目錄名稱。
  5. Data Collector set 出現在左邊的框架中。在左邊的框架選中 Data Collector Set > User Defined,并選中您在步驟 4 所選擇的名稱。它的狀態應該是已停止,因為我們希望在收集開始之前,先添加所需的計數器。
  6. 右鍵單擊已定義的 Data collector set 并選擇 New > Data Collector。提供一個名稱,并選中 Performance counter data collector,然后單擊 Next。選擇采樣頻率并增加性能計數器。Perfmon 工具提供了很多計數器來監視多種參數,下面介紹最有用的幾個計數器。這對于收集數據是一個很好的出發點。根據具體的要求和情況,用戶可以收集和監視其他計數器。

  7.一旦完成了如下圖所示的性能計數器選擇,就可以收集所需的時間間隔的數據。可以使用所選擇的數據收集器集的屬性部分對此進行修改。為所選擇的計數器收集的數據可以保存為表或電子表格的格式。在 File 選項卡下的屬性部分,可以指定輸出的格式。

  圖 5. perfmon 性能計數器

  8.一旦準備好進行數據收集,就可以啟動您的工作負載或查詢,立即通過單擊選定的數據收集器集上的 Start 開始數據收集。

  完成查詢/工作負載后,停止監視數據收集,并檢查收集到的數據。#p#

  選擇正確的診斷工具

  對于普通的監視,perfmon 是一個很好用的工具。還可以保存其日志,以便更輕松地比較系統在按預期工作時和系統有性能問題時的系統活動。這往往可以為手頭上的問題提供有價值的線索。然而,快速查看任務管理器和資源監視器的數據有時也可以幫助實時查找系統中的瓶頸。一旦確定了瓶頸,就可以采取相應的措施來消除瓶頸。

  步驟 2:I/O 瓶頸 — 詳細研究

  如果 perfmon 顯示有一個或多個磁盤的磁盤時間在 80% 以上,或資源監視器顯示有一個或多個磁盤上的活動時間在 80% 以上,那么這通常意味著系統中存在一個 I/O 瓶頸。可以從 perfmon 或資源監視器確定具有很高利用率的一個或多個磁盤。一旦確定了大量使用的磁盤,就可以找出放置在磁盤上的內容。

  是否有任何 DB2 表空間容器放置在磁盤上?

 db2 list tablespace containers for <tbsid>

  對數據庫中的所有表空間重復此命令。

  或者,DB2 日志文件是否被放置在大量使用的磁盤上?

 db2 get db cfg for <dbname>

  搜索 newlogpath 數據庫配置參數。

  或者,這些磁盤是否包含實用程序文件,比如備份目標或加載文件?查看已執行的備份/負載命令。根據大量使用的磁盤上的內容,解決方案也會有所不同。

  表空間容器上的磁盤瓶頸

  如果將大量使用的磁盤分配到表空間容器,那么請找出表空間中的對象。如果表空間對應于某個數據表空間,那么請找出在表空間中創建的表。

 db2 select tabname from syscat.tables where tbspaceid = <hot tablespace id>

  從 MON_GET_TABLE 表函數中找出最活躍的表。下面的查詢將列出具有最多行讀取的表。

  清單 1. 表空間中最活躍的表

  1. db2 "select varchar(tabschema,20) as tabschema, varchar(tabname,20) as tabname,  
  2.      table_scans, sum(rows_read) as total_rows_read,   
  3.      sum(rows_inserted) as total_rows_inserted,   
  4.      sum(rows_updated) as total_rows_updated,   
  5.      sum(rows_deleted) as total_rows_deleted   
  6. FROM TABLE(MON_GET_TABLE('','',-2)) AS t   
  7. WHERE TBSP_ID = hot tablespace id  
  8. GROUP BY tabschema, tabname   
  9. ORDER BY total_rows_read DESC" 

  注意:MON_GET_TABLE 函數提供了許多有用的信息。它在表上跟蹤表掃描的數量。如果表掃描較多,那么可能意味著該表沒有適當的索引,或者查詢沒有使用表上現有的索引。

  一旦確定了活躍的表,就可以使用 MON_GET_PKG_CACHE_STMT 表函數輕松找出表上執行的 SQL 語句。

  清單 2. 找出給定表上的查詢

  1. db2 "select section_type, executable_id, package_name,num_executions,  
  2. char(stmt_text, 100)   
  3. from table (MON_GET_PKG_CACHE_STMT ( 'D', NULL, NULL, -2)) as T  
  4. where stmt_text like '%hot table name%' " 

  通過這種方式,很容易找出活躍的表上導致大量讀取/寫入操作的 SQL 語句。使用 Design Advisor 確定 SQL 語句是否使用了表上正確的索引。如果表中有適當的指標,但沒有用到這些指標,那么請檢查表上的統計信息是否是***信息。不正確或過時的統計信息可能會導致優化器選擇一個次優的訪問計劃。

  臨時表空間上的磁盤瓶頸

  如果將大量使用的磁盤分配到臨時表空間,這表示數據庫上有大量排序活動。高水平的臨時表空間 I/O 活動往往與結果集較大或有大量排序的大查詢一起出現。在這種情況下,需要確定是否有大量排序溢出到磁盤。 MON_GET_PKG_CACHE_STMT 可以提供造成排序溢出的 SQL 語句。

  清單 3. 有大量排序活動的查詢

  1. db2 "select section_type, package_name,num_executions, total_sorts, sort_overflows,  
  2. char(stmt_text, 100)   
  3. from table (MON_GET_PKG_CACHE_STMT ( 'D', NULL, NULL, -2)) as T  
  4. where sort_overflows > 1   
  5. order by sort_overflows desc" 

  如果有太多排序溢出,那么請檢查 SORTHEAP 或 SHEAPTHRES 配置參數是否被設置為較低的值。如果排序的相關參數得到正確設置,那么請確定是否有可能通過創建索引來避免出現大量排序。對排序量較大的查詢使用 Design Advisor,查看是否能夠通過創建額外的索引來避免或減少排序。

  事務日志上的磁盤瓶頸

  在 OLTP 環境中,事務日志的性能是非常敏感的。MON_GET_TRANSACTION_LOG 表函數提供了有關事務日志的詳細活動。

  清單 4. 事務日志活動

  1. db2 "select log_reads, log_read_time, log_write, log_write_time, num_log_buffer_full,  
  2. num_log_data_found_in_buffer  
  3. from table(MON_GET_TRANSACTION_LOG(-1)) as T " 

  num_log_buffer_full 顯示了在將新的日志寫入緩沖區之前,日志緩沖區被充滿并且必須刷新到磁盤的次數。如果這個數字在一段時間內一直在增加,則意味著日志緩沖區對于數據庫上的工作負載而言過小。增大 LOGBUFSZ 數據庫參數值有助于提高日志性能,并減少事務日志磁盤上的 I/O。

  num_log_data_found_in_buffer 顯示了代理從緩沖區中讀取日志數據的次數。從緩沖區中讀取日志數據優于從磁盤讀取日志數據,因為后者較慢。可以結合使用此元素和 num_log_read_io element,以確定是否需要進一步增大 LOGBUFSZ 數據庫配置參數。

  步驟 3:CPU 瓶頸 — 詳細研究

  如果 perfmon 或資源監視器顯示有一個或多個 CPU 的使用率超過 90%,那么這通常意味著系統存在 CPU 瓶頸。與 I/O 瓶頸一樣,***個步驟是識別消耗大量 CPU 的數據庫操作。通常情況下,已知道有一些數據庫操作會消耗大量的 CPU:

  • 語句編譯
  • LOAD、BACKUP、runstats 等實用工具
  • 大量排序活動

  要確定在查詢編譯中是否花費了大量 CPU,請查詢 MON_GET_WORKLOAD 表函數。

  清單 5. 在不同活動中花費的 CPU 時間

  1. db2 "select varchar(workload_name,30) as workload_name,  
  2. sum(total_cpu_time),sum(total_compile_proc_time),  
  3. sum(act_rqsts_total), sum(total_compilations),  
  4. sum(total_act_time), sum(pkg_cache_inserts),   
  5. sum(pkg_cache_lookups)   
  6. from TABLE(MON_GET_WORKLOAD('',-2)) as T  
  7. group by workload_name" 

  如果 compile_proc_time 高于 5-10% 的 total_cpu_time,并且 pkg_cache_inserts/pkg_cache_lookups 高于 4-5%,則數據庫在語句編譯上花費了太多的時間。這可能是因為查詢被重復編譯,或者是因為包緩存過小,查詢必須遷離到其他地方,以便為新的查詢騰出空間。如果應用程序使用字符串文本而不是參數標記符,則會重復編譯 SQL 語句。在 DB2 9.7 和 10.1 中,DB2 提供了一個數據庫配置參數 STMT_CONC(語句集中器)。當啟用該參數時,語句集中器會修改動態語句,以便允許共享更多的包緩存條目,并減少語句編譯。

  要找出造成高 CPU 利用率的所有實用工具,請查詢 MON_GET_WORKLOAD 表函數。返回的指標展示了用于已提交的請求的所有指標的匯總,這些請求是由映射到已識別工作負載對象的連接提交的。在請求的執行過程中,指標在工作單元邊界上或定期被匯總到一個工作負載。由該表函數報告的值,反映系統在最近一次匯總時的當前狀態。指標是嚴格遞增的值。為了確定在某時間間隔花費在 LOAD 和 reorg 等實用工具中的時間,可以使用 MON_GET_WORKLOAD 查詢在時間間隔的開始和結束時使用的指標,并計算其差異。

  清單 6. 在 LOAD 和 runstat 實用工具中花費的 CPU 時間

  1. db2 "select varchar(workload_name,30) as workload_name,  
  2. sum(total_loads), sum(total_load_proc_time),  
  3. sum(total_runstats), sum(total_runstats_proc_time)  
  4. from TABLE(MON_GET_WORKLOAD('',-2)) as T   
  5. group by workload_name" 

  LOAD 等實用工具旨在充分利用可用資源,***限度地提高性能。如果這些實用工具占用了比預期多的 CPU,那么可以通過設置 util_impact_limit 數據庫配置參數對實用程序進行節流。另一個占用大量 CPU 的數據庫操作是 sort。正如在 I/O 瓶頸部分所介紹的,找出執行最多排序活動的查詢,并使用 Design Advisor 確定是否可通過創建額外的索引來避免排序。

  步驟 4:內存瓶頸

  內存瓶頸并不是很常見,主要是因為數據庫的堆和參數可以根據可用內存進行設置。大多數 DB2?? 堆是自動的,并基于可用內存提供分配值。STMM 在利用可用內存和將內存分配給最需要內存的堆這兩方面做得很好。但是,在不使用 STMM 的情況下,有可能存在內存使用不當的情況,如果內存分配得過多(也就是說,分配值高于可用內存),則有可能導致大量分頁活動。如果 Perfmon 或資源監視器顯示了許多分頁活動,這通常是因為分配給不同堆的內存已超過實際內存。在這種情況下,***是打開 STMM,讓 DB2 調優緩沖池、排序堆和其他堆的內存。

  步驟 5:網絡瓶頸

  出現網絡瓶頸的原因通常是存在大量四處移動的數據(比如非常大的結果集和客戶端負載等),或者操縱 LOB 的應用程序位于客戶端-服務器架構中。MON_DB_SUMMARY 管理視圖很好地說明了等待不同的資源所花費的時間。NETWORK_WAIT_TIME_PERCENT 字段提供了等待網絡響應的時間百分比。通常情況下,等待網絡所花費的時間應該小于 1%。如果該值高出幾個百分點,并且 perfmon 和資源監視器顯示網絡帶寬在大量被占用,那么系統可能遇到了網絡瓶頸。在這種情況下,應用程序可以將一些應用程序邏輯以存儲過程或者 UDF 的形式移動到服務器。在客戶端負載的情況下,可以將負載拆分為更小的部分,在不同的時間執行它們,而不是一次全部加載它們,這樣做可以減少網絡流量。

  步驟 6:鎖定問題

  如果系統沒有任何資源瓶頸,但性能仍然較差,這可能是因為鎖定問題。MON_DB_SUMMARY 管理視圖中的 LOCK_WAIT_TIME_ PERCENT 字段提供一個高層次的視圖,說明了在數據庫級別的鎖等待上花費的時間。為了獲得在鎖等待中花費了時間的工作負載的詳細視圖,請查詢 MON_GET_WORKLOAD 監視器表函數。

  清單 7. 在鎖等待中花費的時間

  1. db2 "SELECT varchar(workload_name,30) as workload_name,  
  2. sum(lock_wait_time) as total_lock_wait_time,  
  3. sum(lock_waits) as total_lock_waits,  
  4. sum(lock_timeouts) as total_lock_timeouts,   
  5. sum(lock_escals) as total_lock_escals   
  6. FROM TABLE(MON_GET_WORKLOAD('',-2)) AS t  
  7. GROUP BY workload_name   
  8. ORDER BY total_lock_wait_time DESC" 

#p#

  步驟 7:調優頁面清理活動

  除了檢查系統資源瓶頸和鎖定問題,在所有數據庫環境中還有另一些重要的事項需要注意。頁面清理和預取是兩項重要活動,需要對它們進行適當調優來獲得***性能。在某些情況下,如果頁面清理沒有得到正確的調優,則有可能出現 I/O 瓶頸。監視表 MON_GET_BUFFERPOOL 提供了一些找出頁面清理和預取活動的指標。

  清單 8. 頁面清理活動

  1. db2 "WITH BPMETRICS AS (  
  2. SELECT bp_name,  
  3. pool_data_writes, pool_async_data_writes,  
  4. pool_index_writes, pool_async_index_writes,  
  5. pool_no_victim_buffer, pool_lsn_gap_clns,  
  6. pool_drty_pg_steal_clns, pool_drty_pg_thrsh_clns  
  7. FROM TABLE(MON_GET_BUFFERPOOL('',-2)) AS METRICS)  
  8. SELECT  
  9. VARCHAR(bp_name,20) AS bp_name,  
  10. pool_data_writes, pool_async_data_writes,  
  11. CASE WHEN pool_data_writes > 0  
  12. THEN DEC((FLOAT(pool_async_data_writes) / FLOAT(pool_data_writes)) * 100,5,2)  
  13. ELSE NULL  
  14. END AS PAGE_CLN_RATIO,  
  15. pool_index_writes, pool_async_index_writes,  
  16. CASE WHEN pool_index_writes > 0  
  17. THEN DEC((FLOAT(pool_async_index_writes) / FLOAT(pool_index_writes)) * 100,5,2)  
  18. ELSE NULL  
  19. END AS IND_CLN_RATIO,  
  20. pool_no_victim_buffer, pool_lsn_gap_clns,  
  21. pool_drty_pg_steal_clns, pool_drty_pg_thrsh_clns  
  22. FROM BPMETRICS" 

  以上查詢中的 Data 和 Index 頁面清理率應該接近 100%。如果該值小于 90%,那么頁面清洗的速度將無法跟上系統中臟頁的增長速度。

  dirty_page_steal_clns 顯示了臟頁面竊取情況。理想情況下,該值必須為零。如果它超過邏輯讀取數量的一小部分,則需要清潔更多的頁面。請降低 CHG_PGS_THRESHOLD,并確保有足夠的 I/O 清潔器。

  pool_no_victim_buffer 顯示了代理在可用頁面列表中無法找到可用頁面的次數。如果這個數字超過邏輯讀取幾個百分點,那么它就是有害的。請降低 CHG_PGS_THRESHOLD,并確保有足夠的 I/O 清潔器。

  步驟 8:調優預取活動

  類似于頁面清理,我們還需要調優預取活動。在一個真正的 OLTP 環境中,預取可能沒有用。但在 DSS 類的工作負載中,預取發揮著重要的作用。在理想的情況下,我們希望 IO_SERVERS IO_SERVERS(預取器)負責所有讀取,該操作實質上是異步進行的。下面的查詢顯示了由 IO_SERVERS 完成的 I/O 讀取百分比。

  清單 9. 預取活動

  1. db2 "WITH BPMETRICS AS (  
  2. SELECT bp_name,  
  3. pool_data_p_reads, pool_async_data_reads,  
  4. pool_temp_data_p_reads,  
  5. pool_index_p_reads, pool_async_index_reads  
  6. FROM TABLE(MON_GET_BUFFERPOOL('',-2)) AS METRICS)  
  7. SELECT  
  8. VARCHAR(bp_name,20) AS bp_name,  
  9. pool_data_p_reads, pool_async_data_reads,  
  10. CASE WHEN pool_data_p_reads > 0  
  11. THEN DEC((FLOAT(pool_async_data_reads) / FLOAT(pool_data_p_reads +  
  12. POOL_TEMP_DATA_P_READS)) * 100,5,2)  
  13. ELSE NULL  
  14. END AS PREFETCH_RATIO,  
  15. pool_index_p_reads, pool_async_index_reads,  
  16. CASE WHEN pool_index_p_reads > 0  
  17. THEN DEC((FLOAT(pool_async_index_reads) / FLOAT(pool_index_p_reads)) * 100,5,2)  
  18. ELSE NULL  
  19. END AS PREFETCH_IDX_RATIO  
  20. FROM BPMETRICS" 

  大于 90% 的值對于 PREFETCH_RATIO 而言是適合的值。

  結束語

  雖然這些步驟沒有涵蓋可能會出現的所有性能問題,但上面的方法主要側重于解決性能問題所使用的原則和策略。遵循這些步驟會幫助您縮小問題的范圍,并最終幫您解決問題。

責任編輯:黃丹 來源: developerWorks
相關推薦

2019-12-25 14:30:40

MicrosoftWindows 10Windows

2010-08-11 12:43:45

DB2數據庫調優

2010-08-11 14:32:55

DB2數據庫調優

2017-11-08 09:03:55

MongoDB數據庫步驟

2010-08-12 10:27:21

DB2數據庫備份

2010-08-26 16:00:31

DB2數據庫安裝

2010-09-06 09:28:19

DB2數據庫

2010-08-03 13:56:11

DB2表復制

2010-08-09 14:07:10

DB2數據庫設計

2011-03-11 16:02:03

DB2數據庫安裝

2010-08-26 17:11:50

DB2database Pa

2011-03-14 17:03:21

DB2數據庫性能監控

2010-08-11 13:18:40

安裝DB2數據庫

2010-08-27 15:26:19

DB2數據庫創建

2010-08-12 10:54:21

IBM DB2數據庫

2010-08-13 09:31:54

DB2數據庫遷移

2010-09-01 10:55:24

db2管理

2010-08-17 13:12:18

備份恢復DB2

2010-08-31 16:59:12

DB2UPDATE

2010-11-03 16:32:10

DB2創建數據庫
點贊
收藏

51CTO技術棧公眾號

国产亚洲精品日韩| 久久亚洲私人国产精品va媚药| 欧美高清精品3d| 久久国产精品-国产精品| 顶臀精品视频www| 亚洲第一影院| 91视频www| 美女av一区二区| 三级在线视频观看| 久久免费看视频| 亚洲精品日韩久久| 日韩一区二区在线免费观看| 五月天色一区| 亚洲综合久久网| 鲁大师精品99久久久| 亚洲综合免费观看高清完整版在线| 国产剧情日韩欧美| 一级肉体全黄裸片| 欧美xoxoxo| 26uuuu精品一区二区| 午夜免费日韩视频| 国产黑丝一区二区| h片精品在线观看| 成人激情免费电影网址| 欧美激情精品久久久久久变态 | 网友自拍视频在线| 日韩国产在线一| 亚洲男人天堂2019| 免费在线观看的av网站| 欧美日本韩国一区二区| 久久高清国产| 亚洲人成毛片在线播放| 国产一级不卡毛片| jizz日韩| 国产自产高清不卡| 久久久999精品| 在线成人免费av| 成人在线网址| 成人一区在线观看| 91国产在线精品| 特级西西人体wwwww| 亚洲美女炮图| 欧美激情一区二区三区| 国产免费一区视频观看免费| 国产精品久久久免费看| 日韩中文字幕无砖| 午夜婷婷国产麻豆精品| 久热这里只精品99re8久| 黄色一级视频免费看| 欧美裸体在线版观看完整版| 欧美日韩国产影片| 日韩人妻精品一区二区三区| 亚洲高清视频网站| 国产日韩1区| 一区二区三区无码高清视频| 亚洲午夜精品一区| av男人的天堂在线观看| 国产午夜精品在线观看| 成人欧美在线观看| 日韩欧美高清在线观看| 国产真实有声精品录音| 欧美一区2区视频在线观看| www.日本在线视频| 免费播放片a高清在线观看| 麻豆精品一区二区三区| 欧美激情手机在线视频| 中文字幕国产专区| 国产精品久久久久久av公交车| 亚洲福利视频导航| 性欧美videosex高清少妇| 亚洲av色香蕉一区二区三区| 久久av在线| 欧美高清一级大片| 日本一级免费视频| 99re6热只有精品免费观看| 一本大道久久a久久精品综合| av动漫免费观看| 在线观看xxx| 精品午夜久久福利影院| 国产91ⅴ在线精品免费观看| 日韩三级在线观看视频| 综合综合综合综合综合网| 日韩一区国产二区欧美三区| 亚洲一二三区av| 18video性欧美19sex高清| 中文无字幕一区二区三区| 国产精品区一区| 91在线精品入口| 久久国产精品99国产| 欧美日本黄视频| 刘亦菲国产毛片bd| 亚洲精品合集| 亚洲国产91色在线| 超级砰砰砰97免费观看最新一期| 免费福利视频一区二区三区| 亚洲国产精品精华液网站| 影音先锋在线亚洲| 岛国大片在线观看| 91一区在线观看| 亚洲综合视频1区| 黄色一区二区视频| 国产精品社区| 97久久精品国产| 久久久国产成人| 亚洲第一偷拍| www日韩欧美| 手机av免费看| 同性恋视频一区| 精品99999| 女女调教被c哭捆绑喷水百合| 伊人亚洲精品| 欧美久久久久久久久| 看欧美ab黄色大片视频免费| 亚洲成人短视频| 一本一本久久a久久精品综合麻豆| 日韩精品视频在线观看视频 | 欧美国产1区2区| 区一区二区三区中文字幕| 青春草在线观看 | 久久久久欧美精品| 欧美壮男野外gaytube| 国产精品美女毛片真酒店| 欧美三区视频| 久久久久久成人精品| 国产一级做a爱免费视频| 国产精品99一区二区| 欧美黑人性视频| 日韩久久精品视频| 久久久久久黄| 国产精品白嫩美女在线观看| wwwwww在线观看| 久久精品噜噜噜成人av农村| 91色琪琪电影亚洲精品久久| 精品国产乱码一区二区三| 国产麻豆欧美日韩一区| 成人高清在线观看| 色屁屁草草影院ccyycom| 99久久99久久精品免费看蜜桃| 精品久久中出| 国产女主播在线写真| 欧美国产1区2区| 国产一级黄色录像片| 俄罗斯一级**毛片在线播放| 欧美日韩性视频在线| 天天碰免费视频| 久久久久亚洲精品中文字幕| 精品福利一区二区三区| 亚洲国产无码精品| 日韩专区精品| 欧美激情视频在线观看| 91看片在线播放| 日本成人在线不卡视频| 91亚洲精品在线| 欧美一区,二区| 国产日韩高清在线| 免费成人深夜夜行网站视频| f2c人成在线观看免费视频| 一本久久综合亚洲鲁鲁五月天| 少妇一级淫免费放| 视频二区欧美| 亚洲少妇激情视频| 超碰在线国产97| 香蕉成人久久| 亚洲影院污污.| 国产在线高清| 亚洲精品亚洲人成人网在线播放| 黄色一级片播放| 电影91久久久| 亚洲精品日韩欧美| 亚洲成人生活片| 日韩二区在线观看| 俄罗斯精品一区二区三区| 国产理论电影在线观看| 一区二区三区四区高清精品免费观看 | 91精品综合久久久久久久久久久 | 日韩精品视频在线观看网址| 99自拍偷拍视频| 亚洲一区二区三区免费在线观看| 91香蕉电影院| 成人性生交大片免费看午夜 | 麻豆国产一区| 亚洲最新中文字幕| 国产精品美女毛片真酒店| 国内精品国产成人| 日韩久久不卡| 国产欧洲在线| 欧美一区二区三区视频在线观看| 好吊一区二区三区视频| 自产国语精品视频| 日韩av电影手机在线观看| 性做久久久久久久| 国产精品久久久久影院色老大| 131美女爱做视频| 亚洲一区二区三区中文字幕在线观看| 在线国产精品视频| 久草手机在线观看| 成人黄色大片在线观看| 精品一区二区成人免费视频| 欧美日韩成人影院| 日韩av在线网页| 精品少妇爆乳无码av无码专区| 麻豆视频一区二区| 五月天丁香综合久久国产| 无码小电影在线观看网站免费| 精品日韩欧美在线| 日本妇女毛茸茸| 久久国产精品99精品国产| 欧美一二三区| 高清不卡av| 国产丝袜一区视频在线观看| 久久午夜免费视频| 成人免费高清在线| 国产xxxx振车| 一区二区三区亚洲变态调教大结局| 中文字幕日韩在线观看| 日韩不卡高清视频| 久久九九影视网| 粉嫩虎白女毛片人体| 亚洲国产精品嫩草影院久久av| 高清一区二区三区四区五区| 亚洲国产精品久久人人爱潘金莲 | 亚洲美女在线看| 中文字字幕在线中文| 91蜜桃网址入口| 黄色免费观看视频网站| 三级精品视频| 日本精品视频在线| 欧美男男激情freegay| 色综合久久综合网欧美综合网 | 国产日韩欧美电影| 鲁一鲁一鲁一鲁一av| 91综合久久| 91免费国产网站| 日本片在线观看| 亚洲国产精品va| 波多野结衣视频网站| 国产色产综合产在线视频 | 国产精品99久久久久久久女警| 成人性做爰片免费视频| 日韩激情欧美| 欧美一级高清免费播放| 国产精品一区二区三区四区色 | 精品国产999久久久免费| 一区二区三区四区亚洲| 精品人妻一区二区免费视频| 国产精品嫩草99av在线| 亚洲国产精品毛片| 国产成人免费视频网站视频社区| 欧美男插女视频| 香蕉视频911| 在线免费不卡电影| 欧美成人777| 成人综合婷婷国产精品久久蜜臀| 成年人午夜免费视频| 精品国产精品久久一区免费式| 91精品久久久久久久| 免费在线看污片| 伊人久久免费视频| 精品人妻伦一二三区久久| 天天av天天翘天天综合网色鬼国产| 久久成人激情视频| 国产精品一二三| 欧美女人性生活视频| 欧美丰满日韩| 精品不卡在线| 国产精品高清一区二区| 欧洲成人在线视频| 超碰在线观看免费版| 精品中文字幕久久久久久| 国产又粗又大又爽| 午夜伦欧美伦电影理论片| 国产视频不卡在线| 波多野结衣在线一区| 亚洲综合欧美激情| 在线日本高清免费不卡| 在线看视频不卡| 图片婷婷一区| 98国产高清一区| 99久久伊人| 久久久久久久久久久91| 成人动漫在线播放| 亚洲精品wwwww| 国产丝袜视频在线观看| 日本精品免费观看高清观看| 黄色一级片在线| 国产精品麻豆欧美日韩ww| 插我舔内射18免费视频| 国产在线精品一区在线观看麻豆| 国产福利视频在线播放| 国自产拍偷拍福利精品免费一| 亚洲精品成人a8198a| 秋霞影视一区二区三区| 99精品国产高清一区二区| 香蕉成人影院| 国产成人亚洲综合91| 精精国产xxxx视频在线野外| 欧美成人午夜激情视频| 秋霞影院午夜丰满少妇在线视频| 亚洲午夜精品视频| 天堂中文在线8| 日韩av在线免费看| 天堂中文在线看| 精品少妇一区二区三区在线播放| 91精品中文字幕| 在线观看不卡视频| 天天干天天操天天操| 黑人极品videos精品欧美裸| 中文字幕一区二区三区手机版| 亚洲自拍偷拍av| 久久网中文字幕| 一区二区三区日韩精品| 乱h高h女3p含苞待放| 亚洲欧洲av另类| 91大神福利视频| 国产精品麻豆久久久| 亚洲少妇xxx| 亚洲三级电影网站| 四虎精品免费视频| 成人免费一区二区三区视频| 亚洲综合图片一区| 亚洲品质自拍视频| 久热这里有精品| 亚洲综合在线视频| 久久免费播放视频| 亚洲高清在线视频| 国产一级做a爱片久久毛片a| 欧美日韩另类视频| 7799精品视频天天看| 91国偷自产一区二区三区成为亚洲经典| 成人公开免费视频| 欧美三级在线播放| 国产巨乳在线观看| 91精品国产欧美一区二区18| 精品人妻一区二区三区四区不卡| 精品免费日韩av| 视频二区在线| 在线视频中文亚洲| 免费网站免费进入在线| 久久久久999| 超碰在线网站| 国产精品jizz在线观看麻豆| 久久精品97| 成人在线观看av| 五月综合久久| 亚洲美女网站18| 欧美日韩在线大尺度| 鲁一鲁一鲁一鲁一澡| 奇米综合一区二区三区精品视频| 午夜不卡福利视频| 北条麻妃国产九九精品视频| 能免费看av的网站| 亚洲天堂成人网| 欧美福利视频一区二区| 欧美中文字幕不卡| 亚洲精品字幕在线| 亚洲天堂免费在线| 宅男网站在线免费观看| 欧美综合第一页| 国产精品久久久久久久久久辛辛 | 四虎在线观看| 色综合伊人色综合网| 美足av综合网| 国产精品福利小视频| 涩涩屋成人免费视频软件| 欧美一二三四五区| 欧美在线1区| 别急慢慢来1978如如2| 国产精品一级黄| 日本一道本视频| 午夜精品久久久久久久久久久| 中文字幕第一页在线播放| 欧美变态tickle挠乳网站| 精品久久av| 国内免费久久久久久久久久久| 成人黄页网站视频| 国产日韩欧美一区二区三区四区 | 国产精品一二三在线观看| 亚久久调教视频| av电影中文字幕| 国产精品美女一区二区三区 | 精品视频第一区| 亚洲电影影音先锋| 成人在线激情网| bt7086福利一区国产| 欧美大片xxxx| 欧美视频在线一区二区三区 | 色悠久久久久综合先锋影音下载| 五月天综合网| 免费看的黄色欧美网站| 国产a√精品区二区三区四区| 欧美激情自拍偷拍| 国产一级片毛片| 亚洲国产高清自拍| 色婷婷视频在线观看| 91精品视频播放| 日韩成人三级| 久久久国产欧美| 久久先锋影音av鲁色资源| 日本网站在线免费观看| 日韩欧美国产不卡|