`
zzxanadu
  • 浏览: 71045 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DB2常用命令大全(待续)

    博客分类:
  • DB2
阅读更多

DB2命令大全

1DB2命令大全

1.1查看表空间

db2 list tablespaces show detail

 1.2查看数据库的表死锁

方法一:

打开监控   db2 update monitor switches using lock on

查看锁表  db2 get snapshot for locks on 数据库名称

db2 "force application (handle id)"

停止锁的进程

List Of Locks   #在application handle紧跟后面出现list of locks表明该application handle 锁了表或对象

 Lock Name                = 0x030039020DFF11000000000052

 Lock Attributes             = 0x00000000

 Release Flags               = 0x00000004

 Lock Count                  = 1

 Hold Count                  = 0

 Lock Object Name            = 1163533    #被锁对象名称

 Object Type                 = Row        #被锁对象类型

 Tablespace Name             = tbs_data    #被锁对象所在的表空间

 Table Schema                = DB2INST1

 Table Name                  = t_mytable1   #被锁的表名

 Mode                        = X

  

方法二:

使用select agent_id,tabname,lock_mode from table(snap_get_lock('dbname')) as aa

查看:进程hander,表名,锁模式

 

 1.3查看和更改快照参数

  db2 get monitor switches

 

监控开关 数据库管理器参数 注释

  BUFFERPOOL DFT_MON_BUFPOOL 缓冲区的读写情况和发生时间

  LOCK DFT_MON_LOCK 锁持有,锁等待,以及死锁的发生情况

  SORT DFT_MON_SORT Heap的使用情况,排序性能

  STATEMENT DFT_MON_STMT 语句起始时间,语句内容

  TABLE DFT_MON_TABLE Measure of activity (rows read/written)

  UOW DFT_MON_UOW Start/end times, completion status

  TIMESTAMP DFT_MON_TIMESTAMP Timestamps

为了观察快照中的锁和执行语句情况,一般把LOCKSTATEMENT选项设为ON,也可以酌情把其他开关打开,示例如下: db2 update monitor switches using lock on statement on

1.4查看和更改与锁相关的主要配置参数

CLP方式:

  db2 get db cfg

  在参数列表中寻找DLCHKTIMELOCKTIMEOUT两个参数。

  -DLCHKTIME 单位是毫秒,是DB2检查死锁的间隔时间,假设该值为10000ms,则意味着每隔10秒钟检查一下当前数据库中有无死锁存在,如有死锁,会选择回滚其中的某一个事务,让另外一个事务完成交易。

  -LOCKTIMEOUT单位是秒,是锁等待最长时间,超过该时间仍未获得锁,则返回错误。

  设置提示:

  -缺省情况下,LOCKTIMEOUT-1,意味着锁等待时间无限期,这和实际应用需求一般是不太相符的,需要将其值设为大于0的一个数。

  -DLCHKTIME时间通常要设得比LOCKTIMEOUT时间小一些,否则未等发现死锁,就会被以锁等待超时而返回错误。

  更改示例(CLP方式)

  db2 update db cfg using locktimeout 10

1.5查看当前并发应用

CLP方式:

  db2 list applications

  或db2 list applications show detail

  或 db2 list applications for database dbname [ show detail]

  该命令可以查看当前是否有多个应用在连接着数据库,从而排查是否有并发的存在。

  注意Application Name Application Id两栏,Application Name栏列出了应用的名字,db2bp通常意味着目前有CLP在连接数据库,java则意味着可能有db2cc或用户自己的java应用在连接数据库,在application Id栏中可以看到这些应用来自于哪些机器,本机的就显示为 LOCAL + 用户名 + 开始连接上的时间,远程的就会显示为16进制的IP地址+用户名+开始连接上的时间。通过排查并发应用从而消除测试中不必要的锁现象。

  

1.6使用事件查看器

使用事件监控器,首先要选定所关注的事件类型,DB2中有很多事件类型,可以用于锁分析的通常会用到以下三种:

  DEADLOCKS

  DEADLOCKS

WITH DETAILS

  STATEMENTS

  步骤:

  -创建事件监控器

  create event monitor evmname for eventtype write to file ‘directory’

  例:create event monitor mymonitor for deadlocks, statements

  write to file ‘c: emp’

  -把事件监控器打开

  接上例:

  Db2 “set event monitor mymonitor state 1”

  注:1为打开,0为关闭

  事件监控器开始工作,当所有应用断掉连接后,将事件记录下来

  -格式化监控器的文件

db2evmon –db dbname -evm mymonitor >snap.txt

-察看监控器的文件

More snap.txt

1.6.1查看执行最耗时的SQL

 Select stmt_text ,(stop_time-start_time) from stmt_ monitor_name Where stmt_operation not in (7,8,9,19) order by decimal(stop_time-start_time) desc fetch first 10 rows only

1.6.2查看按照顺序降序排列执行次数最多的SQL

Select distinct(stmt_text),count(*) Count from stmt_monitor_name Where stmt_operation not in (7,8,9,19) group by stmt_text order by count(*) desc fetch first 10 rows only

1.6.3查看耗CPU时间最多的SQL

Select stmt_text ,user_cpu_time from stmt_monitor_name where stmt_operation not in (7,8,9,19) order by  user_cpu_time  desc fetch first 10 rows only

 1.6.4查看总排序时间降序排列排序时间最长的SQL

Select stmt_text,total_sort_time from stmt_monitor_name where stmt_operation not in (7,8,9,19) order by  decimal(total_sort_time)  desc fetch first 10 rows only

 

 1.7查看表上的索引

     describe indexes for table 表名

1.8得到误删除表的ID

list history dropped table all for 数据库名 得到删除表的tableid

1.9数据库导入导出

db2move databasename export -sn 模块名 –tn 表名 -u db2admin -p *****

 

db2look -d databasename -e -a -o db2look_htdctr.sql

 db2move test import -u 用户名 -p 密码

 1.10编目数据库

db2set DB2_CREATE_DB_ON_PATH=YES

 

 

 

CATALOG TCPIP NODE Server51
   
REMOTE IP_Address
    SERVER
51000
   
REMOTE_INSTANCE DB2
   
OSTYPE NT;

 1.11查询SQLCODE

Db2 ? 22001

 

Db2 ? sql-204

 1.12 备份数据库

备份表空间

Db2 “backup database databasename” tablespace tablespaceName to /path

 

Db2 backup database dbname to /path

 

1.13停止单个数据库

db2 connect to sample
db2 quiesce db immediate force connections
db2 terminate

db2 deactivate db sample

db2 connect to sample
db2 unquiesce db

 

1.14查看并修改DB2端口

C:\WINDOWS\SYSTEM32\DRIVERS\ETC\services

 

db2 get dbm cfg 查看SVCENAME名称

 

修改db2端口

update dbm cfg using svcename 50000

 1.15查看数据库

db2 list db directory

 1.16插入空值到表中

import from /dev/null of del replace into db2inst1.表名

 1.17建立nickname

1、在db2命令窗口下,运行connect to 目标库 user 用户名 using 密码

2、显示所有对象 list tables

3、建立nickname create nickname  nickname的名字  for server.schma.table

1.18查看前几条记录

查看记录

select * from table fetch first 10 rows only

 1.19查看db2实例

Db2ilist

 1.20查看数据库语句执行时间

 

1.6

 

1.21创建数据库

db2 "CREATE DATABASE MIBSSE AUTOMATIC STORAGE YES  ON '/db2/xbank2' DBPATH ON '/db2/xbank2' USING CODESET UTF-8 TERRITORY CN COLLATE USING SYSTEM PAGESIZE 4096"

 1.22查看BufferPool

db2 "select * from syscat.bufferpools"

  1.23单表导入导出

db2 Export to "F:\fund\FssProduct.txt" of del select * from tablename

 

db2 import from “F:\fund\FssProduct.txt” of del messages “d:\msgs.txt” insert into tablename

 1.24 数据库所有快照

db2 get snapshot for dynamic sql on mibsse >snap.out

 

通过Linux命令查出所有的执行最大次数

 grep -n "Number of executions" snap.out |grep -v "= 0" |sort -k 5,5rn|more

 1.25查看临时表空间使用情况

db2 get snapshot for tables on mibsse >snap2.out

db2 get snapshot for application agented <agent ID>

 1.26通过性能管理视图监控数据库

db2 list tables for schema sysibmadm;

或在db2客户端察看视图

1.26.1监控缓冲池命中率

 --需要开启BUFFERPOOL监控

db2 update dbm cfg using DFT_MON_BUFPOOL on

Select substr(bp_name,1,30) as bp_name,data_hit_ratio_percent,index_hit_ratio_percent,total_hit_ratio_percent
from
sysibmadm.bp_hitratio where bp_name not like 'IBMSYSTEM%';

 1.26.2监控Package Cache 大小

with dbcfg1 as (select int(value) as pckcachesz from sysibmadm.dbcfg where name ='pckcachesz')
Select
pckcachesz as package_Cache_Size ,pkg_cache_lookups as lookups, pkg_cache_inserts as inserts,pkg_cache_num_overflows as overflows, 100*pkg_cache_size_top/(pckcachesz * 4096) as pkg_Cache_alloc
from
dbcfg1,sysibmadm.snapdb

1.26.3监控执行成本最高的SQL

 Select agent_id ,rows_selected,rows_read from sysibmadm.APPLICATION_PERFORMANCE[Z1] ;

 1.26.4监控允许最长的SQL

Select appl_name,elapsed_time_min as elapsedmin,appl_status as status,authid as auth_id,inbound_comm_address as ip_address,stmt_text as SQL_statement
from
sysibmadm.long_running_sql order by 2 desc

1.26.5监控SQL准备和预编译时间最长的SQL

Select num_executions, average_execution_time_s,prep_time_ms,prep_time_percent, stmt_text 
       from
sysibmadm.query_prep_cost
       where
average_execution_time_s>0 order by prep_time_percent des

1.26.6监控执行次数最多的SQL

select  "NUM_EXECUTIONS", "AVERAGE_EXECUTION_TIME_S",
   
"STMT_SORTS", "SORTS_PER_EXECUTION", "STMT_TEXT", "DBPARTITIONNUM"
  from
"SYSIBMADM"."TOP_DYNAMIC_SQL"
  where
NUM_EXECUTIONS>0
  order by
1 desc fetch first 5 rows only;

1.26.7监控排序次数最多的SQL

select  "NUM_EXECUTIONS", "AVERAGE_EXECUTION_TIME_S",
   
"STMT_SORTS", "SORTS_PER_EXECUTION", "STMT_TEXT", "DBPARTITIONNUM"
  from
"SYSIBMADM"."TOP_DYNAMIC_SQL"
  where
NUM_EXECUTIONS>0
  order by
STMT_SORTS desc fetch first 5 rows only

 

1.26.8监控LOCK WAIT等待时间

select ai.appl_name,ai.primary_auth_id,ap.lock_waits,ap.lock_wait_time/1000 as "Total Wait (s)",(ap.lock_wait_time/ap.lock_waitsfont-siz

1
0
分享到:
评论

相关推荐

    db2常用命令大全

    db2常用命令大全,db2常用命令大全,db2常用命令大全,db2常用命令大全

    DB2常用命令列表,DB2常用命令列表

    本文总结了常用的DB2命令,涵盖数据库创建、连接、表创建、索引创建、视图创建、触发器创建、查询、锁定、FORCE应用程序等多方面。 1. 建立数据库:CREATE DATABASE命令用于创建一个新的数据库,例如:CREATE ...

    db2 常用命令大全

    DB2 常用命令大全 DB2 是 IBM 公司的一款关系数据库管理系统,具有强大的数据存储和处理能力。以下是 DB2 的一些常用命令,可以帮助开发人员更好地使用 DB2 数据库。 一、基础篇 1. 连接数据库 db2 connect to ...

    db2常用命令大全,有说明

    ### DB2常用命令详解 #### 一、创建数据库 **命令**: ```sql CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 ``` **说明**:此命令用于在...

    IBM db2 常用命令大全

    IBM DB2 常用命令大全 DB2 是一种广泛使用的关系数据库管理系统,由 IBM 开发。它提供了丰富的命令集,用于管理和维护数据库。下面是 DB2 常用命令大全,包括基本的配置查看、备份、恢复、SQL 数据库、表、实例等...

    DB2常用命令.doc

    DB2常用命令概述 DB2是IBM开发的一种关系数据库管理系统,提供了多种命令来管理和维护数据库。以下是DB2常用命令的总结: 启动和关闭数据库实例 * 启动数据库实例:#db2start * 关闭数据库实例:#db2stop * 强制...

    Db2 常用命令Db2 常用命令Db2 常用命令.doc

    ### Db2常用命令详解 #### 一、Db2概述与基本命令 Db2是由IBM公司开发的一款关系型数据库管理系统(RDBMS),广泛应用于企业级数据处理领域。掌握Db2的基本命令对于日常维护和管理至关重要。 - **启动DB2管理器**...

    db2常用命令大全及从数据库中导入导出数据

    本文将深入解析“db2常用命令大全及从数据库中导入导出数据”这一主题,涵盖从DB2数据库的结构查看、数据导入导出、到各种数据库管理与查询的实用命令。 ### 一、DB2数据库结构查看与导出 #### 1. 数据库结构导出 ...

    DB2常用命令大全

    - 提供DB2命令的在线帮助文档。 - **绑定命令**:`db2 bind` - 将应用程序与数据库进行绑定,确保应用程序可以正确访问数据库。 - **查看数据库参数**:`db2 get db mcfg`, `db2 get db cfg for btpdbs` - 分别...

    DB2常用命令大全.pdf

    3. 卸载数据时,可以使用db2命令将表中的数据全部卸载。 总结以上知识点,DB2的常用命令涵盖了数据库的连接、数据操作、管理、备份还原、类型转换以及数据的导入导出等多个方面。熟练运用这些命令对于日常的数据库...

    linux下DB2常用命令

    Linux 下 DB2 常用命令 DB2 是一个 relation database management system(关系数据库管理系统),广泛应用于企业级的数据存储和管理中。在 Linux 环境下,DB2 提供了丰富的命令行工具,用于管理和维护数据库。下面...

    DB2数据库常用命令

    测试以及运维常用DB2操作命令,方便测试和运维对数据库的维护和操作

    db2常用命令大全.doc

    DB2常用命令大全 DB2是IBM公司的一款关系数据库管理系统,具有强大的存储和检索机制,支持XML存储和XPath解析操作。本文档总结了DB2常用的命令,帮助开发人员快速掌握DB2的使用。 一、基础篇 1. 连接数据库:db2 ...

    IBM数据库DB2常用命令大全

    ### IBM数据库DB2常用命令详解 #### 一、建立数据库 **命令格式:** ``` CREATE DATABASE &lt;数据库名称&gt; ON &lt;设备组&gt; ALIAS &lt;别名&gt; USING CODE SET &lt;字符集&gt; TERRITORY &lt;国家/地区代码&gt; COLLATE USING SYSTEM DFT_...

    db2常用命令大全一看就明白

    ### DB2常用命令详解 #### 一、导出与导入数据 **命令示例:** ```sql EXPORT TO D:\PRINTXML.IXF OF IXF ``` **解释:** 此命令用于将数据库中的数据导出到指定路径下的IXF格式文件中。IXF是一种XML格式的数据交换...

    DB2数据库命令大全

    显示DB2命令的相关选项。 这些命令是DB2数据库管理的基础,掌握它们能帮助管理员有效地进行数据库的日常维护和数据操作。通过这些命令,你可以创建和管理数据库对象,处理数据,监控系统状态,以及优化数据库性能...

    DB2常用命令大全.txt

    根据给定文件“DB2常用命令大全.txt”的标题、描述及部分内容,我们可以提炼出一系列关于IBM DB2数据库管理系统的关键知识点,这些知识点涵盖了数据库的基本操作、数据表管理、视图、触发器、索引、权限控制等多个...

Global site tag (gtag.js) - Google Analytics