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

相关文章
|
5月前
|
关系型数据库 数据库 Python
Python连接DB2数据库
Python连接DB2数据库
|
3月前
|
运维 监控 关系型数据库
DB2 数据库监控用户赋权手册
DB2 数据库监控用户赋权手册
|
6月前
|
SQL 人工智能 数据可视化
NineData:帮助您更好地利用Db2数据库
NineData SQL 开发功能提供了对 Db2 数据源的支持,这是一个可视化、集成 AI、多云多环境、拥有企业级协同能力的 Db2 解决方案。无论您是个人开发者还是团队,都可以通过 NineData 平台一站式管理您的 Db2 数据源。
29 0
NineData:帮助您更好地利用Db2数据库
|
11月前
|
SQL 关系型数据库 数据库
Windows服务器DB2数据库建库过程演示,db2创建表空间、分配权限
Windows服务器DB2数据库建库过程演示,db2创建表空间、分配权限
296 0
|
关系型数据库 Linux 数据库
Linux命令下操作db2数据库
Linux命令下操作db2数据库
|
SQL Oracle 关系型数据库
Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb
Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb
672 0
Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb
|
SQL 关系型数据库 Unix
数据库必知词汇:DB2
DB2是美国IBM公司最初于1983年研发的一套关系型数据库管理系统,与此同时DB2也是IBM公司第一款商用数据库。DB2是一个关系数据库管理系统(RDBMS),主要用于有效地存储、分析和检索数据,此外,通过支持面向对象特性和XML的非关系型结构,使得DB2产品得以扩展。如今,DB2是IBM信息管理组合中不可或缺的一部分。它是一个功能全面、高性能的数据库引擎,能够处理大量数据并同时为许多用户提供服务。
472 0
|
关系型数据库 数据库 Linux
外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤。 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2数据库端口是50000。
1156 0