DB2常用管理维护命令.docx

上传人:b****3 文档编号:3703939 上传时间:2022-11-24 格式:DOCX 页数:20 大小:23.73KB
下载 相关 举报
DB2常用管理维护命令.docx_第1页
第1页 / 共20页
DB2常用管理维护命令.docx_第2页
第2页 / 共20页
DB2常用管理维护命令.docx_第3页
第3页 / 共20页
DB2常用管理维护命令.docx_第4页
第4页 / 共20页
DB2常用管理维护命令.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

DB2常用管理维护命令.docx

《DB2常用管理维护命令.docx》由会员分享,可在线阅读,更多相关《DB2常用管理维护命令.docx(20页珍藏版)》请在冰豆网上搜索。

DB2常用管理维护命令.docx

DB2常用管理维护命令

DB2常用管理维护命令

=========DB2常用的命令======================================

启动数据库

db2start

停止数据库

db2stop

连接数据库

db2connecttobgj0userdb2instusingpassword

读数据库管理程序配置

db2getdbmcfg

写数据库管理程序配置

db2updatedbmcfgusing参数名参数值

读数据库的配置

db2connecttobgj0userdb2usingpwd

db2getdbcfgforbgj0

写数据库的配置

db2connecttouserdb2usingpwd

db2updatedbcfgforbgj0using参数名参数值

=====================================================================

关闭所有应用连接

db2forceapplicationall

db2"forceapplication(8)"

=====================================================================

备份数据库

db2forceapplicationall

db2backupdbbgj0tod:

