db2常用命令大全.docx
《db2常用命令大全.docx》由会员分享,可在线阅读,更多相关《db2常用命令大全.docx(11页珍藏版)》请在冰豆网上搜索。
db2常用命令大全
db2常用命令大全
DB2常用命令,对于使用db2的朋友可以参考下。
管理客户端从v9.7版本之后就不再带有控制中心了,而是使用DataStudioClient。
安装 DB2 数据库产品期间不会应用许可证密钥。
但是,下列产品没有激活CD,因此会在安装这些产品的过程中自动应用其许可证:
DB2Express-C和 DB2Connect个人版。
此外,DB2个人版也是一个特殊案例。
虽然 DB2个人版具有激活CD,但是会在安装该产品的过程中自动应用其许可证。
PS:
执行命令前需要进入DB2的账户下:
sudb2inst1
修改密码:
更改相应的操作系统密码即可,windows上可以更改db2admin的密码,linux上更改db2inst1的密码即可,db2的数据库密码是和操作系统绑定的,就像大家说的只需要修改操作系统上用户的密码就可以了。
你想改那个用户的密码你就在操作系统上改那个用户的密码。
===============================经验最宝贵===================================
1、打开命令行窗口
#db2cmd
2、打开控制中心
#db2cmddb2cc
3、打开命令编辑器
db2cmddb2ce
=====操作数据库命令=====
4、启动数据库实例
=========================
26、备份数据库
#db2backupdb
备注:
执行以上命令之前需要断开数据库连接
27、在线备份数据库
#db2-v"BACKUPDATABASEONLINETOWITH2BUFFERSBUFFER1024INCLUDELOGSWITHOUTPROMPTING"
28、恢复数据库
#db2restoredb
29、在线恢复数据库
#db2"RESTOREDBTOLOGTARGETWITHOUTPROMPTING"
#db2"ROLLFORWARDDBTOENDOFLOGSANDSTOP"...
30、导出数据文件
#db2moveexport
[-sn<模式名称,一般为db2admin>]
[-tn<表名,多个之间用逗号分隔>]
31、导入数据文件
#db2moveimport
32、获取db2数据库管理配置环境信息
#db2getdbmcfg
33、.获取db2某个数据库数据库管理配置环境信息
#db2getdbcfgfor
或者:
连接至某个数据库以后执行db2getdbcfg
34、更改db2日志空间的大小
备注:
以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。
#db2UPDATEDBCFGFORUSINGlogretainOFFlogprimary3logsecond2logfilsiz25600;
如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。
25600*4KB=102400KB。
35、创建临时表空间
#DB2CREATEUSERTEMPORARYTABLESPACESTMASPACEPAGESIZE32KMANAGEDBYDATABASEUSING(FILE'D:
\DB2_TAB\STMASPACE.F1'10000)
EXTENTSIZE256
36、获取数据库管理器的快照数据
#db2–vgetsnapshotfordbm
37、显示进行程号
#db2listapplicationsshowdetail
===================================================
一、加载数据:
1、以默认分隔符加载,默认为“,”号
db2"importfrombtpoper.txtofdelinsertintobtpoper"
2、以指定分隔符“|”加载
db2"importfrombtpoper.txtofdelmodifiedbycoldel|insertintobtpoper"
二、卸载数据:
1、卸载一个表中全部数据
db2"exporttobtpoper.txtofdelselect*frombtpoper"
db2"exporttobtpoper.txtofdelmodifiedbycoldel|select*frombtpoper"
2、带条件卸载一个表中数据
db2"exporttobtpoper.txtofdelselect*frombtpoperwherebrhid='907020000'"
db2"exporttocmmcode.txtofdelselect*fromcmmcodewherecodtp='01'"
db2"exporttocmmcode.txtofdelmodifiedbycoldel|select*fromcmmcodewherecodtp='01'"
三、查询数据结构及数据:
db2"select*frombtpoper"
db2"select*frombtpoperwherebrhid='907020000'andoprid='0001'"
db2"selectoprid,oprnm,brhid,passwdfrombtpoper"
四、删除表中数据:
db2"deletefrombtpoper"
db2"deletefrombtpoperwherebrhid='907020000'orbrhid='907010000'"
五、修改表中数据:
db2"updatesvmmstsetprtlines=0wherebrhid='907010000'andjobtp='02'"
db2"updatesvmmstsetprtlines=0wherejobtp='02'orjobtp='03'"
六、联接数据库
db2connecttobtpdbs
七、清除数据库联接
db2connectreset断开数据库连接
db2terminate断开数据库连接
db2forceapplicationsall断开所有数据库连接
八、备份数据库
1、db2backupdbbtpdbs
2、db2movebtpdbsexport
db2look-dbtpdbs-e-x[-a]-ocrttbl.sql
九、恢复数据库
1、db2restoredbbtpdbswithoutrollingforward
2、db2-tvfcrtdb.sql
crtdb.sql文件内容:
createdbbtpdbson/db2catalog
db2-stvfcrttbl.sql
db2movebtpdbsimport
十、DB2帮助命令:
db2?
db2?
restroe
db2?
sqlcode(例:
db2?
sql0803)注:
code必须为4位数,不够4位,前面补0
十一、bind命令:
将应用程序与数据库作一捆绑,每次恢复数据库后,建议都要做一次bind
(1)db2bindbr8200.bnd
(2)/btp/bin/bndall/btp/bnd
/btp/bin/bndall/btp/tran/bnd
十二、查看数据库参数:
db2getdbmcfg
db2getdbcfgforbtpdbs
十三、修改数据库参数:
db2updatedbcfgforbtpdbsusingLOGBUFSZ20
db2updatedbcfgforbtpdbsusingLOGFILSIZ5120
改完后,应执行以下命令使其生效:
db2stop
db2start
补充:
db2setschemabtp修改当前模式为"btp"
db2listtablespacesshowdetail查看当前数据库表空间分配状况
db2listtablespacecontainersfor2showdetail查看tablespaceid=2使用容器所在目录
db2listapplication
db2listdbdirectory列出所有数据库
db2listactivedatabases列出所有活动的数据库
db2listtablesforall列出当前数据库下所有的表
db2listtablesforschemabtp列出当前数据库中schema为btp的表
db2listtablespacesshowdetail显示数据库空间使用情况
db2listpackagesforall
db2"importfromtab76.ixfofixfcommitcount5000insertintoachact"
db2"createtableachact_tlikeachact"
db2"renametableachact_ttoachact"
db2"insertintoachact_tselect*fromachactwheretxndt>=(selectlstpgdtfrom
acmactwhereactno=achact.actno)"
db2getsnapshotfordynaimicsqlonjining
删除一个实例:
#cd/usr/lpp/db2_07_01/instance
#./db2idropInstName
列出所有DB2实例:
#cd/usr/lpp/db2_07_01/bin
#./db2ilist
为数据库建立编目
$db2catalogdbbtpdbson/db2catalog
取消已编目的数据库btpdbs
$db2uncatalogdbbtpdbs
查看版本
#db2level
显示当前数据库管理实例
$db2getinstance
设置实例系统启动时是否自动启动。
$db2iauto-on自动启动
$db2iauto-off不自动启动
数据库优化命令:
reorg、runstats
当数据库经过一段时间使用,数据空间会变得越来越庞大。
一些delete掉
的数据仍存放在数据库中,占用数据空间,影响系统性能。
因此需要定期
运行reorg、runstats命令,清除已delete的数据,优化数据结构。
db2reorgtable表名
db2runstatsontable表名withdistributionandindexesall
因为要优化的表比较多,所以在/btp/bin目录下提供了一个sh程序runsall,
可在当天业务结束后,运行runsall,对数据库进行优化
在DB2的开发过程中,贯穿整个开发过程还有很重要的一部分工作就是数据库的维护;对于维护一个庞大信息系统来说是非常必要的;留一份简易的维护手册,以备不时之需;以下收集到的部分维护命令,以飨我们的维护工程师和项目经理。
=================================================================
38、更改db2日志空间的大小
备注:
以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。
#db2UPDATEDBCFGFORUSINGlogretainOFFlogprimary3logsecond2logfilsiz25600;
如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。
25600*4KB=102400KB。
39、创建临时表空间
#DB2CREATEUSERTEMPORARYTABLESPACESTMASPACEPAGESIZE32KMANAGEDBYDATABASEUSING(FILE'D:
\DB2_TAB\STMASPACE.F1'10000)EXTENTSIZE256
40、创建表空间
rem创建缓冲池空间8K
#db2connecttogather
#db2CREATEBUFFERPOOLSTMABMPIMMEDIATESIZE25000PAGESIZE8K
rem创建表空间:
STMA
rem必须确认路径正确
remD:
\DB2Container\Stma
#db2droptablespacestma
#db2CREATEREGULARTABLESPACESTMAPAGESIZE8KMANAGEDBYSYSTEMUSING('D:
\DB2Container\Stma')EXTENTSIZE8OVERHEAD10.5PREFETCHSIZE8TRANSFERRATE0.14BUFFERPOOLSTMABMPDROPPEDTABLE recovery OFF
#db2connectreset
41、将暂挂的数据恢复到前滚状态
#db2ROLLFORWARDDATABASE testDBTOENDOFLOGSANDCOMPLETENORETRIEVE
42、备份表空间
#BACKUPDATABASEYNDCTABLESPACE(USERSPACE1)TO"D:
\temp"WITH2BUFFERSBUFFER1024PARALLELISM1WITHOUTPROMPTING
43、创建db2工具数据库
#db2createtoolscatalogsystoolscreatenewdatabasetoolsdb
44、如何进行增量/差量备份
增量:
上一次完整备份至本次备份之间增加的数据部分;
差量(delta):
上次备份以来(可能是完整备份、增量备份或者差量备份)至本次备份之间增加的数据部分;
45、更新所有表的统计信息
#db2-vconnecttoDB_NAME
#db2-v"selecttbname,nleaf,nlevels,stats_timefromsysibm.sysindexes"
#db2-vreorgchkupdatestatisticsontableall
#db2-v"selecttbname,nleaf,nlevels,stats_timefromsysibm.sysindexes"
#db2-vterminate
46、对一张表运行统计信息
#db2-vrunstatsontableTAB_NAMEandindexesall
47、查看是否对数据库执行了RUNSTATS
#db2-v"selecttbname,nleaf,nlevels,stats_timefromsysibm.sysindexes"
48、更改缓冲池的大小
缓冲池中,当syscat.bufferpools的npages是-1时,由数据库的配置参数bufferpage控制缓冲池的大小。
将npages的值更改为-1的命令:
#db2-vconnecttoDB_NAME
#db2-vselect*fromsyscat.bufferpools
#db2-valterbufferpoolIBMDEFAULTBPsize-1
#db2-vconnectreset
#db2-vterminate
更改数据库配置参数BufferPages的命令如下:
#db2-vupdatedbcfgfordbnameusingBUFFPAGEbigger_value
#db2-vterminate
49、看数据库监视内容列表
#db2-vgetmonitorswitches
50、打开某个数据库监视内容
#db2-vupdatemonitorswitchesusingbufferpoolon
51、获取数据库快照
#db2-vgetsnapshotforalldatabases>snap.out
#db2-vgetsnapshotfordbm>>snap.out
#db2-vgetsnapshotforallbufferpools>>snap.out
#db2-vterminate
52、重置数据库快照
#db2-vresetmonitorall
53、计算缓冲池命中率
理想情况下缓冲池命中率在95%以上,计算公式如下:
(1-((bufferpooldataphysicalreads+bufferpoolindexphysicalreads)
/(bufferpooldatalogicalreads+poolindexlogicalreads)))*100%
=========数据库实例========================
54、创建db2实例
#db2icrt<实例名称>
55、删除db2实例
#db2idrop<实例名称>
56、设置当前db2实例
#setdb2intance=db2
57、显示db2拥有的实例
#db2ilist
58、恢复离线增量备份数据库的命令
#DB2RESTOREDATABASEYNDCINCREMENTALAUTOMATICFROMD:
\backup\autobak\db2TAKENAT20060314232015
59、创建样本数据库
在unix平台,使用:
#sqllib/bin/db2sampl
在windows,os/2平台,使用:
db2sample,e是可选参数,指定将创建数据库的驱动器
60、设置联合数据库为可用(默认联合数据库不可用)
#db2updatedbmcfgusingfederatedyes
61、列出数据库中所有的表
#db2listtables
62、数据迁移方法1
export脚本示例
#db2connecttotestdbusertestpasswordtest
#db2"exporttoaa1.ixfofixfselect*fromtable1"
#db2"exporttoaa2.ixfofixfselect*fromtable2"
#db2connectreset
import脚本示例
#db2connecttotestdbusertestpasswordtest
#db2"loadfromaa1.ixfofixfreplaceintotable1COPYNOwithoutprompting"
#db2"loadfromaa2.ixfofixfreplaceintotable2COPYNOwithoutprompting"
DB2常用命令总结
1.启动数据库
db2start
2.停止数据库
db2stop
3.连接数据库
db2connecttoo_yduserdb2usingpwd
4.读数据库管理程序配置
db2getdbmcfg
5.写数据库管理程序配置
db2updatedbmcfgusing参数名参数值
6.读数据库的配置
db2connecttoo_yduserdb2usingpwd
db2getdbcfgforo_yd
7.写数据库的配置
db2connecttoo_yduserdb2usingpwd
db2updatedbcfgforo_ydusing参数名参数值
8.关闭所有应用连接
db2forceapplicationall
db2forceapplicationID1,ID2,,,IdnMODEASYNC
(db2listapplicationfordbo_ydshowdetail)
9.备份数据库
db2forceapplicationall
db2backupdbo_ydtod:
(db2initializetapeon//./tape0)
(db2rewindtapeon//./tape0)
db2backupdbo_ydto//./tape0
10.恢复数据库
db2restoredbo_ydfromd:
tod:
db2restoredbo_ydfrom//./tape0tod:
11.绑定存储过程
db2connecttoo_yduserdb2usingpwd
db2bindc:
/dfplus.bnd
拷贝存储过程到服务器上的C:
/sqllib/function目录中
12.整理表
db2connecttoo_yduserdb2usingpwd
db2reorgtableydd
db2runstatsontableyddwithdistributionandindexesall
13.导出表数据
db2expor