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其他工具。

相关文章
|
4月前
|
SQL 存储 关系型数据库
IDEA中居然有碾压Navicat的数据库管理工具
【8月更文挑战第12天】IDEA中居然有碾压Navicat的数据库管理工具
218 3
IDEA中居然有碾压Navicat的数据库管理工具
|
27天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
91 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
2月前
|
存储 Oracle 关系型数据库
【数据库-DB2】深入了解DB2 reorg
本文介绍了DB2数据库中reorg操作的重要性,旨在通过重组表数据来消除数据碎片、压缩信息并提高数据访问速度。reorg操作能够根据索引关键字重新排序数据,减少查询I/O次数,提升查询性能。文章详细讲解了reorg的操作步骤、适用场景及注意事项,强调了在执行reorg前后更新统计信息的必要性。
36 2
|
2月前
|
SQL 数据可视化 关系型数据库
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
124 1
|
2月前
|
Rust 关系型数据库 Linux
Rainfrog: 轻量级数据库管理工具
【10月更文挑战第3天】
|
4月前
|
人工智能 小程序 Java
【工具】轻松解锁SQLite数据库,一窥微信聊天记录小秘密
本文介绍了一款名为PyWxDump的开源工具,它可以获取微信账户信息、解密SQLite数据库以查看和备份聊天记录。此工具适用于已登录电脑版微信的用户,通过GitHub下载后简单几步即可操作。适合对数据恢复感兴趣的开发者,但请注意合法合规使用并尊重隐私。
532 2
【工具】轻松解锁SQLite数据库,一窥微信聊天记录小秘密
|
4月前
|
存储 前端开发 关系型数据库
秀啊,用Python快速开发在线数据库更新修改工具
秀啊,用Python快速开发在线数据库更新修改工具
|
4月前
|
前端开发 数据库 Python
用Python轻松开发数据库取数下载工具
用Python轻松开发数据库取数下载工具
|
4月前
|
SQL NoSQL 关系型数据库
推荐3款免费且实用的数据库管理工具
推荐3款免费且实用的数据库管理工具
197 2
|
4月前
|
存储 SQL NoSQL
数据转型秘诀:10强数据库管理工具
本文概览了十款特色鲜明的数据库系统,包括低代码平台Zoho Creator,以及PostgreSQL、MySQL等关系型数据库,还有MongoDB这样的NoSQL文档数据库。这些系统覆盖了从企业数据管理到Web应用开发的不同需求场景,如Zoho Creator允许非技术人员也能构建定制化的数据库应用;PostgreSQL以其稳定性和强大功能闻名;而MongoDB则擅长处理大量非结构化数据。每款数据库都针对特定的应用场景提供了独特的解决方案。
68 4
下一篇
无影云桌面