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): OFFCONNECT 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還可以生成用于注冊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其他工具。
總結
以上是生活随笔為你收集整理的DB2数据库常用工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: A/B测试:概念 ≠ 执行
- 下一篇: DB2安全(一)——概述