1.打开命令行窗口 #db2cmd2。打开控制中心 #db2cmddb2cc3。打开命令编辑器 db2cmddb2ce=====操作数据库命令=====4.启动数据库实例 #db2start5。停止数据库实例 #db2stop 如果由于活动连接而无法停止数据库,只需在运行db2stop/db2stopforce6之前执行db2forceapplicationall。创建数据库 #db2createdb[dbname]7.连接到数据库 #db2使用[密码]8连接到[dbname]用户[username]。断开数据库连接 #db2connectreset9。ListAlldatabases #db2listdbdirectory10,列出所有活动数据库 #db2listactivedatabases11,列出所有数据库配置 #db2getdbcfg12,删除数据库 #db2dropdatabase[dbname](执行此操作时要小心)如果不能删除,断开所有数据库连接或重启db2==========操作数据表命令===========13.列出所有usersTable #db2listtables14,列出所有系统表 #db2listtablesforsystem15,列出所有表 #db2listtablesforall16,列出系统表 #db2listtablesforsystem17。列出用户表 #db2列出user18的表。列出特定的用户表 #db2列出模式[user]19的表。在数据库表(t1)中新建一张与表(t2)结构相同的表 #db2createtablet1liket220,importdatafromatablet1toanothertablet2#db2"insertintot1select*从t2"21开始,查询表 #db2"select*fromtablenamewhere..."22.显示表结构 #db2describetabletablename23.修改列 #db2altertable[tablename]altercolumn[columnname]setdatatypevarchar(24)======脚本文件操作命令=======24.执行脚本文件 #db2-tvfscripts.sql25。帮助命令*查看命令帮助 #db2?db2start*查看错误代码信息#db2?22001*备注:详细命令请使用“db2?”查看。 =============================26.备份数据库#db2backupdb备注:在执行上述命令之前,你需要断开数据库连接27.在线备份数据库#db2-v"BACKUPDATABASEONLINETOWITH2BUFFERSBUFFER1024INCLUDELOGSWITHOUTPROMPTING"28.恢复数据库#db2restoredb29.在线恢复数据库#db2"RESTOREDBTOLOGTARGETWITHOUTPROMPTING"#db2"ROLLFORWARDDBTOENDOFLOGSANDSTOP"...30.导出数据文件#db2moveexport[-sn][-tn]31.导入数据文件#db2moveimport32.获取db2数据库管理配置环境信息#db2getdbmcfg33,.获取一个db2数据库的数据库管理配置环境信息#db2getdbcfgfor或者:连接到一个数据库后执行db2getdbcfg34,改变db2日志空间的大小备注:以下命令是为了防止db2数据库是为过度使用硬盘空间而设置的,仅供开发者自己机器上的db2使用。如果是服务器,需要修改参数。#db2UPDATEDBCFGFORUSINGlogretainOFFlogprimary3logsecond2logfilsiz25600;如果页面大小为4KB,上述命令会创建三个100M的日志文件,占用300MB的硬盘空间。25600*4KB=102400KB。35.创建临时表空间#DB2CREATEUSERTEMPORARYTABLESPACESTMASPACEPAGESIZE32KMANAGEDBYDATABASEUSING(FILE'D:\DB2_TAB\STMASPACE.F1'10000)EXTENTSIZE25636,获取数据库管理器的快照数据#db2–v获取快照对于dbm37,显示进程号#db2listapplicationsshowdetail========================================================1.加载数据:1.加载默认分隔符,默认为","db2"importfrombtpoper.txtofdelinsertintobtpoper"2.指定分隔符"|"loaddb2"importfrombtpoper.txtofdelmodifiedbycoldel|insertintobtpoper"2.卸载数据:1.卸载一个表中的所有数据db2"exporttobtpoper.txtofdelselect*frombtpoper"db2"exporttobtpoper.txtofdelmodifiedbycoldel|select*frombtpoper"2.Unloaddatainatablewithconditionsdb2"exporttobtpoper.txtofdelselect*frombtpoperwherebrhid='907020000'"db2"exporttocmmcode.txtofdelselect*fromcmmcodewherecodtp='01'"db2"导出到del修改的cmmcode.txtco删除|select*fromcmmcodewherecodtp='01'"3.查询数据结构和数据:db2"select*frombtpoper"db2"select*frombtpoperwherebrhid='907020000'andoprid='0001'"db2"selectoprid,oprnm,brhid,passwdfrombtpoper"4.删除表中数据:db2"deletefrombtpoper"db2"deletefrombtpoperwherebrhid='907020000'orbrhid='907010000'"5.修改表中数据:db2"updatesvmmstsetprtlines=0wherebrhid='907010000'andjobtp='02'"db2"updatesvmmstsetprtlines=0wherejobtp='02'orjobtp='03'"6.连接数据库db2连接到btpdbs7.清除数据库连接db2connectreset断开数据库连接db2terminate断开数据库连接db2forceapplicationsall断开所有数据库连接八、备份数据库1,db2backupdbbtpdbs2,db2movebtpdbsexportdb2look-dbtpdbs-e-x[-a]-ocrttbl.sql九、恢复数据库1、db2restoredbbtpdbswithoutrollingforward2、db2-tvfcrtdb.sqlcrtdb.sql文件内容:createdbbtpdbs在/db2catalogdb2-stvfcrttbl.sqldb2movebtpdbsimport10.DB2帮助命令:db2?db2?恢复b2?sqlcode(例:db2?sql0803)注意:代码必须是4位,不够的话在前面加011.绑定命令:将应用程序与数据库结合为一个bundle,每次恢复数据库后,建议做一个bind(1)db2bindbr8200.bnd(2)/btp/bin/bndall/btp/bnd/btp/bin/bndall/btp/tran/bnd102.查看数据库参数:db2getdbmcfgdb2getdbcfgforbtpdbs13.修改数据库参数:db2updatedbcfgforbtpdbsusingLOGBUFSZ20db2updatedbcfgforbtpdbsusingLOGFILSIZ5120修改后,执行以下命令使其生效:db2stopdb2start补充:db2setschemabtp修改当前schema为“btp”db2listtablespacesshowdetail查看当前数据库表空间分配状态db2listtablespacecontainersfor2showdetail查看tablespaceid=2使用容器所在目录db2listapplicationdb2listdbdirectory列出所有databasesdb2listactivedatabases列出所有活动vedatabasesdb2listtablesforall列出当前数据库下的所有表db2listtablesforschemabtp列出当前数据库中schema为btp的表db2listtablespacesshowdetail显示数据库空间使用情况db2listpackagesforalldb2"importfromtab76.ixfcommitcount5000的ixf插入achact"db2"创建表achact_t就像achact"db2"renametableachact_ttoachact"db2"insertintoachact_tselect*fromachactwheretxndt>=(selectlstpgdtfromacmactwhereactno=achact.actno)"db2getsnapshotfordynamicsqlonjining删除实例:#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当数据库使用一段时间,数据空间会越来越大,一些删除的数据还保存在数据库中,占用数据空间,影响系统性能,因此需要运行reorg和runstats命令定时清除删除的数据,优化数据结构。db2reorgtable表名db2runstatsontable表名withdistributionandindexesall因为需要优化的表比较多,所以在/btp/bin目录下提供了一个sh程序runall,可以在一天的业务结束后运行运行数据库优化在DB2的开发过程中,贯穿整个开发过程的一个非常重要的工作就是数据库的维护;维护一个庞大的信息系统是非常必要的;保留一份简单的维护手册以备不时之需;下面收集的一些维护命令是为我们的维护工程师和项目经理准备的。===========================================================================38.改变db2日志空间的大小注意:以下命令是为了防止db2数据库过度使用硬盘空间而设计的。它们仅用于开发人员自己机器上的db2。如果是服务器,需要修改参数。#db2UPDATEDBCFGFORUSINGlogretainOFFlogprimary3logsecond2logfilsiz25600;如果页面大小为4KB,以上命令会创建三个100M的日志文件,占用300MB的硬盘空间。25600*4KB=102400KB。39.创建临时表空间#DB2CREATEUSERTEMPORARYTABLESPACESTMASPACEPAGESIZE32KMANAGEDBYDATABASEUSING(FILE'D:\DB2_TAB\STMASPACE.F1'10000)EXTENTSIZE25640,创建表空间rem创建缓冲池空间8K#db2connect收集#db2CREATEBUFFERPOOLSTMABMPIMMEDIATESIZE25000PAGESIZE8Krem创建表空间:STMArem必须确认路径正确remD:\DB2Container\Stma#db2droptablespacestma#db2CREATEREGULARTABLESPACESTMAPAGESIZE8KMANAGEDBYSYSTEMUSING('DDB2Container\Stma')EXTENTSIZE8OVERHEAD10.5PREFETCHSIZE8TRANSFERRATE0.14BUFFERPOOLSTMABMPDROPPEDTABLERECOVERYOFF#db2connectreset41、将挂起的数据恢复到前滚状态#db2ROLLFORWARDDATABASENOVEANDLOTE4恢复表2恢复空间#BACKUPDATABACEYYDE"D:\temp"与2BUFFERSBUFFER1024PARALLELISM1WITHOUTPROMPTING43。创建db2工具数据库#db2创建工具目录systools创建新数据库toolsdb44。如何进行增量/差异备份增量:上次全量备份与本次备份之间相加的数据部分;差异(delta):上次备份(可能是全量备份、增量备份或差异备份)与本次备份相加的数据部分;45.更新所有表的统计信息#db2-vconnecttoDB_NAME#db2-v"selecttbname,nleaf,nlevels,stats_timefromsysibm.sysindexes"#db2-vreorgchkupdatestatisticsontableall#db2-v"selecttbname,nleaf,nlevels,stats_timefromsysibm.sysindexes"#db2-vterminate46,yesAtablerunningstatistics#db2-vrunstatsontableTAB_NAMEandindexesall47.查看是否对数据库执行了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-valterbufferpoolIBBMDEFAULTBPsize-1#db2-vconnectreset#db2-vterminatetochange数据库配置参数BufferPages命令如下:#db2-vupdatedbcfgfordbnameusingBUFFPAGEbigger_value#db2-vterminate49,查看数据库监控内容列表#db2-vgetmonitorswitches50,打开某个数据库监控内容#db2-vupdatemonitorswitchesusingbufferpoolon51,获取数据库快照#db2-vgetsnapshotforalldatabases>snap.out#db2-v获取dbm的快照>>snap.out#db2-v获取所有缓冲池的快照>>snap.out#db2-vterminate52,重置数据库快照#db2-v重置监视器all53,计算缓冲池命中率理想情况下,缓冲池命中率在95%以上。计算公式如下:(1-((缓冲池数据物理读+缓冲池索引物理读)/(缓冲池数据逻辑读+池索引逻辑读)))*100%==========数据库实例==================================54.创建一个db2实例#db2icrt55.删除db2实例#db2idrop56.设置当前db2实例#setdb2intance=db257,显示db2拥有的实例#db2ilist58,恢复离线增量备份数据库命令#DB2RESTOREDATABASEYNDCINCREMENTALAUTOMATICFROMD:\backup\autobak\db2TAKENAT2006031423201559.创建示例数据库在unix平台上,使用:#sqllib/bin/db2sampl在windows、os/2平台上,使用:db2samplee,e是一个可选参数,指定将创建数据库Drive60,将联邦数据库设置为可用(默认联邦数据库不可用)#db2updatedbmcfgusingfede额定yes61,列出数据库中的所有表#db2listtables62,数据迁移方法1导出脚本示例#db2connecttotestdbusertestpasswordtest#db2"exporttoaa1.ixfofixfselect*fromtable1"#db2"exporttoaa2.ixfofixfselect*fromtable2"#db2connectresetimportscriptexample#db2connecttotestdbusertestpasswordtest#db2"loadfromaa1.ixfofixfreplaceintotable1COPYNOwithoutprompts"#db2"loadfromaa2.ixf的ixf替换成table2COPYNO而不提示“#db2connectreset