DB2数据库日志管理.docx
- 文档编号:2258509
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:13
- 大小:27.34KB
DB2数据库日志管理.docx
《DB2数据库日志管理.docx》由会员分享,可在线阅读,更多相关《DB2数据库日志管理.docx(13页珍藏版)》请在冰豆网上搜索。
DB2数据库日志管理
1、load方法装入数据:
exporttotempfileofdelselect*fromtablenamewherenot清理条件;
loadfromtempfileofdelmodifiedbydelprioritycharreplaceintotablenamenonrecoverable;
说明:
在不相关的数据表export数据时,可以采取并发的形式,以提高效率;
tablename指待清理table的名称;
modifiedbydelprioritychar防止数据库记录中存在换行符,导致数据无法装入的情况;
replaceinto对现数据库中的内容进行替换,即将现行的数据记录清理,替换为数据文件内容;
nonrecoverable无日志方式装入;
2、查找当前的应用:
db2listapplicationgrepbtpdbs;
3、删除当前正在使用的application:
db2”forceapplication(id1,id2,id3)"
id1,id2,id3是list显示的应用号;
4、查看当前应用号的执行状态:
db2getsnapshotforapplicationagentid299greprow
5、查看数据库参数:
db2getdbcfgfor//当前数据库可以省略
6、修改数据库的log数据:
db2updatedbcfgusing〈参数名><参数值>
7、db2stopforce的用法:
在进行bind的时候出现如下错误:
sql0082canerrorhasoccurredwhichhasterminatedprocessing。
sql0092nnopackagewascreatedbecauseofpreviouserrors。
sql0091nbindingwasendedwith"3”errorsand”0"warnings。
主要是表文件被加锁,不能继续使用;
在进行stop的时候报错:
db2stop
8/03/200521:
46:
5300sql1025nthedatabasemanagerwasnotstoppedbecausedatabasesarestillactive。
sql1025nthedatabasemanagerwasnotstoppedbecausedatabasesarestillactive.
需要使用如下命令可以解决这个问题:
db2stopforce
08/03/200521:
47:
4900sql1064ndb2stopprocessingwassuccessful.
sql1064ndb2stopprocessingwassuccessful.
然后启动数据库db2start,连接数据库db2s后,重新进行bind即可.
8、缓冲池参数修改:
db2alterbufferpoolibmdefaultbpsize10240
查看本表的数据内容如下:
db2"select*fromsyscat.bufferpools”;
9、db2日志处理:
db2日志是以文件的形式存放在文件系统中,分为两种模式:
循环日志和归档日志.当创建新数据库时,日志的缺省模式是循环日志。
在这种模式下,只能实现数据库的脱机备份和恢复。
如果要实现联机备份和恢复,必须设为归档日志模式.
目前在综合业务系统中,设置的均是归档日志模式;其它系统(如事后监督、经营决策、中间业务等)一般都设置为循环日志模式.至于采用何种模式,可以通过修改数据库配置参数(logretain)来实现:
归档日志模式:
db2updatedbcfgforusinglogretainon
注:
改为on后,查看数据库配置参数logretain的值时,实际显示的是recovery。
改变此参数后,再次连接数据库会显示数据库处于备份暂挂(backuppending)状态。
这时,需要做一次对数据库的脱机备份(db2backupdb),才能使数据库状态变为正常。
循环日志模式:
db2updatedbcfgforusinglogretainoff
10、db2日志处理
必须按照以下正确的步骤进行操作:
要求必须使用db2命令prune进行清理,不建议使用rm命令删除。
删除前应保证应用已停止(即联机已下来).
查看当前使用的日志文件目录及第一活动日志文件
用“db2getdbcfgfor”命令查看日志文件目录(pathtologfiles)参数,确定数据库当前使用的日志文件目录。
例如:
pathtologfiles=/db2log/,说明db2日志存放目录是/db2log
用“db2getdbcfgfor"命令查看第一活动日志文件(firstactivelogfile)参数,该参数对应的日志文件之前的日志文件均为归档日志文件,如果确认没有用,可以删除.例如:
firstactivelogfile=s0015913.log,说明当前第一活动日志文件是s0015913。
log。
备份好要删除的归档日志
删除归档日志以应用用户(如btp)登录,执行:
&#36;db2connectto
$;db2prunelogfilepriortos?
?
?
?
?
?
?
.log
注:
s?
?
?
?
?
?
?
。
log为查看到的第一活动日志文件。
此命令可以将当前第一活动日志文件之前的归档日志文件全部删除.
11、如何清理db2diag.log文件
db2diag。
log,是用来记录db2数据库运行中的信息的文件。
可以通过此文件,查看记录的有关db2数据库详细的错误信息.此文件也是不断增大的,需要定期进行清理。
可以通过查看实例的配置参数diagpath,来确定db2diag。
log文件是放在哪个目录下:
db2getdbmcfg如果diagnosticdatadirectorypath(diagpath)=/home/db2inst1/sqllib/db2dump,则此文件是放在/home/db2inst1/sqllib/db2dump目录下。
当文件系统/home的使用率达到80%-90%左右时,应及时删除db2diag。
log文件。
请按以下正确步骤操作:
确认应用(如btp)、db2已经停止.
将原db2diag.log文件备份到其它文件系统下。
删除db2diag。
log文件.删除后,db2会自动创建一个新的文件.
12、load操作
在进行load的时候
db2"loadfromacmmst。
txtofdelmodifiedbycoldelreplaceintoacmmstnonrecoverable"
由于数据不规范出现错误,强行中断以后,进行操作的时候出现如下错误:
sql0668noperationnotallowedforreasoncode"3"ontable"btp.acmmst”。
sqlstate=57016
此时,进行反方向操作即可:
db2”loadfrom/dev/nullofdelterminateintoacmmstnonrecoverable”。
如果没有使用参数nonrecoverable,则会出现数据库状态不正确的情况,使用:
db2listtablesapcesshowdetail查看状态,如果不是正常状态,则脱机状态进行备份即可。
两个表文件之间update的方法:
db2"updatecdmcrdsetoffset=(selectcdmlsl。
offsetfromcdmlslwherecdmlsl。
crdno=cdmcrd。
crdno)wherecdmcrd。
crdnoin(selectcdmlsl.crdnofromcdmlsl)
13、多字段条件查询和修改
表a中的字段有actno,cnlno,bal,pwd;表b中的字段为actno,cnlno,txnamt;目的是将a表中的bal修改为b表中的txnamt,命令:
db2”updateasetbal=(selecttxnamtfrombwhereactno=a.actnoandcnlno=lno)wherea。
lnoin(selectactnocnlnofromb);
14、多条件匹配查询
查询某个表中条件是b?
aaa的记录:
db2"select*fromawhereactnolike’b_aaa%’"。
查询数据中存在某些字符的记录:
db2"select*fromawhereactnolike'%-aaa%".
15、数据库恢复的处理
进行数据库恢复的时候使用以下的命令:
restoredbdb1to/tstdb2/catalogintodbnewlogpath/tstdb2/db2logbuffer2048replaceexistingredirectparallelism16;settablespacecontainersfor1using(path’/tstdb2/db2tmp’);settablespacecontainersfor2using(device'/dev/rtstcontlv00’2621440,device’/dev/rtstcontlv01'2621440,device’/dev/rtstcontlv02’2621440,device'/dev/rtstcontlv03’2621440);restoredbdb1continue;
恢复完成以后执行命令db2s时报如下的错误:
p570:
>db2ssql1117naconnectiontooractivationofdatabase”db"cannotbemadebecauseofroll-forwardpending.sqlstate=57019db21034ethecommandwasprocessedasansqlstatementbecauseitwasnotavalidcommandlineprocessorcommand。
duringsqlprocessingitreturned:
sql1024nadatabaseconnectiondoesnotexist。
sqlstate=08003
解决办法如下:
p570:
>db2rollforwarddbdbtoendoflogsandcompleterollforwardstatusinputdatabasealias=dbnumberofnodeshavereturnedstatus=1nodenumber=0rollforwardstatus=notpendingnextlogfiletoberead=logfilesprocessed=—lastcommittedtransaction=2005-11-20—10.59。
23.000000db20000itherollfo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DB2 数据库 日志 管理
![提示](https://static.bdocx.com/images/bang_tan.gif)