DB2数据库常用命令集Word文档下载推荐.docx
《DB2数据库常用命令集Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《DB2数据库常用命令集Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
using<
password>
7.断开数据库连接
断开当前数据库连接:
db2connectreset或者:
db2disconnectcurrent
断开所有数据库的连接:
db2disconnectall
8.备份数据库
db2backupdb<
备注:
执行以上命令之前需要断开数据库连接
9.恢复数据库
db2restoredb<
sourcedbname>
10.导出数据文件
db2move<
export
[-sn<
模式名称,一般为db2admin>
]
[-tn<
表名,多个之间用逗号分隔>
]
11.导入数据文件
import
12.列出数据库中所有db
db2listdbdirectory
13.进入db2命令环境
在“运行”中执行:
db2cmd
14.获取DB2数据库管理配置环境信息
db2getdbmcfg
15.获取db2某个数据库数据库管理配置环境信息
db2getdbcfgfor<
或者:
连接至某个数据库以后执行db2getdbcfg。
16.设置联合数据库为可用(默认联合数据库不可用)
db2updatedbmcfgusingfederatedyes
17.更改db2日志空间的大小
以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。
db2UPDATEDBCFGFOR<
USINGlogretainOFF
logprimary3logsecond2logfilsiz25600;
如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。
25600*4KB=102400KB。
18.创建临时表空间
DB2CREATEUSERTEMPORARYTABLESPACESTMASPACEPAGESIZE32K
MANAGEDBYDATABASEUSING(FILE'
D:
\DB2_TAB\STMASPACE.F1'
10000)
EXTENTSIZE256
19.获取数据库管理器的快照数据
db2–vgetsnapshotfordbm
20.显示进行程号
db2listapplicationsshowdetail
21.调查错误
sqlcode:
产品特定错误码;
sqlstate:
DB2系列产品的公共错误码,符合ISO/ANSI92SQL标准。
调查sqlcode:
db2?
sql1403n
调查sqlstate:
08004
22.创建表空间
rem创建缓冲池空间8K
db2connecttogather
db2CREATEBUFFERPOOLSTMABMPIMMEDIATESIZE25000PAGESIZE8K
rem创建表空间:
STMA
rem必须确认路径正确
remD:
\DB2Container\Stma
db2droptablespacestma
db2CREATE
REGULARTABLESPACESTMAPAGESIZE8K
MANAGEDBYSYSTEM
USING('
\DB2Container\Stma'
)EXTENTSIZE8
OVERHEAD10.5PREFETCHSIZE8TRANSFERRATE0.14BUFFERPOOL
STMABMP
DROPPEDTABLERECOVERYOFF
db2connectreset
23.将暂挂的数据恢复到前滚状态
DB2ROLLFORWARDDATABASETESTDBTOENDOFLOGSANDCOMPLETENORETRIEVE
24.备份表空间
BACKUPDATABASEYNDCTABLESPACE(USERSPACE1)
TO"
\temp"
WITH2BUFFERSBUFFER1024PARALLELISM1WITHOUTPROMPTING
25.创建db2工具数据库
db2createtoolscatalogsystoolscreatenewdatabasetoolsdb
26.如何进行增量/差量备份
增量:
上一次完整备份至本次备份之间增加的数据部分;
差量(delta):
上次备份以来(可能是完整备份、增量备份或者差量备份)至本次备份之间增加的数据部分;
27.更新所有表的统计信息
db2-vconnecttoDB_NAME
db2-v"
selecttbname,nleaf,nlevels,stats_timefromsysibm.sysindexes"
db2-vreorgchkupdatestatisticsontableall
db2-vterminate
28.对一张表运行统计信息
db2-vrunstatsontableTAB_NAMEandindexesall
29.查看是否对数据库执行了RUNSTATS
db2-v"
selecttbname,nleaf,nlevels,
stats_timefromsysibm.sysindexes"
30.更改缓冲池的大小
缓冲池中,当syscat.buffERPools的npages是-1时,由数据库的配置参数bufferpage控制缓冲池的大小。
将npages的值更改为-1的命令:
db2-vselect*fromsyscat.bufferpools
db2-valterbufferpoolIBMDEFAULTBPsize-1
db2-vconnectreset
更改数据库配置参数BufferPages的命令如下:
db2-vupdatedbcfgfordbnameusingBUFFPAGEbigger_value
31.查看数据库监视内容列表
db2-vgetmonitorswitches
32.打开某个数据库监视内容
db2-vupdatemonitorswitchesusingbufferpoolon
33.获取数据库快照
db2-vgetsnapshotforalldatabases>
snap.out
db2-vgetsnapshotfordbm>
>
db2-vgetsnapshotforallbufferpools>
34.重置数据库快照
DB2-vresetmonitorall
35.计算缓冲池命中率
理想情况下缓冲池命中率在95%以上,计算公式如下:
(1-((bufferpooldataphysicalreads+bufferpoolindexphysicalreads)
/(bufferpooldatalogicalreads+poolindexlogicalreads)))*100%
36.创建db2实例
db2icrt<
实例名称>
37.删除db2实例
db2idrop<
38.设置当前db2实例
setdb2intance=db2
39.显示db2拥有的实例
db2ilist
40.恢复离线增量备份数据库的命令
DB2RESTOREDATABASEYNDCINCREMENTALAUTOMATICFROM
\backup\autobak\db2TAKENAT20060314232015
41.创建样本数据库
在Unix平台,使用:
sqllib/bin/db2sampl<
path>
在Windows,os/2平台,使用:
db2sample,e是可选参数,指定将创建数据库的驱动器;
42.列出数据库中所有的表
db2listtables
43.列出某个表的数据结构
db2describetablev_ro_role
44.给表增加列
ALTERTABLESTAFF
ADDCOLUMNPNHONEVARCHAR(20)
45.数据迁移方法1
export脚本示例
db2connecttotestdbusertestpasswordtest
db2"
exporttoaa1.ixfofixfselect*fromtable1"
exporttoaa2.ixfofixfselect*fromtable2"
import脚本示例
db2connecttotestdbusertestpasswordtest
loadfromaa1.ixfofixfreplaceintotable1COPYNOwithoutprompting"
loadfromaa2.ixfofixfreplaceintotable2COPYNOwithoutprompting"
Linux下DB2的安装问题:
SQL1220N
(作者:
dongyufeng)环境:
linuxREDHAT5
DB2FORlinux32bit
由于该版本无法改变安装目录,默认安装在/opt下,所以事先要分配足够的空间给/目录,或者专门为/opt分配空间。
安装过程无任何异常,但是安装完毕后,执行db2start出错:
1.06/18/200817:
25:
0000SQL1220NThedatabasemanagersharedmemorysetcannotbeallocated
2.查找帮助db2?
SQL1220N。
发现可能是共享内存设置少了。
有以下建议。
OnLinux32-bit,increasethekernelparametershmmaxto256MB.
OnLinux64-bit,increasethekernelparametershmmaxto1GB.
用ipcs-l命令看了一下系统配置
------SharedMemoryLimits--------
maxnumberofsegments=4096
maxsegsize(kbytes)=3939665
maxtotalsharedmemory(kbytes)=4G
minsegsize(bytes)=1
系统有4G的最大共享内存。
vi
/etc/sysctl.conf查看结果
kernel.core_uses_pid=1
kernel.shmmax=4034217728
kernel.msgmni=1024
kernel.sem=250256000321024
db2licm-l查看,db2序列号为永久的,不过期。
这个修改了之后还是无法启动
网上搜索。
IBM网站有这么一篇文章。
提到了这个问题的处理方法。
Problem
Thistechnoteprovidestroubleshootingmethodsforwhenyouattempttostartaninstance(db2start)andencounterthefollowingerror:
SQL1220NThedatabasemanagersharedmemorysetcannotbeallocated.
Cause
Onepossibilityisthatduringthecreationoftheinstancethefilesqllib/.ftokwasnotcreated.
ProblemDetails
Afterthecreationofanewinstancethedb2startcommandcanfailwiththefollowingmessage:
06/02/200511:
45:
4800SQL1220NThedatabasemanagersharedmemorysetcannotbeallocated.
SQL1032NNostartdatabasemanagercommandwasissued.SQLSTATE=57019
DB2wasunabletoallocateitssharedmemoryset.
Solution
Aquickwork-aroundistousetheexecutabledb2ftok(foundinsqllib/bin)tocreateanewseedfilesqllib/.ftok.The.ftokfileisgeneratedbasedonthecurrenttimeandotherinformation.Whenstartingtheinstance,DB2readsthe.ftokfileandcreatesastandardinterprocesscommunicationkey(IPCkey)whichislatersuppliedtoothersubroutinesformemoryallocation.
Afterthe.ftokfilehasbeencreated,issuethedb2startcommandagain.
Pleasenotethatinordertodeterminethereasonwhythe.ftokfilewasabsentinyourparticularenvironment,contactDB2UDBSupportandsubmitaproblemrecord.
按照其说明,执行db2ftok,再db2start,Ok。
问题回顾:
问题解决之后,回过头来分析,可能是/opt空间属性有问题,导致安装过程中不能产生.ftok文件,因为安装完成后,执行db2start,提示无权执行,后来修改了目录属主为db2inst1就可以执行了,然后就出现了上面的错误。
linux上卸载db2
DB2卸载:
由于某种原因,要卸载DB2再重新安装的话,一定要正确的卸载DB2,否则不能执行重新安装或安装的DB2不可用。
1、在linux上卸载DB2的一般过程如下所示:
a.可选:
删除所有数据库。
可以使用“控制中心”或dropdatabase命令删除数据库。
b.停止DB2管理服务器。
c.停止DB2实例。
d.除去DB2管理服务器。
e.除去DB2实例。
f.除去DB2产品。
下面按照卸载DB2的一般过程说明具体卸载过程。
2、停止DB2管理服务器:
必须要停止DB2管理服务器才能在linux上卸载DB2。
具体过程如下:
a.作为DB2管理服务器所有者登陆。
b.用db2adminstop命令停止DB2管理服务器。
3、停止DB2实例:
必须要停止DB2实例才能在linux上卸载DB2。
a.作为具有root用户权限的用户登陆。
b.输入/opt/IBM/db2/V8.1/bin/db2ilist命令,获取系统上的所有DB2实例的名称。
c.注销。
d.作为想要停止的实例的所有者登陆。
e.CD到想要停止实例的主目录下,运行启动教脚本:
.sqllib/db2profile
d.输入db2forceapplicationall命令来停止所有数据库应用程序。
e.输入db2stop命令来停止DB2数据库管理器。
f.可以输入db2terminate来确认DB2数据库管理器已停止。
g.对每一个要删除的实例重复以上步骤。
4、出去DB2管理服务器:
必须出去DB2管理服务器才能卸载DB2,具体过程如下:
b.CD到DB2管理服务器的主目录下面,运行启动脚本:
.das/dasprofile.
d.作为root登陆,通过输入命令/opt/IBM/db2/V8.1/instance/dasdrop除去DB2管理服务器。
5、除去DB2实例:
可以除去系统上的实例,一旦除去实例,实例拥有的所有DB2数据库都将不可用。
a.通过输入/opt/IBM/db2/V8.1/instance/db2idropdb2instname来除去实例。
6、以root身份登陆,到DB2版本产品CD-ROM上的根目录或以前DB2解压文件下找到db2_deinstall命令,然后用db2_deinstall-n命令可以删除所有DB2产品。
FollowingarethestepstoremoveDB2fromUnix/Linux:
1.RemoveDB[首先删除数据库]
(1)su-db2inst1
(2)db2listdbdirectory
(3)db2dropdb<
2.RemoveInstance【删除实例】
(1)su-root
(2)cd<
db2dir>
/instance
(3)./db2ilist
(4)./db2idrop-f<
instancename>
3.Removedas【删除das】
(3)./daslist
(4)./dasdrop<
dasuser>
4.Uninstall【卸载】
/install
(3)./db2_deinstall-a
5.Removeuser(db2inst1,db2fenc1,dasusr1)
【删除用户】
userdel-r<
pleaselookintothefile/etc/passwdbeforeandafteryoudeletedusers
本文来自CSDN博客,转载请标明出处: