天天看點

DB2資料庫常用工具1解釋工具2索引設計工具3基準測試工具4資料一緻性檢查工具5db2look6其他工具。

之前都是explain就可以了昂 visual explain是一種gui工具,他為資料庫管理者和應用程式開發人員提供了檢視為特定SQL語句選擇的通路計劃的圖形化的表示能力。但visual explain隻能用于檢視解釋快照資料或人工輸入sql或腳本,要檢視已收集并寫入了解釋表的全面解釋資料,則必須使用db2exfmt或db2expln工具。

  在包含嵌入式SQL語句的源代碼檔案綁定到資料庫時(無論是作為預編譯流程的一部分,還是在延遲綁定過程中),DB2将分析遇到的每一條靜态SQL語句,并生成一個相應的通路計劃,此通路計劃随後以程式包的形式存儲在資料庫中(syscat.packages)。給定資料庫名稱、包名稱、包建立者id、部分号(若指定了部分号為0,則處理包的所有部分),db2expln工具即可為存儲在資料庫系統目錄中的任何包解釋并說明其通路計劃。由于db2expln工具直接處理包而非全面解釋資料或解釋快照資料,因而通常用來擷取那些已標明用于未捕獲其解釋資料的包的通路計劃的相關資訊。但由于db2expln工具僅可通路已存儲在包中的資訊,因而隻能說明所選的最終通路計劃的實作,不能提供特定sql語句優化方式的資訊。

  若使用額外的輸入參數,db2expln工具則還可用于解釋動态sql(不包含參數标記的動态sql語句)語句。

  檢視靜态package例子:

  與db2expln工具不同,db2exfmt工具用于直接處理已收集并存儲在解釋表中的全面解釋資料或解釋快照資料。給定資料庫名和其他限定資訊,db2exfmt工具将在解釋表中查詢資訊、格式化結果,并生成一份基于文本的報告,此報告可直接顯示在終端上或寫入ascii檔案。

  db2look是可以從指令行提示符下和控制中心中調用的一個強大的工具。這個工具可以:

從資料庫對象中提取資料庫定義語言(ddl)語句

生成update語句,用于更新資料庫管理器和資料庫配置參數

生成db2set指令,用于設定db2概要系統資料庫

提取和生成資料庫統計報告

生成update語句,用于複制關于資料庫對象的統計資訊

  load之類的應用程式要求目标表已經存在。您可以使用db2look指令提取表的ddl,在目标資料庫上運作它,然後調用裝載操作。db2look非常容易使用,下面的例子展示了這一點。

這個例子生成peter在資料庫department中建立的所有對象的ddl,輸出被存儲在alltables.sql中。

下面的指令生成

資料庫department中所有對象的ddl,(由-d、-a、-e選項指定)

update語句,用于複制資料庫中所有表和索引的統計資訊(由選項-m指定)

grant授權語句(由選項-x指定)

用于資料庫管理器和資料庫配置參數的update語句和用于概要系統資料庫db2set指令(由選項-f指定)

  下面的例子生成模式名為dbinst1 的對象所需的register xmlschma和complete xmlschema指令(由選項-xs指定)。/home/db2inst1中将建立輸出db2look.sql,這個目錄由-xdir選項指定。

-d:資料庫名

-l:生成資料庫布局

-o:将輸出重定向到給定的檔案名。

下面的db2look 指令建立了ddl以複制所有資料庫對象,以及配置和統計資訊:

-a:為所有的建立器(createor)生成統計資料。如果指定了該項,那麼将忽略-u選項。

-e:提取複制資料庫所需的ddl檔案。該選項生成包含了ddl語句的腳本。該腳本可以在另一資料庫上運作以重新建立資料庫對象。

-m:以模拟模式運作db2look實用程式。該選項包含了sql update語句腳本。這些sql updae語句捕獲所有的統計資料。該腳本可以在另一資料庫上運作以複制原來的那一個資料庫。當指定-m選項時,将忽略-p,-g,-s選項。

為了僅僅收集某些表和相關對象的統計資料和ddl,可以使用下列指令:

-t:為特定的表生成統計資料

-z:模式名:如果同時指定了-z和-a,那麼将忽略-z