(db2initializetapeon[url=file:

//\\.\tape0]\\.\tape0)

(db2rewindtapeon[url=file:

//\\.\tape0]\\.\tape0)

db2backupdbbgj0to[url=file:

//\\.\tape0]\\.\tape0

恢复数据库

db2restoredbbgj0fromd:

tod:

db2restoredbbgj0from[url=file:

//\\.\tape0]\\.\tape0tod:

前滚数据库

db2rollforwarddbdb3testtoendoflogsandcomplete

db2rollforwarddbdb3testto[timestamp]andcomplete

db2rollforwarddbdb3testto[timestamp]usinglocaltimeandcomplete

========================================================================

如何查看数据库的存储过程?

SELECT*FROMSYSCAT.PROCEDURES

绑定存储过程

db2connecttobgj0userdb2usingpwd

db2bindc:

\dfplus.bnd

拷贝存储过程到服务器上的C:

\sqllib\function目录中

=======================================================================

导出表数据

db2exporttoc:

\dftz.txtofdelselect*fromdftz

db2exporttoc:

\dftz.ixfofixfselect*fromdftz

导入表数据

importfromc:

\123.txtofdelinsertintoylbx.czyxx(把123文件中的内容以DEL格式插入到ylbx模式下的czyxx表中,加至czyxx表中数据的后面)

db2importfromc:

\dftz.txtofdelcommitcount5000messagesc:

\dftz.msginsertintodftz(将c盘下dftz文件中的内容记录以del格式导至dftz表中,每5000条提交一次,并在dftz.msg文件中记录过程中的报警信息)

db2importfromc:

\dftz.ixfofixfcommitcount5000messagesc:

\dftz.msginsertintodftz(将c盘下dftz文件中的内容记录以ixf格式导至dftz表中,每5000条提交一次,并在dftz.msg文件中记录过程中的报警信息)

db2importfromc:

\dftz.ixfofixfcommitcount5000insertintodftz(将c盘下dftz文件中的内容记录以ixf格式导至dftz表中,每5000条提交一次)

db2importfromc:

\dftz.ixfofixfcommitcount5000insert_updateintodftz(将c盘下dftz文件中的内容记录以ixf格式更新并导入dftz表中)

db2Importfromc:

\dftz.ixfofixfrestartcount55rowcount10000replace_createintodftz(仅ixf)(将dftz.ixf中的内容以ixf格式从第55条至第10000条的记录导至新建立的dftz表中)

db2Importfromc:

\dftz.ixfofixfrowcount10000createintodftz(仅ixf)(将dftz.ixf中的内容以ixf格式前10000条的记录导至新建立的dftz表中)

db2importfromc:

\dftz.ixfofixfcommitcount5000replaceintodftz(将dftz表中的内容导入dftz表中并替换其所有内容,每5000条提交一次)

======================================================================

执行一个批处理文件

db2–tf批处理文件名

(文件中每一条命令用;结束)

自动生成批处理文件

======================================================================

建文本文件:

temp.sql

select'runstatsontableDB2.'||tabname||'withdistributionanddetailedindexesall;'fromsyscat.tableswheretabschema='DB2'andtype='T';

db2–tftemp.sql>runstats.sql

===============================================================

自动生成建表(视图)语句

在服务器上:

C:

\sqllib\misc目录中

db2connecttobgj0userdb2usingpwd

db2look-dbgj0-udb2inst-e-p-cc:

\bgj0.txt

============================================================================

授权给某用户权限

grantdbadmondatabasetouserbb

============================================================================

select*fromczyxxfetchfirst1rowsonly

============================================================================

db2expln-d数据库名-u用户名密码-o文件名|-t-c生成包的模式名-p包名

=======================================================================================

要使用SQL调用语句重组表,使用admin_cmd过程发出执行命令:

callsysproc.admin_cmd('reorgtabletablenameindexindexname')

===========================================================================

查看某一指定表的状态

db2loadquerytable表名

============================================================================

显示当前用户所有表

  listtables

列出所有的系统表

  listtablesforsystem

======================做数据库的编目与反编目(即删除编目)================

编目

1.db2catalogtcpipnodenode1remote172.16.170.100(本机IP地址)server50004(可从getdbmcfgshowdetail中看出)

2.db2catalogdbsample(要映射到的数据库在本机的别名)atnodenode1

反编目

1.db2uncatalognodenode1

2.db2uncatalogdbsample

================查看表结构==============================

  db2describeselect*fromtmmsm01(db2describetabletmmsm01)

================为表改名========================================

 

db2renametable原始表名to目的表名

==================修改某个操作用户的权限================

 

(需要系统ROOT用户参与)

把用户所在组通过smittygroup修改所属组的操作权限参数,然后在db2getdbmcfgshowdetail中通过db2updatedbmcfgforbgj0usingSYSMONgroupnameDB2MON命令来修改

 

=========================================================

 

检查表的大小

 

db2selecttabname,npages,fpagesfromsyscat.tableswheretabname='tabname'

查看最近一次数据重组的时间的时间:

db2‘selectstats_time,tabnamefromsyscat.tableswherestats_timeisnotnullOrderbystats_time’|more

检查是否已做过runstats:

db2-v"selecttbname,nleaf,nlevels,stats_timefromsysibm.sysindexes"

为数据库做自动统计信息收集:

db2updatedbcfgforbgj0usingauto_mainton

db2updatedbcfgforbgj0usingauto_tbl_mainton

db2updatedbcfgforbgj0usingauto_runstatson

收集某表中所有列上的统计信息:

runstatsontable某个模式下的表表名onallcolumns

上句等同于:

runstatsontable表名

 

收集表和索引上的数据库统计信息,不包含分布统计信息:

runstatsontable模式下的表andindexesall

收集表和索引上的数据库统计信息,包含分布统计信息:

runstatsontable模式下的表withdistributionandindexesall

 

收集表上的数据库统计信息以及索引上的详细统计信息,不包含分布统计信息:

runstatsontable模式下的表anddetailedindexesall

收集表上的数据库统计信息以及索引上的详细统计信息,包含分布统计信息:

runstatsontable模式下的表withdistributionanddetailedindexesall

 

收集关键列上的数据库统计信息:

runstatsontable模式下的表onkeycolumns

 

==============================================================

检查哪个表有做过reorg

db2selecttabname,npages,fpagesfromsyscat.tables

 

检查备份与重构命令的历史记录:

db2listhistorybackup/reorgallforbgj0

 

=======================================================================

 

执行表、索引检查是否需要做reorg,先执行reorgchk命令检,命令如下:

db2reorgchkupdatestatisticsontablebgj0.bgj0logevent

(查看用于索引的F4,F5,F6,F7,F8这几列,如果这几列中的任何一列有星号*,则说明当前的表和/或索引应该重组。

reorgchkontableall确定是否需要对表进行重组。

这对于对所有表自动执行runstats很有用。

===============================================================

脱机方式重组表是整理表碎片最快方法。

使用CLP重组表,执行:

db2reorgtablebgj0.bgj0logevent

要使用临时表空间重组表,执行:

db2reorgtabledbname.tablenameuse临时表空间名

 

重组表并根据索引对行进行重新排序,执行:

db2reorgtablebgj0.bgj0logeventindexIDX_LOG_01

db2reorgindexesallfortablebgj0.bgj0logeventallowreadaccess

 

=====查死锁=======================================================

cd/db2data/db2user/db2inst/db2inst/NODE0000/SQL00001/db2event/db2detaildeadlock

du-a|sort-rn

db2evmon-path/db2data/db2user/db2inst/db2inst/NODE0000/SQL00001/db2event/db2detaildeadlock>/tmp/lock1.txt

 

============监控器================================================

 

第一步:

打开监控开关(只和getsnapshot相关)

db2"updatemonitorswitchesusinglockONsortONbufferpoolONuowONtableONstatementON"

db2"updatemonitorswitchesusinglockoffsortoffbufferpooloffuowofftableoffstatementON"

db2updatedbmcfgusingDFT_MON_BUFPOOLonDFT_MON_LOCKonDFT_MON_SORTonDFT_MON_STMTonDFT_MON_TABLEonDFT_MON_TIMESTAMPonDFT_MON_UOWonHEALTH_MONon

db2getmonitorswitches

第二步:

创建事件监控器

db2"createeventmonitormonitor_allforstatement,database,tables,tablespaces,deadlocks,transactionswritetofile'/db2data/event'"

第三步:

激活事件监控器

db2"seteventmonitordb2detaildeadlockstate=1"

ps-ef|grepdb2event

[bgrzl0m0][db2inst][/db2data/event]>ls

00000000.evtdb2event.ctl

第四步:

格式化事件监控文件

db2evmon-dbbgj0-evmdb2detaildeadlock>db2detaildeadlock.txt

 

============清空监控器:

===========================================

查看监控器名称:

ps-ef|grepdb2event(db2detaildeadlock)

db2"seteventmonitordb2detaildeadlockstate=0"

删除“00000000.evtdb2event.ctl”文件

 

db2"seteventmonitordb2detaildeadlockstate=1"

 

===============快照监控器===================================================

db2updatedbmcfgusingDFT_MON_BUFPOOLonDFT_MON_LOCKonDFT_MON_SORTonDFT_MON_STMTonDFT_MON_TABLEonDFT_MON_TIMESTAMPonDFT_MON_UOWonHEALTH_MONon

Defaultdatabasemonitorswitches

Bufferpool(DFT_MON_BUFPOOL)=ONON

Lock(DFT_MON_LOCK)=OFFON

Sort(DFT_MON_SORT)=ONON

Statement(DFT_MON_STMT)=ONON

Table(DFT_MON_TABLE)=ONON

Timestamp(DFT_MON_TIMESTAMP)=ONON

Unitofwork(DFT_MON_UOW)=ONON

Monitorhealthofinstanceanddatabases(HEALTH_MON)=ONON

db2getsnapshotforallonbgj0>all_snap.out

动态sql语句snapshot

监控是否存在死锁

grep-n"Deadlocks"all_snap.out|grep-v"=0"|more

执行频繁的语句

grep-n"Numberofexecution"all_snap.out|grep-v"=0"|sort-krn|more

 

执行时间很长的语句

grep-E"Totalexecutiontime"all_snap.out|sort-rn|more

grep-E"Rowsread"all_snap.out|sort-rn|more

 

==========================================================================

 

管理

export将数据库数据抽取到一个平面文件中。

import通过使用IMPORT实用程序,将数据导入到数据库。

loadquerytable

[tolocal-message-file][nosummary|summaryonly][showdelta]返回LOAD实用程序的进度。

backupdatabase[to]执行数据库备份。

restoredatabase[from]执行数据库恢复。

gethealthsnapshotfordbm返回实例的正常快照信息(仅适用于V8)。

gethealthsnapshotforallon返回数据库的所有正常快照(仅适用于V8)。

管理服务器

getadmincfg返回管理服务器的配置设置。

updateadmincfgusing

将管理服务器配置参数

更新为值

 

===============================================================

 

db2pd-v

db2pd-osinfo

[bgrz1d0][db2inst][/db2data/db2user/db2inst]>db2pd-help

Usage:

-h|-help[file=]

Help

-v|-version[file=]

Version

-osinfo[disk][file=]

OperatingSystemInformation

-dbpartitionnum[,]

DatabasePartitionNumber(s)

-alldbpartitionnums

Allpartitionnumbers

-database|-db[

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1