(2) 对实例和数据库的操作
开始连接实例之前,必须存在多个实例。
要使用命令行来与实例连接,输入:

例如,要连接至节点目录中先前编目的称为 testdb2 的实例:

例如,在对 testdb2 实例执行维护活动后,要使用命令行从实例拆离,输入:

对于数据库的操作,除了前面提到过的create database和connect to,还有drop database命令删除数据库,terminate命令断开和数据库的连接。
(3)db2命令行工具(CLP)
通过前面的描述,大家对于它已经很熟悉了。它包括单行命令方式和交互方式。在2种方式之间可以共享当前状态,比如db2 connect 连接了数据库,那么db2进入交互方式后不用再次connect,同样在交互方式下设置了set schema当前模式,那么退出交互以后仍然生效。
利用db2工具除了能够执行SQL语句,还可以完成数据库管理参数和数据库参数的动态配置,前者是实例级,后者是数据库级的。方法是:



比如可以设置分区内并行和增加日志文件的大小。
























(4)db2batch批量测试工具
这个是db2提供的专门用于基准测试的工具,基准测试是从各种不同方面(例如数据库响应时间、cpu 和内存使用情况)对应用程序进行评测的一个过程。基准测试基于一个可重复的环境,以便能够在相同的条件下运行相同的测试。之后,对测试收集到的结果可以进行评估和比较。
db2batch以一组 SQL 和/或 XQuery 语句作为输入,动态地准备语句和描述语句,依次执行每个语句并返回一个报告。取决于命令中的选项,结果集可返回这些语句的执行时间、从准备到查询完成中各个阶段所花费的具体时间,CPU 时间,以及返回的记录关于内存使用情况(例如缓冲池)的数据库管理器快照和缓存信息。
db2batch 命令格式

对于执行 db2batch 时一些详细的设置可以通过 -o 参数指定,也可以在 SQL 文件中指定,譬如可以在1.sql文件中使用下面的配置参数:








其中 ROWS_FETCH 和 ROWS_OUT 定义了从查询的结果集中读取记录数和打印到输出文件中的记录数,PERF_DETAIL设置了收集性能信息的级别,DELIMITER 则指定了多个查询间的间隔符。如果用--#BGBLK和--#EOBLK定义执行块,那么最后的总结报告用块为单位统计,因此,若需要将每个SQL语句重复执行,那么必须在每个语句前后定义块。
执行命令:

db2batch还允许在输入文件中定义SQL程序块,并且可以定义这个块重复执行的次数,这个功能对于基准测试很有用,可以得出多次执行的平均值,消除一部分偶然性的影响。
由于db2命令行没有提供类似Oracle的sqlplus的set timing on功能。利用显示系统时间,然后计算时间间隔的办法过于复杂,利用date;db2 …;date命令来显示命令执行前后的时间存在着同样的问题。这个工具恰好满足了我们的要求,所以下面的TPCH测试就主要利用这个工具进行。