db2top工具详解(翻译)
DB2性能工具简介
在数据库数据页损坏无法进行正常的数据操作时,可以通过db2dart进行数据恢复。当行,则可以在已损坏的表中用 db2dart命令进行数据导出,前提是数据库能连接上。 Db2dart dbname /ddel 然后按提示输入表id,表空间id,起始页,导出页数 Filename used for output data file is TS2T10.DEL. If existing file, data will be appended to it. Formatted data being dumped ... Dumping Page 0 .... Dumping Page 1 .... Table object data formatting end. 导出的数据就在TS2T10.DEL中,以文本形式保存。 由于db2dart命令不需要通过db2数据库管理器进行对数据库的访问,而是直接从磁盘 中读取数据的数据,因此,就算是数据表无法访问,也能进行数据的导出。不过当数 据量大时速度会十分慢。
db2dart 当数据库出现问题的时候,可以用db2dart进行检查,验证数据库以及相关数据库对象是 否正确 db2dart dbname /db Table inspection start: UCAR.TABLE4 Data inspection phase start. Data obj: 7 In pool: 2 Data inspection phase end. Index inspection phase start. Index obj: 7 In pool: 2 Scanning pages for unique index itoken(0) root page:385p. Scanning pages for unique index itoken(1) root page:386p. Index inspection phase end. Table inspection end. ......... Database inspection phase end. ______________________________________ The requested DB2DART processing has completed successfully! All operation completed without error; no problems were detected in the database. ______________________________________ Complete DB2DART report found in: PRODDB.RPT
db2look语法
db2look语法摘要:1.DB2look简介2.DB2look的基本语法3.DB2look命令的分类与使用4.DB2look实用案例分享5.小结与建议正文:DB2look是一款用于IBM DB2数据库管理和查询的实用工具,它可以帮助数据库管理员(DBA)和开发人员更加方便地操作和维护数据库。
本文将介绍DB2look的基本语法、命令分类与使用,并通过实用案例分享,帮助大家更好地掌握DB2look的使用技巧。
一、DB2look简介DB2look是一款免费、开源的DB2管理工具,支持Windows、Linux和Mac OS等操作系统。
它提供了丰富的功能,包括数据库对象浏览、查询、数据Export/Import、SQL脚本编辑与执行等。
DB2look以其简洁的界面、强大的功能和易用性,受到了广大数据库从业者的喜爱。
二、DB2look的基本语法DB2look的使用遵循SQL语法,同时它还支持一些特定的关键字和命令。
在使用DB2look时,需要熟悉以下基本语法:1.数据库连接:使用`CONNECT TO`命令连接到数据库,需要提供数据库服务器地址、端口、用户名和密码等信息。
2.数据库对象浏览:使用`SELECT`命令查看数据库中的表、视图、索引等对象。
3.查询与数据操作:使用SQL查询语句对数据库进行查询、插入、更新和删除等操作。
4.数据导出与导入:使用`EXPORT TO`和`IMPORT FROM`命令将数据导出到文件或从文件导入到数据库。
5.SQL脚本编辑与执行:使用`EDIT`和`RUN`命令编辑和执行SQL脚本。
三、DB2look命令的分类与使用1.连接与认证相关命令:包括`CONNECT TO`、`DISCONNECT FROM`、`SET PASSWORD`等命令。
2.数据库对象管理:包括`SELECT`、`USE`、`DROP`、`CREATE`等命令,用于管理表、视图、索引等数据库对象。
DB2数据库-性能测试监控
建议:根据表的大小设置不同规格(4k、8k、16k、32k)的表空间,将表空间设置为自动增长的方式。
锁配置信息查看
Db2 get db cfg |grep–ilock
获取LOCKTIMEOUT这项指标的值,若为-1表示锁永远不会超时。
当前的应用系统主要分为两类:联机事务处理(OLTP)和联机分析处理(OLAP)。OLTP主要执行日常的事务处理,比如银行存取款、商场购物等,它的主要特点是对响应时间要求高,数据量一般较小,并发多,面向应用。OLAP主要指数据仓库、决策分析类系统,主要特点是数据量大,对实时性要求不高,面向主题。
针对这两种典型的系统,DB2提供了很好的支持。对于OLTP系统和数据量较小的OLAP系统,可以采用单分区架构。
数据库排序溢出总次数
SQL_Current
数据库当前执行的SQL语句
Tb_scan
数据库全表扫描的情况
Num_SQ_execut
执行次数较多的SQL
Package_Cache_Ratio
包缓存命中率
LOCK_SQL
造成数据库锁的SQL
Hight_CPU_TIME_SQL
最消耗系统资源的SQL
四
根据DB2监控指标中列出的指标名称,按测试指南指标、其他常用指标逐一给出详细的监控方法。
Db2wdong
DB2的看门狗,是db2sysc的父进程。如果db2sysc集成非正常终止,它将清除所占用的资源。
Db2vend
在主进程之外的围栏进程,所有db29.5的第三方代码都在这个进程中运行。
Db2fmp
围栏进程,在防火墙外运行用户的存储程序和用户定义函数代码。此进程代替了db2老版本中的db2udf和db2dari进程。
DB2 性能调优入门(1-Tools)
DB2 snapshot switches on
当前挂起的锁定 =0 锁定等待 =0 数据库等待锁定时间(毫秒) = 0 在使用的锁定列表内存(以字节计)= 3360 检测到死锁 =0 锁定升级 =0 互斥锁定升级 =0 当前正等待锁定的代理程序数 = 0 锁定超时 =0 不确定事务数 =0
已分配的专用排序堆总数 =0 已分配的共享排序堆总数 =4 共享排序堆高水位标记 =4 后阈值排序(共享内存) =0 总计排序 =0 总计排序时间(毫秒) =0 排序溢出 =0 活动排序数 =0
RESET MONITOR {ALL [DCS] | FOR [DCS] DATABASE databasealias} [AT DBPARTITIONNUM db-partition-number | GLOBAL]
© 2007 IBM Corporation
DB2 9.5 Administration for the Oracle DBA – Proof of Technology – Part 1
© 2007 IBM Corporation
DB2 9.5 Administration for the Oracle DBA – Proof of Technology – Part 1
DB2 Information Management
学习目标 了解DB2日常监控的过程 熟悉DB2常用的监控工具 能够熟练使用snapshot工具 能够熟练使用event monitor工具 能够熟练使用db2pd工具 能够使用SQL访问监控结果 能够熟练使用recovery expert工具
UPDATE MONITOR SWITCHES USING {switch-name {ON | OFF} ...} [AT DBPARTITIONNUM db-partition-number | GLOBAL]
db2top
DB2TOP(1) User Manuals DB2TOP(1)NAMEdb2top − DB2 performance monitorSYNOPSISdb2top [−d dbname] [−n nodename] [−u username] [−p passÂ-word] [−V schema] [−i interval] [−P<partition> ] [−boption] [−a] [−B] [−k] [−R] [−x] [−f file</HH:MM:SS><+offset> ] [−D delimiter] [−C<option>] [−m duration] [−ooutfile]db2top [−H host ] [−N port ] [−h]DESCRIPTIONdb2top is a monitor for DB2 UDB specifically designed for DPF environments. It provides a unified, ’single system view’ of a multi−partition DB2 database that can be used to quickly identify either partition−specific or global problems in the system.The user interface is character−based and built using the curses library and is similar in nature to many UNIX moniÂ- toring utilities.db2top uses the DB2 snapshot monitoring APIs to retrieve data. It uses both global as well as partition−specific monitoring information to provide aggregation as well as quick drill−down capabilities.It can be run interactively or in batch mode. Main feaÂ- tures can be selected by an interactive command or by specifying the option in the personal or system−wide conÂ- figuration file. See below .db2toprc for more information.COMMAND OPTIONS−n specifies the node to attach to.−d specifies the database to monitor.−u specifies the DB2 username used to access the database.−p specifies the DB2 password.−V specifies the default schema used in explains.−i specifies the delay between screen updates.−k specifies whether to display actual or delta values.−R Reset snapshot at startup.−P <number>. Snapshot issued on current or partition numÂ-ber.−x specifies whether to display additionnal counters on session snd appl creens (might run slower on session).−b tells db2top to run in background mode.−a specifies only active queries will be displayed.−B enable bold for active objects.−C Runs db2top in snapshot collector mode, raw snapshot data is saved in <db2snap−Machine>.bin> by default (unless −f is specified).−f <file> </HH:MM:SS> <+offset>. Run db2top in replay mode when snapshot data has been previously collected in <file>. offset will jump to a certain point in time in the file. It can be expressed in seconds (+10s), minutes (+10m) or hours (+10h). /HH:MM:SS will skip entries until the specified point in time.−m Will limit duration of db2top in minutes for −b and −C.−o <outfile>. Outfile for −b option.−D <delimiter>. Separator for −b option.−h short help. When using the −b option, db2top will display information in CSV format. db2top can be run in background mode in combination with reading snapshot data from collection file, in this case, use the −f <file> option. Valid sub− options for −b and −C are :d : databasel : sessionst : tablespacesb : bufferpoolsT : TablesD : Dynamic SQLs : StatementsU : Locksu : UtilitiesF : Federationm : Memory poolsWhen using the −X switch with the −b option, the output will be displayed in XML format. When using the −L switch with the −b option, in session mode (sub−option l), all queries will be written to ’ALL.sql’. When using the −A switch with the −b option, db2top will produce a top twenty performance report. When using the −s <sample> switch with the −b option, db2top will only display n samÂ-ples and exit.Interactive commandsd Goto database screen.l Goto sessions screen.a Goto application details for agent (or restrict on agent on statement screen). db2top will prompt for the agent−id.G Toggle between all partitions and current partitions.P Select db partition on which to issue snapshot.t Goto tablespaces screen.T Goto tables screen.b Goto bufferpools screen.D Goto the dynamic SQL screen.m Display memory pools.s Goto the statements screen.U Goto the locks screen.p Goto the partitions screen.u Goto the utilities screen.A Goto the HADR screen.F Goto the federation screen.B Goto the bottleneck analysis screen.H Goto the history screen (experimental).f Freeze screen.W Watch mode for agent_id, os_user, db_user, applicaÂ-^HÂ-tion or netname. Statements returned by the sessionsnapshot (option l) will be written to agent.sql, os_user−agent.sql, db_user−agent.sql, application−agent.sql or netname−agent.sql. The Dump DB Structfield will create scripts in the current directory torecreate the database. When issued from the dynamicSQL screen (option D), statements will be written to db2adv.sql in a format compatible with db2advis./ Enter expression to filter data. \Expression mustconform to regular expression. Each function (screen)can be filtered differently. regexp check is applyiedto the whole row.<|> Move to left or right of screen.z|Z Sort on ascending or descending order.c This option allows to change the order of the columnsdisplayed on the screen. The syntax is in the form:1,2,3,... where 1,2,3 correspond respectively to the1st, 2nd and 3rd columns displayed. These are thecolumn numbers to use when specifying a sort criteÂ-ria.S Run native DB2 snapshot.L Allows to display the complete query text from the SQL screen. Regular DB2 explain can then be run usinge or X.R Reset snapshot data.i Toggle idle sessions on/off.I Reset refresh interval.k Toggle actual vs delta values.g Toggle graph on/off.X Toggle extended mode on/off.C Toggle snapshot data collector on/off.V Set default explains schema.O Display session setup.w Write session settings to .db2toprc.q Quit db2top.Interactive commands(applications screen only)r Return to previous function.R Toggle automatic refresh.g Toggle graph on/off.X Toggle extended mode on/off.d Display agents.Snapshot data collectordb2top can be run in replay mode, which means it can be run against a saved copy of the raw binary snapshot data. In order to do so, db2top must be run first in data colÂ- lector mode, either in batch mode by running db2top from the command line with the [−C] switch, or by activatÂ- ing/deactivating data collection from an interactive sesÂ- sion by pressing C. This will create a file <db2snap−Machine> in the current directory. Afterwards, db2top can be ran against <db2snap−Machine> by using the [−f <db2snap−Machine> arguments. db2top does not need to attach to DB2 in replay mode, which makes convenient to do remote monitoring. It is possible to limit the content of the stream file (and it’s size) by specifying any of the suboptions dltbTDsUF.Network data collector(EXPERIMENTAL)db2top can be run in client/server mode. This means that one instance of db2top can issue DB2 snapshots in data collection mode and send the output stream via the network to other instances of db2top. To enable this, db2top needs to be started in collection mode with −C and −N (network). Eventually, the −D will set db2top to daemon mode; in this case, messages are sent to syslog(3). Then, other instances of db2top will connect to the server using the −H [host] and −N <port> switchs.Network commands−−stop, −−restart,−−ping.FILESdb2toprc.db2toprc is a configuration file used to setup parameters at initialization time. db2top will search for the location of .db2toprc using the environement variable $DB2TOPRC. If the variable is not set, db2top will then search for .db2toprc in the current directory and finally in the home directory.ENVIRONMENTDB2TOPRCsee above.DB2DBDFTIf non null and nothing has been specified on the command line or in .db2toprc, db2top will honor the DB2DBDFT registry variable content as the default database.EDITORif EDITOR is set, results of explain or native snapshots will be displayed using this command, otherwise, it will default to vi(1).db2toprc structureSectionsThe various sections of $DB2TOPRC are described here after.cpu=commandThis entry allows the user to specify a comÂ- mand which result will be displayed on the 2nd line at the right of the screen, for example:cpu=vmstat 2 2 | tail −1 | awk’{printf("%d(usr+sys)",$14+$15);}’will display ’Cpu=2(usr+sys)’ on the right ofthe screen.io=commandThis entry allows the user to specify a comÂ-mand which result will be displayed on the 2ndline at the left of the screen, for example:io=vmstat 2 2 | tail −1 | awk’{printf("%d(bi+bo)",$10+$11);}’will display ’Disk=76(bi+bo)’ on the right ofthe screen.Both commands are run in a background process andthe fields on the screen are updated asynÂ-chronously.shell alias=commandThe shell entry allows to specify a userdefined command, for example:shell M=topwill spawn top from a db2top session whenentering M. It will return to the currentscreen upon exit.function alias=commandThe function entry allows to specify a userdefined command, for example:function N=netstatwill create a new function called N that willdisplay repeteadly the output of netstat.Sample.db2toprc file## db2top configuration file# On unix, should be located in $HOME/.db2toprc# File generated by db2top−1.0h#node= # [−n] nodenamedatabase=sample # [−d] databasenameuser= # [−u] database userpassword= # [−p] user password (crypted )schema= # [−V] default schema for exp lainsinterval=2 # [−i] sampling intervalactive=OFF # [−a] display active session s only (on/off)reset=OFF # [−R] Reset snapshot at star tup (on/off)delta=ON # [−k] Toggle display of delt a/cumulative values (on/off)graphic=ON # True if terminal suppo rts semi graphical characterscolors=ON # True if terminal suppo rts colorsgraph=ON # display graph on sessi ons list (on/off)port= # Port for network colle ctionstreamsize=size # Max collection size pe r hour (eg. 1024 or 1K : K, M or G)# Command to get cpu usage information from OScpu=vmstat 2 2 | tail −1 | awk ’{printf("%d(usr+sys)0,$14+$15 );}’# Command to get IO usage information from OSio=vmstat 2 2 | tail −1 | awk ’{printf("%d(bi+bo)0,$10+$11);}’# Ordering of information in sessions screensessions=0,1,18,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20 ,21,22,23tables=0,1,2,4,3,5,6,7tablespaces=0,1,18,2,3,4,5,6,7,8bufferpools=0,1,18,2,3,4,5,6,7,8,9,10dynsql=0,1,18,2,3,4,5,6,7,8,9statements=0,1locks=0,1utilities=0federation=0,2,4# User defined commandsshell P=topfunction N=date && netstat −t tcpThe columns order screenAfter pressing c, a screen will be shown specifying theorder of the columns displayed on screen. The left partof the sceen displays the default order and column numberswhereas the right part displays the current ordering. Tochange the order of the columns, enter in the text fieldat the bottom of the screen the new column order : enterthe relative column positions as displayed on the leftseperated by comma. Not all columns need to be specified.This column ordering can be saved in $DB2TOPRC for subseÂ-quent db2top sessions by pressing w. It is possibile todefine the default sort order for this function by usingthe sort=num<a|d> syntax, where num is the column numberand <a|d> means ascending or descending.Example : tablespaces=0,1,18,2,3,4,5,6,7,8,sort=22aValid keywords for column ordering in db2toprc.sessions=tablespaces=tables=bufferpools=dynsql=statements=locks=utilities=federation=BUGSOccasionally strange information may appear when the snapÂ-shot API returns unexpected very large values. db2top willtry to display * instead of these values.COPYRIGHT Licensed Materials − Property of IBM Copyright IBM Corp. 2005 All Rights Reserved. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract wi th IBM Corp.IBM/DB2 JANUARY 2005 DB2TOP(1)Nov 10, 06 22:48Page 7/7db2top Printed by db2inst2。
最详细的db2命令,很好用
最详细的db2命令,很好用db2常用命令大全解决表挂起原因码7 状态 -668 reorg table <表名>; ********** 我已测试 okEXPORT TO D:\PRINTXML.IXF OF IXF近一年来在项目开发中使用到了IBM的DB2 9.1的数据库产品,跟Oracle相比一些命令有很大的区别,而它最大的功能是支持xml存储、检索机制,通过XPath进行解析操作,使开发人员免于对xml文件在应用进行解析处理,先对其常用命令进行一下汇总,以免遗忘。
注意:在执行如下命令时,需要首先安装db2客户端并通过在运行中输入db2cmd进行初始化一、基础篇1、db2 connect to <数据库名> --连接到本地数据库名db2 connect to <数据库名> user <用户名> using <密码> --连接到远端数据库2、 db2 force application all --强迫所有应用断开数据库连接3、db2 backup db db2name<数据库名称> to /home/db112--备份整个数据库数据到home下的db2inst1,注意:这个有版本的区别,如在linux中备份的到window系统中就恢复不了db2 restore db from /home/db112 --还原数据库4、db2 list application --查看所有连接(需要连接到具体数据库才能查看)5、db2start --启动数据库db2stop --停止数据库6、create database <数据库名> using codeset utf-8 territory CN --创建数据库使用utf-8编码7、db2 catalog 命令db2 catalog tcpip node <接点名称> remote <远程数据库地址> server <端口号> --把远程数据库映射到本地接点一般为50000db2 catalog db <远程数据库名称> as <接点名称> at node PUB11 --远程数据库名称到本地接点db2 CONNECT TO <接点名称> user <用户名> using <密码> --连接本地接点访问远程数据库8、数据库导出db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql --导出数据库的表结构,其中用户空间一般为db2admin/db2inst1db2look -d <数据库名> -u <用户> -t <表1> <表2> -e -o <脚本名称>.sql --导出数据库中表1和表2的表结构db2move <数据库名> export EXPORT TO /home/db2inst1/PRINTXML.IXF --导出数据库数据db2move <数据库名> export -tn <表1>,<表2> --导出数据库中表和表数据9、数据库导入db2 -tvf <脚本名称>.sql --把上述导出的表结构导入到数据库表结构db2move <数据库名> load -lo replace --把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉在实际使用过程中,如果用到db2自增主键,需要使用by default,而不是always,功能是一样的,但这样在数据移植时候会很方便!10、db2 connect reset 或 db2 terminate --断开与数据库的连接11、db2set db2codepage=1208 --修改页编码为120812、db2 describe table <表名> --查看表结构13、db2 list tables --查看数据库中所有表结构list tables for system --列出所有系统表14、db2 list tablespaces --列出表空间二、高级篇15、fetch first 10 rows only --列出表中前10条数据例如:select * from <表名> fetch first 10 rows only16、coalesce(字段名,转换后的值) --对是null的字段进行值转换例如:select coalesce(id,1) from <表名> --对表中id如果为null 转换成117、dayofweek(日期) --计算出日期中是周几(1是周日,2是周一.......7是周六)dayofweek_iso --计算出日期中是周几(1是周一.......7是周日)例如:dayofweek(date(2008-01-16)) --它会返回是4,代表星期三dayofweek_iso(date(2008-01-16)) --它会返回是3,代表星期三18、dayofyear(日期) --一年中的第几天,范围在1-366范围之内注意:参数中日期的格式是YYYY-MM-DD的形式,如果不是需要进行转换,否则函数不能使用例如:日期是20080116必须要进行转换dayofweek(concat(concat(concat(substr(openDate,1,4),'-'),concat(substr(openDate,5,2),'-')),substr(openDate,7,2))) as week)这样格式正确的。
db2top工具详解
Database (d)Figure 2. Database screen在数据库屏幕,db2top提供了一组对整个数据库的性能监控单元。
用户可以监视活动会话(MaxActSess),排序内存(SortMemory)和日志空间(LogUsed)。
这些监测元素可以帮助用户确定这些元素的当前使用百分比。
如果这些因素中的一个开始达到很高甚至100%时,用户应该开始调查发生了什么事。
当前时间和数据库开始时间(Start Time)相比能让我们了解数据库运行了多久。
这个值结合其他检测元素去调查那些已存在一段时间的问题是非常有用的。
锁的使用(LockUsed)和升级(LockEscals)对缩小锁定问题非常有帮助。
如果LockEscals 数量很大时,则增加LOCKLIST和MAXLOCKS数据库参数是一个好主意或者寻找那些引起这个问题的不良查询语句。
L_Reads,P_Reads和A_Reads代表逻辑读,物理读和异步读取。
结合的命中率(HitRatio)值,这些变量对于评估大多数的读取发生在存储器中还是磁盘I / O里是非常重要的。
因为磁盘的I / O比存储器存取慢得多,用户更喜欢访问在内存中的数据。
当用户看到HitRatio 下降低则可以查看缓冲池(bufferpools)是不是不够大了,或是不是有查询进行了太多的全白扫描而导致页面数据从内存洗冲到磁盘。
和读类似,A_Writes代表异步写入,这表明数据页是由异步页清洁剂之前写的缓冲池空间是必需的。
通过db2top 刷新频率这段时间内的写数量我们还能知道有多少写请求发生了。
还能计算每次写入的平均花费时间这对分析I/O瓶颈引起的一些性能问题有所帮助。
当A_Writes/Writes的比值越高则写I/O性能越高。
SortOvf代表排序溢出。
如果用户发现这个数字变为非常高,就需要寻找查询了。
排序溢出发生在SORTHEAP不足够大,导致排序(Sort)或HashJoin操作可能会溢出数据到临时空间。
数据库top的用法及应用
数据库top的用法及应用一、引言在现代信息技术发展的背景下,数据量不断增长,数据库成为存储和管理大量数据的重要工具。
而查询是数据库中常见的操作之一,通过对查询结果进行排序,可以获得特定条件下的前几条记录。
本文将介绍数据库中常用的top命令及其应用方式。
二、什么是toptop是一个在UNIX和类似操作系统上常用的命令行实用程序,它显示系统中运行的进程以及相关信息,并按照某种顺序对这些进程进行排序。
在数据库中,我们可以使用top来找出最活跃或耗时最长的查询。
三、使用top命令查找最活跃的查询1. 检查活动会话:使用top命令可以查看当前正在执行查询的会话,并按照CPU利用率、内存占用等指标进行排序。
可以通过以下命令获取第一个结果:```top -n 1 -d 1 | grep -i 'oracle@'```2. 检查SQL语句:通过检查含有活动会话信息(例如session id)、执行时间、SQL文本等关键字的结果集,我们可以了解到当前正执行哪些SQL语句以及它们所占据的资源情况。
```select s.sid, ername, sa.sql_textfrom v$sqlarea sa, v$session swhere sa.hash_value=s.sql_hash_valueorder by s.sid, sa.piece;```4. 获取查询的执行计划:对于耗时较长的查询,我们可以通过获取其执行计划来进行优化。
使用explain命令可以解析SQL语句并提供一个查询计划。
```explain select * from table_name;```四、使用top命令查找耗时最长的查询1. 监视系统性能:top命令除了可以监视活跃会话外,还可以用来监视系统整体的性能。
通过筛选出耗时最长的进程,并按照CPU或内存占用情况进行排序,我们可以找到系统中的瓶颈,并进行相应调整和优化。
```top -n 1 -o %CPU | head -n 10```2. 设置阈值:为了更方便地监控耗时最长的查询,我们可以设置一个阈值,当某个进程的执行时间超过该阈值时,则触发报警机制。
db2常用命令总结
db2命令介绍:相比图形界面而言,使用命令行的命令可以节省很多内存资源。
但是写的时候语法需要熟悉。
db2start:启动当前的DB2数据库管理实例。
db2stop:停止当前的数据库管理实例。
注:启动和关闭的是数据库管理实例,而不是单个的数据库,而restart database:并不是重新启动数据库,是平衡非正常结束而不一致状态的数据库,结束后,连接仍然存在。
db2look:能为表,索引,视图和诸如此类需要产生统计信息和数据定义语言(DDL)的对象产生需要的语句,以便重建数据库对象和/或更新统计信息。
DB2CLP下直接db2look,可看到选项。
db2move:db2移动数据的一个工具,可以在两个不同的db2数据库间移动数据,这两个DB2数据库可以在不同的服务器上,尤其是大量数据的表需要转移的情况下,非常方便。
DB2CLP下直接db2move,可看到选项。
以下命令在“db2=>;”下键入“? Command”可以看到使用。
catalog:编目数据库或节点uncatalog:删除已经编目的数据库或节点这一对命令其实就实现了客户机配置辅助程序编目数据库的功能。
update:功能是更新数据库/数据库管理器配置参数,更新命令行处理器设置和监控器的开关等。
connect:连接到一个数据库。
注:习惯显式的关闭连接。
attach:建立一个到实例的连接,执行实例级别的管理。
list:显示一些数据库对象或者设置的相关信息get:获取一些数据库参数的设置和状态runstats:运行统计,更新系统目录表中的信息。
backup:备份数据库1、防止意外数据丢失或系统意外2、重定向恢复实现整个数据库的迁移3、AIX下的备份需要指定with n buffers 和 buffer sizerestore:还原数据库注:操作系统相同才可进行备份和恢复force application:强行关闭应用程序或者连接导入导出数据:文件格式:DEL:界定的ASCII文件,行分隔符和列分隔符将数据分开。
DB2数据移动工具介绍.ppt
message-file] {select-statement | XQUERY xquery-statement | HIERARCHY {STARTING sub-table-name | (sub-table-name [{, sub-table-name} ...])} [WHERE ...] }
2020/4/9
2
export
• 语法:
EXPORT TO filename OF {IXF | DEL | WSF} [LOBS TO lob-path [ {,lob-path} ... ] ][LOBFILE lob-file [ {,lob-
file} ... ] ] [XML TO xml-path [ {,xml-path} ... ] ][XMLFILE filename
2020/4/9
6
• Import示例
ame.ixf of ixf commitcount 50000 insert into tabname
import from filename.ixf of ixf create into tabname
import from artexprt of ixfmessages artmsg create into artists [(column_list)] in <tablespace> index in <indextablespace> long in <largetablespace>
db2top工具详解(翻译)
Database (d)Figure 2. Database screen在数据库屏幕,db2top提供了一组对整个数据库的性能监控单元。
用户可以监视活动会话(MaxActSess),排序存(SortMemory)和日志空间(LogUsed)。
这些监测元素可以帮助用户确定这些元素的当前使用百分比。
如果这些因素中的一个开始达到很高甚至100%时,用户应该开始调查发生了什么事。
当前时间和数据库开始时间(Start Time)相比能让我们了解数据库运行了多久。
这个值结合其他检测元素去调查那些已存在一段时间的问题是非常有用的。
锁的使用(LockUsed)和升级(LockEscals)对缩小锁定问题非常有帮助。
如果LockEscals 数量很大时,则增加LOCKLIST和MAXLOCKS数据库参数是一个好主意或者寻找那些引起这个问题的不良查询语句。
L_Reads,P_Reads和A_Reads代表逻辑读,物理读和异步读取。
结合的命中率(HitRatio)值,这些变量对于评估大多数的读取发生在存储器中还是磁盘I / O里是非常重要的。
因为磁盘的I / O比存储器存取慢得多,用户更喜欢访问在存中的数据。
当用户看到HitRatio下降低则可以查看缓冲池(bufferpools)是不是不够大了,或是不是有查询进行了太多的全白扫描而导致页面数据从存洗冲到磁盘。
和读类似,A_Writes代表异步写入,这表明数据页是由异步页清洁剂之前写的缓冲池空间是必需的。
通过db2top 刷新频率这段时间的写数量我们还能知道有多少写请求发生了。
还能计算每次写入的平均花费时间这对分析I/O瓶颈引起的一些性能问题有所帮助。
当A_Writes/Writes的比值越高则写I/O性能越高。
SortOvf代表排序溢出。
如果用户发现这个数字变为非常高,就需要寻找查询了。
排序溢出发生在SORTHEAP不足够大,导致排序(Sort)或HashJoin操作可能会溢出数据到临时空间。
dbtop工具详解翻译
Database (d)Figure 2. Database screen在数据库屏幕,db2top提供了一组对整个数据库的性能监控单元。
用户可以监视活动会话(MaxActSess),排序内存(SortMemory)和日志空间(LogUsed)。
这些监测元素可以帮助用户确定这些元素的当前使用百分比。
如果这些因素中的一个开始达到很高甚至100%时,用户应该开始调查发生了什么事。
当前时间和数据库开始时间(Start Time)相比能让我们了解数据库运行了多久。
这个值结合其他检测元素去调查那些已存在一段时间的问题是非常有用的。
锁的使用(LockUsed)和升级(LockEscals)对缩小锁定问题非常有帮助。
如果LockEscals数量很大时,则增加LOCKLIST和MAXLOCKS数据库参数是一个好主意或者寻找那些引起这个问题的不良查询语句。
L_Reads,P_Reads和A_Reads代表逻辑读,物理读和异步读取。
结合的命中率(HitRatio)值,这些变量对于评估大多数的读取发生在存储器中还是磁盘I / O里是非常重要的。
因为磁盘的I / O比存储器存取慢得多,用户更喜欢访问在内存中的数据。
当用户看到HitRatio下降低则可以查看缓冲池(bufferpools)是不是不够大了,或是不是有查询进行了太多的全白扫描而导致页面数据从内存洗冲到磁盘。
和读类似,A_Writes代表异步写入,这表明数据页是由异步页清洁剂之前写的缓冲池空间是必需的。
通过db2top 刷新频率这段时间内的写数量我们还能知道有多少写请求发生了。
还能计算每次写入的平均花费时间这对分析I/O瓶颈引起的一些性能问题有所帮助。
当A_Writes/Writes的比值越高则写I/O性能越高。
SortOvf代表排序溢出。
如果用户发现这个数字变为非常高,就需要寻找查询了。
排序溢出发生在SORTHEAP不足够大,导致排序(Sort)或HashJoin 操作可能会溢出数据到临时空间。
DB2的命令行工具
DB2UDB 命令行工具DB2UDB 命令行工具是DB2UDB 的组件,这些工具支持对DB2命令以及 SQL 语句的处理。
在Windows 上可使用三种命令行工具:DB2命令中心(Command Center)DB2命令行处理器(CLP)DB2命令窗口您可以通过单击Start -> Programs -> IBM DB2-> Command Line Tools找到这些工具。
DB2命令中心第一个命令行工具是DB2命令中心(图1),它提供一个处理命令和SQL 语句的GUI。
您可以用交互方式或脚本(批处理)方式工作,或者将两种方式结合使用。
通过单击Start -> Programs -> IBM DB2-> Command Line Tools -> Command Center启动DB2命令中心。
图 1. DB2命令中心图1是DB2命令中心的抓屏。
在本例中,我们导入了如清单1所示的样本DB2备份脚本。
您可以通过从Script菜单选择Import来导入脚本。
DB2命令行处理器(CLP)一般而言,可以把DB2命令行处理器(CLP)当作用于调用DB2命令的DB2提示符DB2=>,就象Windows 命令提示符 C:用于调用操作系统命令一样。
也可以从任一DB2命令行工具调用DB2系统命令(稍后讨论)和操作系统命令,只要在命令前加一个感叹号!即可。
图2显示了DB2CLP 以及关于如何获取DB2命令帮助的一些基本信息。
单击Start -> Programs -> IBM DB2-> Command Line Tools -> Command Line Processor,启动DB2CLP。
图 2. DB2命令行处理器要了解有关DB2UDB V8.1 中DB2CLP 新增功能的更多信息,请阅读Paul C. Zikopoulos 撰写的DB2开发者园地文章定制DB2通用数据库命令行处理器。
DB2(常用工具)具体实用
题目:1、熟练使用db2look工具导出数据库结构2、使用db2pd监控表空间、锁的使用情况3、使用db2mtrk 检查数据库内存的分配情况4、练习使用db2top工具5、使用db2batch测试SQL语句的性能解答:1、熟练使用db2look工具导出数据库结构[myinst@ye ~]$ db2look -d mydb3 -l -e -o mydb3.dll-- No userid was specified, db2look tries to use Environment variable USER-- USER is: MYINST-- Creating DDL for table(s)-- Output is sent to file: mydb3.dll-- Binding package automatically ...-- Bind is successful-- Binding package automatically ...-- Bind is successful2、使用db2pd监控表空间、锁的使用情况#db2pd监控表空间[myinst@ye ~]$ db2pd -db mydb3 -tablespaceDatabase Member 0 -- Database MYDB3 -- Active -- Up 0 days 00:29:31 -- Date2015-08-24-11.36.10.344000Tablespace Configuration:Address Id Type Content PageSz ExtentSz Auto Prefetch BufID BufIDDisk FSC NumCntrs MaxStripe LastConsecPg RSE Name0x00007F9AC71E0080 0 DMS Regular 32768 4 Yes 4 1 1 Off 1 0 3 Yes SYSCATSPACE0x00007F9AC71ED220 1 SMS SysTmp 32768 32 Yes 32 1 1 On 1 0 31 No TEMPSPACE10x00007F9AC71FA3C0 2 DMS Large 32768 32 Yes 32 1 1 Off 1 0 31 Yes USERSPACE10x00007F9AC7207560 3 DMS Large 32768 4 Yes 4 1 1 Off 1 0 3 Yes SYSTOOLSPACE0x00007F9AC7214700 4 DMS Large 32768 32 Yes 32 2 2 Off 1 0 31 Yes MYSPACE3Tablespace Statistics:Address Id TotalPgs UsablePgs UsedPgs PndFreePgs FreePgs HWMMax HWM State MinRecTime NQuiescers PathsDropped TrackmodState0x00007F9AC71E0080 0 7168 7164 6880 0 284 68806880 0x00000000 0 0 No n/a0x00007F9AC71ED220 1 1 1 1 0 0 - - 0x00000000 0 0 No n/a0x00007F9AC71FA3C0 2 1024 992 96 0 896 9696 0x00000000 0 0 No n/a0x00007F9AC7207560 3 1024 1020 80 0 940 8080 0x00000000 0 0 No n/a0x00007F9AC7214700 4 1024 992 352 0 640 352352 0x00000000 1439886641 0 No n/aTablespace Autoresize Statistics:Address Id AS AR InitSize IncSize IIP MaxSize LastResize LRF0x00007F9AC71E0080 0 Yes Yes 33554432 -1 No None None No0x00007F9AC71ED220 1 Yes No 0 0 No 0 None No0x00007F9AC71FA3C0 2 Yes Yes 33554432 -1 No None None No0x00007F9AC7207560 3 Yes Yes 33554432 -1 No None None No0x00007F9AC7214700 4 Yes Yes 33554432 -1 No None None NoTablespace Storage Statistics:Address Id DataTag Rebalance SGID SourceSGID0x00007F9AC71E0080 0 0 No 0 -0x00007F9AC71ED220 1 0 No 0 -0x00007F9AC71FA3C0 2 -1 No 0 -0x00007F9AC7207560 3 -1 No 0 -0x00007F9AC7214700 4 -1 No 0 -Containers:Address TspId ContainNum Type TotalPgs UseablePgs PathID StripeSetContainer0x00007F9AC1270580 0 0 File 7168 7164 0 0/www/db2/db2test/myinst/NODE0000/MYDB3/T0000000/C0000000.CAT0x00007F9AC1270C60 1 0 Path 1 1 0 0/www/db2/db2test/myinst/NODE0000/MYDB3/T0000001/C0000000.TMP0x00007F9AC1268A20 2 0 File 1024 992 0 0/www/db2/db2test/myinst/NODE0000/MYDB3/T0000002/C0000000.LRG0x00007F9AC1269A00 3 0 File 1024 1020 0 0/www/db2/db2test/myinst/NODE0000/MYDB3/T0000003/C0000000.LRG0x00007F9AC126AA00 4 0 File 1024 992 0 0/www/db2/db2test/myinst/NODE0000/MYDB3/T0000004/C0000000.LRG#db2pd监控锁的使用情况[myinst@ye ~]$ db2pd -db mydb3 -lockDatabase Member 0 -- Database MYDB3 -- Active -- Up 0 days 00:23:26 -- Date2015-08-24-11.30.05.926325Locks:Address TranHdl Lockname Type Mode Sts Owner Dur HoldCount Att ReleaseFlg rrIID3、使用db2mtrk 检查数据库内存的分配情况#显示数据库的内存分配情况的详细信息[myinst@ye ~]$ db2mtrk -d -vTracking Memory on: 2015/08/24 at 12:12:36Memory for database: MYDB3Backup/Restore/Util Heap is of size 262144 bytesPackage Cache is of size 2293760 bytesOther Memory is of size 196608 bytesCatalog Cache Heap is of size 720896 bytesBuffer Pool Heap (2) is of size 34078720 bytesBuffer Pool Heap (1) is of size 75300864 bytesBuffer Pool Heap (System 32k buffer pool) is of size 1835008 bytesBuffer Pool Heap (System 16k buffer pool) is of size 1572864 bytesBuffer Pool Heap (System 8k buffer pool) is of size 1441792 bytesBuffer Pool Heap (System 4k buffer pool) is of size 1376256 bytesShared Sort Heap is of size 1310720 bytesLock Manager Heap is of size 53936128 bytesDatabase Heap is of size 107085824 bytesApplication Heap (15) is of size 65536 bytesApplication Heap (14) is of size 65536 bytesApplication Heap (13) is of size 65536 bytesApplication Heap (12) is of size 196608 bytesApplication Heap (11) is of size 65536 bytesApplication Heap (10) is of size 65536 bytesApplication Heap (9) is of size 131072 bytesApplication Heap (8) is of size 131072 bytesApplications Shared Heap is of size 917504 bytesTotal: 283115520 bytes#显示数据库的内存使用情况[myinst@ye ~]$ db2mtrk -dTracking Memory on: 2015/08/24 at 12:14:16Memory for database: MYDB3utilh pckcacheh other catcacheh bph (2) bph (1) 256.0K 2.2M 192.0K 704.0K 32.5M 71.8Mbph (S32K) bph (S16K) bph (S8K) bph (S4K) shsorth lockh 1.8M 1.5M 1.4M 1.3M 1.2M 51.4Mdbh apph (15) apph (14) apph (13) apph (12) apph (11) 102.1M 64.0K 64.0K 64.0K 192.0K 64.0Kapph (10) apph (9) apph (8) appshrh64.0K 128.0K 128.0K 896.0K#显示当前实例的内存使用情况[myinst@ye ~]$ db2mtrk -iTracking Memory on: 2015/08/24 at 12:15:10Memory for instanceother fcmbp monh51.2M 832.0K 512.0K#显示当前实例的内存使用的详细信息[myinst@ye ~]$ db2mtrk -i -vTracking Memory on: 2015/08/24 at 12:15:18Memory for instanceOther Memory is of size 53739520 bytesFCMBP Heap is of size 851968 bytesDatabase Monitor Heap is of size 524288 bytesTotal: 55115776 bytes4、练习使用db2top工具[myinst@ye ~]$ db2top -d mydb3按快捷键“d”,转至数据库屏幕按快捷键“D”,转至动态SQL 屏幕按快捷键“u”,显示活动的实用程序,并且跨数据库分区将它们聚集起来按快捷键“l”,转至会话屏幕按快捷键“t”,转至表空间屏幕5、使用db2batch测试SQL语句的性能[myinst@ye ~]$ cat sample.sqlselect * from mydb3.emp;[myinst@ye ~]$ db2batch -d mydb3 -f sample.sql* Timestamp: Mon Aug 24 2015 13:53:24 CST---------------------------------------------* SQL Statement Number 1:select * from mydb3.emp;** CLI error in preparing the SQL statement:(-204): [IBM][CLI Driver][DB2/LINUXX8664] SQL0204N "MYDB3.EMP" is an undefined name. SQLSTATE=42704* Elapsed Time is: 0.000000 seconds* Summary Table:Type Number Repetitions Total Time (s) Min Time (s) Max Time (s) Arithmetic Mean Geometric Mean Row(s) Fetched Row(s) Output--------- ----------- ----------- -------------- -------------- -------------- --------------- -------------- -------------- -------------Statement 1 1 0.000000 0.000000 0.000000 0.000000 0.000000 0 0* Total Entries: 1* Total Time: 0.000000 seconds* Minimum Time: 0.000000 seconds* Maximum Time: 0.000000 seconds* Arithmetic Mean Time: 0.000000 seconds* Geometric Mean Time: 0.000000 seconds---------------------------------------------* Timestamp: Mon Aug 24 2015 13:53:24 CST#获得更多信息[myinst@ye ~]$ db2batch -d mydb3 -f sample.sql -o r 0 p 2* Timestamp: Mon Aug 24 2015 13:54:30 CST---------------------------------------------* SQL Statement Number 1:select * from mydb3.emp;** CLI error in preparing the SQL statement:(-204): [IBM][CLI Driver][DB2/LINUXX8664] SQL0204N "MYDB3.EMP" is an undefined name. SQLSTATE=42704* Elapsed Time is: 0.000000 secondsMonitoring InformationInstance name = myinstNode name =Node type = Enterprise Server Edition with local and remote clientsSnapshot timestamp = 08/24/2015 13:54:30.306349Application SnapshotApplication handle = 229Application status = UOW WaitingStatus change time = 08/24/2015 13:54:30.301560Application code page = 1208Application country/region code = 1DUOW correlation token = *LOCAL.myinst.150824055430 Application name = db2batchApplication ID = *LOCAL.myinst.150824055430Sequence number = 00002TP Monitor client user ID =TP Monitor client workstation name = TP Monitor client application name = DB2BATCHTP Monitor client accounting string =CONNECT Authorization ID = MYINSTClient login ID = myinstConfiguration NNAME of client = Client database manager product ID = SQL10055Process ID of client application = 7007Platform of client application = LINUXAMD64Communication protocol of client = Local ClientDatabase name = MYDB3Database path = /www/db2/db2test/myinst/NODE0000/SQL00001/MEMBER0000/Client database alias = MYDB3Input database alias =The highest authority level granted =Direct DBADM authorityDirect SECADM authorityIndirect SYSADM authorityIndirect CREATETAB authorityIndirect BINDADD authorityIndirect CONNECT authorityIndirect IMPLICIT_SCHEMA authorityCoordinator member number = 0Coordinator agent process or thread ID = 56Agents associated with the application = 1Connection request start timestamp = 08/24/2015 13:54:30.292632Connect request completion timestamp = 08/24/2015 13:54:30.293070Application idle time = 0Inbound communication address = *LOCAL.myinstLast reset timestamp = 08/24/2015 13:54:30.300279Agents stolen = 0Agents waiting on locks = 0Maximum associated agents = 1Priority at which application agents work = 0Priority type = DynamicLocks held by application = 0Lock waits since connect = 0Time application waited on locks (ms) = 0 Deadlocks detected = 0 Lock escalations = 0 Exclusive lock escalations = 0 Number of Lock Timeouts since connected = 0 Total time UOW waited on locks (ms) = 0Total sorts = 0 Total sort time (ms) = 0 Total sort overflows = 0Buffer pool data logical reads = 0 Buffer pool data physical reads = 0 Buffer pool temporary data logical reads = 0 Buffer pool temporary data physical reads = 0 Buffer pool data writes = 0 Buffer pool index logical reads = 1 Buffer pool index physical reads = 0 Buffer pool temporary index logical reads = 0 Buffer pool temporary index physical reads = 0 Buffer pool index writes = 0 Buffer pool xda logical reads = 0 Buffer pool xda physical reads = 0 Buffer pool temporary xda logical reads = 0 Buffer pool temporary xda physical reads = 0 Buffer pool xda writes = 0 Total buffer pool read time (milliseconds) = 0Total buffer pool write time (milliseconds)= 0Time waited for prefetch (ms) = 0 Unread prefetch pages = 0 Direct reads = 0 Direct writes = 0 Direct read requests = 0 Direct write requests = 0 Direct reads elapsed time (ms) = 0 Direct write elapsed time (ms) = 0Number of SQL requests since last commit = 0 Commit statements = 1 Rollback statements = 0 Dynamic SQL statements attempted = 0 Static SQL statements attempted = 1 Failed statement operations = 0 Select SQL statements executed = 0Xquery statements executed = 0Update/Insert/Delete statements executed = 0DDL statements executed = 0Internal automatic rebinds = 0Internal rows deleted = 0Internal rows inserted = 0Internal rows updated = 0Internal commits = 0Internal rollbacks = 0Internal rollbacks due to deadlock = 0Binds/precompiles attempted = 0Rows deleted = 0Rows inserted = 0Rows updated = 0Rows selected = 0Rows read = 0Rows written = 0UOW log space used (Bytes) = 0Previous UOW completion timestamp = 08/24/2015 13:54:30.293070 Elapsed time of last completed uow (sec.ms)= 0.005268UOW start timestamp = 08/24/2015 13:54:30.296285 UOW stop timestamp = 08/24/2015 13:54:30.301553 UOW completion status = Committed - Commit StatementOpen remote cursors = 0Open remote cursors with blocking = 0Rejected Block Remote Cursor requests = 0Accepted Block Remote Cursor requests = 1Open local cursors = 0Open local cursors with blocking = 0Total User CPU Time used by agent (s) = 0.001037Total System CPU Time used by agent (s) = 0.000000Host execution elapsed time = 0.000845Package cache lookups = 1Package cache inserts = 0Application section lookups = 1Application section inserts = 0Catalog cache lookups = 1Catalog cache inserts = 0Catalog cache overflows = 0Catalog cache heap full = 0Catalog cache high water mark = 0Number of hash joins = 0Number of hash loops = 0Number of hash join overflows = 0Number of small hash join overflows = 0Statement type = Static SQL Statement Statement = Static CommitSection number = 0Application creator =Package name =Consistency Token =Cursor name =Statement member number = 0Statement start timestamp = 08/24/2015 13:54:30.301498 Statement stop timestamp = 08/24/2015 13:54:30.301553 Elapsed time of last completed stmt(sec.ms)= 0.000055Total Statement user CPU time = 0.000052Total Statement system CPU time = 0.000000SQL compiler cost estimate in timerons = 0SQL compiler cardinality estimate = 0Degree of parallelism requested = 1Number of agents working on statement = 1Number of subagents created for statement = 1Statement sorts = 0Total sort time = 0Sort overflows = 0Rows read = 0Rows written = 0Internal rows deleted = 0Internal rows updated = 0Internal rows inserted = 0Rows fetched = 0Buffer pool data logical reads = 0Buffer pool data physical reads = 0Buffer pool temporary data logical reads = 0Buffer pool temporary data physical reads = 0Buffer pool index logical reads = 0Buffer pool index physical reads = 0Buffer pool temporary index physical reads = 0Buffer pool xda logical reads = 0Buffer pool xda physical reads = 0Buffer pool temporary xda logical reads = 0Buffer pool temporary xda physical reads = 0Blocking cursor = NOAgent process/thread ID = 56Memory usage for application:Node number = 0Memory Pool Type = Other MemoryCurrent size (bytes) = 196608High water mark (bytes) = 327680Configured size (bytes) = 1868365824* Summary Table:Type Number Repetitions Total Time (s) Min Time (s) Max Time (s) Arithmetic Mean Geometric Mean Row(s) Fetched Row(s) Output--------- ----------- ----------- -------------- -------------- -------------- --------------- -------------- -------------- -------------Statement 1 1 0.000000 0.000000 0.000000 0.000000 0.000000 0 0* Total Entries: 1* Total Time: 0.000000 seconds* Minimum Time: 0.000000 seconds* Maximum Time: 0.000000 seconds* Arithmetic Mean Time: 0.000000 seconds* Geometric Mean Time: 0.000000 seconds---------------------------------------------* Timestamp: Mon Aug 24 2015 13:54:30 CST。
db2pd与db2top管理
登录后才能查看或发表评论立即登录或者逛逛博客园首页
db2pd与 db2top管理
db2 describe table sysibmadm.admintabinfo db2 list applications 查看使用 db2 list db directory 查看所有数据库 db2 list tables for schema syscat db2 describe table syscat.INDEXES db2 get db cfg for cmbcepay db2 list utilities show detail db2 list history backup all for cmbcepay
db2diag -f
db2top -d cmbcepay 交互平台获取动态系统 db2top -d cmbcepay -i 5
496 db2 force application all 497 db2 list applications 498 db2 connect to cmbcepay 506 db2 alter bufferpool IBMDEFAULTBP immediate size 10000 507 db2 list applications 508 db2 alter bufferpool IBMDEFAULTBP immediate size 10000 509 db2 force applications 510 db2 force applcations 511 db2 force application all db2 alter bufferpool IBMDEFAULTBP immediate size 10000 db2stop db2 list applications db2stop force db2start db2 alter bufferpool CMBCEPAYPOOL immediate size 15000 db2 alter bufferpool GWBP immediate size 10000 db2 alter bufferpool TMP01_BUF immediate size 5000 db2 alter bufferpool IBMDEFAULTBP immediate size 30000 db2pd -d cmbcepay -buff db2 connect to cmbcepay db2 list applications db2 get db cfg db2 update db cfg using maxlocks 20 db2 get db cfg show detail db2pd -d cmbcepay -wlocks
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Database (d)Figure 2. Database screen在数据库屏幕,db2top提供了一组对整个数据库的性能监控单元。
用户可以监视活动会话(MaxActSess),排序内存(SortMemory)和日志空间(LogUsed)。
这些监测元素可以帮助用户确定这些元素的当前使用百分比。
如果这些因素中的一个开始达到很高甚至100%时,用户应该开始调查发生了什么事。
当前时间和数据库开始时间(Start Time)相比能让我们了解数据库运行了多久。
这个值结合其他检测元素去调查那些已存在一段时间的问题是非常有用的。
锁的使用(LockUsed)和升级(LockEscals)对缩小锁定问题非常有帮助。
如果LockEscals 数量很大时,则增加LOCKLIST和MAXLOCKS数据库参数是一个好主意或者寻找那些引起这个问题的不良查询语句。
L_Reads,P_Reads和A_Reads代表逻辑读,物理读和异步读取。
结合的命中率(HitRatio)值,这些变量对于评估大多数的读取发生在存储器中还是磁盘I / O里是非常重要的。
因为磁盘的I / O比存储器存取慢得多,用户更喜欢访问在内存中的数据。
当用户看到HitRatio 下降低则可以查看缓冲池(bufferpools)是不是不够大了,或是不是有查询进行了太多的全白扫描而导致页面数据从内存洗冲到磁盘。
和读类似,A_Writes代表异步写入,这表明数据页是由异步页清洁剂之前写的缓冲池空间是必需的。
通过db2top 刷新频率这段时间内的写数量我们还能知道有多少写请求发生了。
还能计算每次写入的平均花费时间这对分析I/O瓶颈引起的一些性能问题有所帮助。
当A_Writes/Writes的比值越高则写I/O性能越高。
SortOvf代表排序溢出。
如果用户发现这个数字变为非常高,就需要寻找查询了。
排序溢出发生在SORTHEAP不足够大,导致排序(Sort)或HashJoin操作可能会溢出数据到临时空间。
有时该值随着SORTHEAP增加而降低,但在其他情况下,可能没有多大帮助,如果进行排序的数据集比可分配给SORTHEAP内存大得多。
如果请求的数据量超过缓冲池可容纳的临时空间大小那么就可能需要物理I/O来进行SORT或哈希链接在这种情况下排序溢出将是很大的瓶颈。
因此优化查询来减少排序溢出的数量能显著提高系统的性能。
在数据库屏幕的最后四个条目显示的平均物理读取时间(AvgPRdTime),平均直接读取时间(AvgDRdTime),物理平均写入时间(AvgPWrTime)和平均直接写入时间(AvgDWrTime)。
这四个项目直接反映I/ O子系统性能。
如果用户发现一个意想不到的大量的时间花费在每个读或写操作,进一步的调查应到I/ O子系统。
正常情况下,DB2 排序发生在内存中,这块内存叫做排序堆,即 SORTHEAP。
当需要排序的数据超出 SORTHEAP 大小限制时,就会发生排序溢出。
溢出的数据会写到临时表中,这会产生更多的 I/O,因此对性能会有较大影响。
Tablespace (t)Figure 3. Tablespace screen表空间屏幕提供每个表空间的详细信息。
Hit Ratio%和Async Reads%列对用户来说是非常重要的。
在数据库级别仅仅监视缓冲池命中率,你可能无法获得足够精确的信息。
在包含多个表空间的环境中,在一个表空间中发生了不良查询现象会被所有表空间平均命中率遮蔽。
在每个表空间级别上监测Hit Ratio%和Async Reads%对于分析系统工作细节很有帮助。
Delta逻辑读取(写)和Delta物理读取(写)(Delta 逻辑读(写入)和Delta 物理读(写入))说明这些表空间如何“忙”的。
一些不太活跃的表空间可能不具有非常高的缓冲命中率。
在大多数情况下最好使用活动性更大的表空间。
想要左右滚动屏幕可以使用键盘上的左,右箭头键。
所有的列信息不能在一个屏幕上显示可以通过按下左或右箭头键来查看。
Space Used,Total Size和% full能够很方便的查看各表空间的使用率情况,还能从其他列信息中查看表空间类型是DMS还是SMS。
Dynamic SQL (D)Figure 4. Dynamic SQL screen动态SQL屏幕提供缓存的SQL语句的详细信息。
用户可以再此屏幕对特定SQL语句产生执行计划(DB2EXPLN)和(db2exfmt)。
执行数量(Num Execution)和平均执行时间(Avg ExecTime)可以用来了解查询语句执行了多少次和平均运行时间。
通过平均CPU时间(Avg CpuTime)与平均执行时间(Avg ExecTime)比较能看出执行时间花费在CPU上还是花在了等待锁或I/O上。
行读取(Row read)和行写入(Row written)能够明白查询的行为。
例如,如果用户看到一个SELECT查询语句关联了大量的写,这可能表明该查询可能会有排序(哈希联接)溢出而且需要进一步调整来以避免数据溢出临时空间。
数据,索引的Hit ratio(命中率%)和临时l_reads来帮助用户轻松解决缓冲池大小是否需要调整。
(AvgSort PerExec)和排序时间能计算出在一次执行期间进行了多少排序。
db2top实用程序还提供了产生DB2EXPLN或db2exfmt报告功能而无需手动运行该命令。
通过动态SQL屏幕上输入一个大写L,它会提示你输入一个SQL字符串哈希。
SQL散列字符串位于表中的第一列,例如“00000005429283.”用户可以复制该字符串并将其粘贴到光标提示处,按下Enter键,如图5:Figure 5. Dynamic SQL screen -- Query text然后,选择e选项生成DB2EXPLN输出,或者选择x选项生成db2exfmt输出如果已经导入到数据库中。
Session (l)Figure 6. Session screen会话屏幕提供每个应用程序会话的详细信息。
第一列显示了应用句柄,下面三列:CPU%总计,IO%总计,MEM%总计表示本应用消耗资源的百分比。
在大多数情况下,每个会话表示一个连接。
在这些列之后还显示了应用状态,以及一些统计数据读写的列。
用户还可以看到LocksHeld,Sort(sec),LogUsed信息在此屏幕上。
当事务日志耗尽空间时LogUsed信息就很有帮助了。
通过使用这种显示器的个监控元素,用户可以得到一些想法那些应用程序消耗大部分日志空间。
虽然会话屏幕上的信息和数据库屏幕上的信息差不多,但是会话屏幕上的信息为每个应用程序的。
做性能分析要结合不同的屏幕。
例如,当一些读问题显示在数据库屏幕上时可以进一步通过查看会话屏和动态SQL画面上以缩小它的特定应用程序或SQL。
在session屏幕按i查找哪些正在等待Lock的应用Bufferpool (b)Figure 7. Bufferpool screen在此屏幕上,db2top提供了每个缓冲池的信息。
用户可以看到的一些缓冲池的基本信息,如读,写,和大小,还可以看到其他信息,如缓冲池命中率%和异步读取%率。
Lock (U)Figure 8. Lock screen一个锁定的问题是应用程序诊断中最常见的问题之一。
通过db2top,用户可以很容易地列出了应用程序持有的锁。
使用db2top也更容易分析锁等待的问题。
下面图9,10和11显示其中一个db2bp应用程序正在等待另一db2bp会话。
Figure 9. Lock waiting -- Application status在图9中,两代理(代理24和代理9)处于第一列:Agent Id(state)。
你可以看到,在第三列(应用状态)其中一个代理(代理24)被卡在锁等待状态。
Figure 10. Lock waiting -- Lock status如果用户希望看到更多信息,请按键盘上的左箭头,如图10。
Figure 11. Lock waiting -- Table name在这个特殊的例子中,如图11看到的那样,代理24试图去请求表上的S锁,但是它被拥有T1表IX锁的代理9锁定。
db2to在此屏幕提供了另一个非常有用的功能:锁链分析。
并不总是容易弄清楚锁等待的关系,如果有多个应用程序涉及。
db2top实用程序提供了一个有用的特性来动态绘制锁链,使其更容易为用户了解应用程序之间的锁定关系。
通过输入大写L,显示锁链。
就像图12显示的这样:Figure 12. Lock waiting -- Lock chainTable (T)Figure 13. Table screen表屏幕显示数据库中的表的信息。
一段时间中没有访问的表显示为白色。
正在存取(活跃)表显示绿色。
有关于表本身的信息。
列中的数据页(Data pages)和索引页(Index pages)代表多少页在表中。
表类型和表大小也是表的很重要的属性。
另一个重要的列是行溢出/秒(Rows Overflows/s),这表明每秒行溢出的数量。
溢出的行表明发生数据碎片。
如果这个数字很高,用户应该使用REORG实用程序,清理这种碎片重组表提高表的性能。
Bottlenecks (B)Figure 14. Bottlenecks瓶颈分析对于一个DBA来说是不能忽视。
他们想知道哪个代理(应用)严重地限制了整个系统的性能。
标题“瓶颈”右下角的方框是关于各种数据库操作的时序分析:The elapsed time used to calculate the percentage of each operation = (wait_lock_time + sort_time + bp_read_time + bp_write_time + async_read_time + async_write_time + prefetch_waite_time + direct_read_time + direct_write_time).以下为每个操作所估计的百分比:wait lock ms: (wait lock time)/(elapsed time) = 80%sort ms : (sort time)/(elapsed time) = 0bp r/w ms: (buffer pool read and write time)/(elapsed time) = 10%async r/w ms: (async read and write)/(elapsed time) = 6%pref wait ms: (prefetch_waite_time)/(elapsed time) = 2%dir r/w ms: (direct read and write time)/(elapsed time) = 2%这个屏幕的主要显示部分为对于每一种系统资源哪个agent(应用)占用最大屏幕上显示的服务器资源显示db2top所监控的服务器资源:Cpu: Which agent consumes the most CPU time.SessionCpu: Which application session consumes the most CPU time.IO r/w: Which agent consumes the most I/O read and write.Memory: Which agent consumes the most memory.Lock: Which agent is holding the most locks.Sorts: Which agent has executed the biggest number of sorting.Sort Times: Which agent consumes the longest sorting time.Log Used: Which agent consumes the most log space in the most recent unit of work.Overflows: Which agent has the most number of sort overflows.RowsRead: Which agent has read the most number of rows of records.RowsWritten: Which agent has written the most number of rows of records.TQ r/w: Which agent has sent and received most number of rows on table queues.MaxQueryCost: Which agent has the max SQL execution time estimated by the compiler.XDAPages: Which agent has the most number of pages for XDA data (available in and after releases).例如:图14示出了代理683表明db2bp(DB2 back end process)是很明显的瓶颈。