閱讀484 返回首頁    go 技術社區[雲棲]


DB2數據庫常用工具

1解釋工具

1.1 Visual Explain

之前都是explain就可以了昂
Visual Explain是一種GUI工具,他為數據庫管理員和應用程序開發人員提供了查看為特定SQL語句選擇的訪問計劃的圖形化的表示能力。但Visual Explain隻能用於查看解釋快照數據或人工輸入SQL或腳本,要查看已收集並寫入了解釋表的全麵解釋數據,則必須使用db2exfmt或db2expln工具。

1.2 db2expln

  在包含嵌入式SQL語句的源代碼文件綁定到數據庫時(無論是作為預編譯流程的一部分,還是在延遲綁定過程中),DB2將分析遇到的每一條靜態SQL語句,並生成一個相應的訪問計劃,此訪問計劃隨後以程序包的形式存儲在數據庫中(syscat.packages)。給定數據庫名稱、包名稱、包創建者ID、部分號(若指定了部分號為0,則處理包的所有部分),db2expln工具即可為存儲在數據庫係統目錄中的任何包解釋並說明其訪問計劃。由於db2expln工具直接處理包而非全麵解釋數據或解釋快照數據,因而通常用來獲取那些已選定用於未捕獲其解釋數據的包的訪問計劃的相關信息。但由於db2expln工具僅可訪問已存儲在包中的信息,因而隻能說明所選的最終訪問計劃的實現,不能提供特定SQL語句優化方式的信息。
  若使用額外的輸入參數,db2expln工具則還可用於解釋動態SQL(不包含參數標記的動態sql語句)語句。
  查看靜態package例子:


1.3 db2exfmt

  與db2expln工具不同,db2exfmt工具用於直接處理已收集並存儲在解釋表中的全麵解釋數據或解釋快照數據。給定數據庫名和其他限定信息,db2exfmt工具將在解釋表中查詢信息、格式化結果,並生成一份基於文本的報告,此報告可直接顯示在終端上或寫入ASCII文件。

2索引設計工具

3基準測試工具

4數據一致性檢查工具

5db2look

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

  • 從數據庫對象中提取數據庫定義語言(DDL)語句
  • 生成update語句,用於更新數據庫管理器和數據庫配置參數
  • 生成db2set命令,用於設置DB2概要注冊表
  • 提取和生成數據庫統計報告
  • 生成update語句,用於複製關於數據庫對象的統計信息   LOAD之類的應用程序要求目標表已經存在。您可以使用db2look命令提取表的DDL,在目標數據庫上運行它,然後調用裝載操作。db2look非常容易使用,下麵的例子展示了這一點。 這個例子生成peter在數據庫department中創建的所有對象的DDL,輸出被存儲在alltables.sql中。
db2look -d department -u peter -e -o alltables.sql
[db2inst1@db22 ~]$ db2look -d sample -u peter -e -o alltables.sql
-- Creating DDL for table(s)
-- Output is sent to file: alltables.sql
-- Binding package automatically ... 
-- Bind is successful
-- Binding package automatically ... 
-- Bind is successful

[db2inst1@db22 ~]$ less alltables.sql 
-- This CLP file was created using DB2LOOK Version "11.1" 
-- Timestamp: Thu 13 Apr 2017 11:13:02 AM CST
-- Database Name: SAMPLE         
-- Database Manager Version: DB2/LINUXX8664 Version 11.1.1.1
-- Database Codepage: 1208
-- Database Collating Sequence is: IDENTITY
-- Alternate collating sequence(alt_collate): null
-- varchar2 compatibility(varchar2_compat): OFF


CONNECT TO SAMPLE;

------------------------------------------------
-- DDL Statements for Schemas
------------------------------------------------

-- Running the DDL below will explicitly create a schema in the
-- new database that corresponds to an implicitly created schema
-- in the original database.

CREATE SCHEMA "DB2INST1";









COMMIT WORK;

CONNECT RESET;


下麵的命令生成

  • 數據庫department中所有對象的DDL,(由-d、-a、-e選項指定)
  • update語句,用於複製數據庫中所有表和索引的統計信息(由選項-m指定)
  • GRANT授權語句(由選項-x指定)
  • 用於數據庫管理器和數據庫配置參數的update語句和用於概要注冊表db2set命令(由選項-f指定) db2look -d department -a -e -m -x -f -o db2look.sql #####db2look還可以生成用於注冊XML模式的命令。   下麵的例子生成模式名為dbinst1 的對象所需的REGISTER XMLSCHMA和COMPLETE XMLSCHEMA命令(由選項-xs指定)。/home/db2inst1中將創建輸出db2look.sql,這個目錄由-xdir選項指定。
db2look -d department  -z db2inst1 -xs -xdir /home/db2inst1 -o db2look.sql
生成緩衝池、表空間、數據庫分區組信息
db2look -d <dbname> -l -o storage.out
  • -d:數據庫名
  • -l:生成數據庫布局
  • -o:將輸出重定向到給定的文件名。
創建數據定義語言(DDL)

下麵的db2look 命令創建了DDL以複製所有數據庫對象,以及配置和統計信息:

db2look -d  <dbname> -a  -e -m  -o  db2look.sql
  • -a:為所有的創建器(createor)生成統計數據。如果指定了該項,那麼將忽略-u選項。
  • -e:提取複製數據庫所需的DDL文件。該選項生成包含了DDL語句的腳本。該腳本可以在另一數據庫上運行以重新創建數據庫對象。
  • -m:以模擬模式運行db2look實用程序。該選項包含了SQL UPDATE語句腳本。這些SQL UPDAE語句捕獲所有的統計數據。該腳本可以在另一數據庫上運行以複製原來的那一個數據庫。當指定-m選項時,將忽略-p,-g,-s選項。 #####收集數據庫子集的統計數據和DDL 為了僅僅收集某些表和相關對象的統計數據和DDL,可以使用下列命令: db2look -d <dbname> -a -e -m -t <table1> <table2> .. <tableX> -o table.ddl
  • -t:為特定的表生成統計數據
  • -z:模式名:如果同時指定了-z和-a,那麼將忽略-z

6其他工具。

最後更新:2017-04-13 12:30:43

  上一篇:go 集成代碼生成器 java 微信 自定義菜單 java微信接口開發 公眾平台 SSM redis shiro 多數據源
  下一篇:go MongoDB資料集錦