选择显示字体大小

db2数据库部分日常实用操作

1、load 方法装入数据:

export to tempfile of del select * from tablename where not 清理条件;

load from tempfile of del modified by delprioritychar replace into tablename nonrecoverable;

说明:

在不相关的数据表export数据时,可以采取并发的形式,以提高效率;

tablename指待清理table的名称;

modified by delprioritychar防止数据库记录中存在换行符,导致数据无法装入的情况;

replace into对现数据库中的内容进行替换,即将现行的数据记录清理,替换为数据文件内容;

nonrecoverable无日志方式装入;

2、查找当前的应用db2 list application grep btpdbs;

3、删除当前正在使用的application:

db2 "force application (id1,id2,id3)"

id1,id2,id3 是list显示的应用号;

4、查看当前应用号的执行状态:

db2 get snapshot for application agentid 299 grep row

5、查看数据库参数:

db2 get db cfg for //当前数据库可以省略

6、修改数据库的log数据:

db2 update db cfg using <参数名> <参数值>

7、db2stop force的用法:

在进行bind的时候出现如下错误:

sql0082can error has occurred which has terminated processing.

sql0092nno package was created because of previous errors.

sql0091nbinding was ended with "3" errors and "0" warnings.

主要是表文件被加锁,不能继续使用;

在进行stop的时候报错:db2stop

8/03/2005 21:46:530 0 sql1025nthe database manager was not stopped because databases are still active.

sql1025nthe database manager was not stopped because databases are still active.

需要使用如下命令可以解决这个问题: db2stop force

08/03/2005 21:47:49 0 0 sql1064ndb2stop processing was successful.

sql1064ndb2stop processing was successful.

然后启动数据库db2start,连接数据库db2s后,重新进行bind即可。

8、缓冲池参数修改:

db2 alter bufferpool ibmdefaultbp size 10240

查看本表的数据内容如下:db2 "select * from syscat.bufferpools";

9、db2 日志处理:

db2日志是以文件的形式存放在文件系统中,分为两种模式:循环日志和归档日志。当创建新数据库时,日志的缺省模式是循环日志。在这种模式下,只能实现数据库的脱机备份和恢复。如果要实现联机备份和恢复,必须设为归档日志模式

目前在综合业务系统中,设置的均是归档日志模式;其它系统(如事后监督、经营决策、中间业务等)一般都设置为循环日志模式。至于采用何种模式,可以通过修改数据库配置参数(logretain)来实现: 归档日志模式db2 update db cfg for using logretain on 注:改为on后,查看数据库配置参数logretain的值时,实际显示的是recovery。改变此参数后,再次连接数据库会显示数据库处于备份暂挂(backup pending)状态。这时,需要做一次对数据库的脱机备份(db2 backup db ),才能使数据库状态变为正常。

循环日志模式db2 update db cfg for using logretain off

10、db2 日志处理

必须按照以下正确的步骤进行操作:

要求必须使用db2命令prune进行清理,不建议使用rm命令删除。

删除前应保证应用已停止(即联机已下来)。

查看当前使用的日志文件目录及第一活动日志文件

用 “db2 get db cfg for ”命令查看日志文件目录(path to log files)参数,确定数据库当前使用的日志文件目录。 例如:path to log files = /db2log/,说明db2日志存放目录是/db2log

用 “db2 get db cfg for ”命令查看第一活动日志文件(first active log file)参数,该参数对应的日志文件之前的日志文件均为归档日志文件,如果确认没有用,可以删除。 例如:first active log file = s0015913.log,说明当前第一活动日志文件是s0015913.log。 

备份好要删除的归档日志

删除归档日志 以应用用户(如btp)登录,执行:

&#36; db2 connect to

&#36; db2 prune logfile prior to s???????.log

注:s???????.log为查看到的第一活动日志文件。此命令可以将当前第一活动日志文件之前的归档日志文件全部删除。

11、如何清理db2diag.log文件

db2diag.log,是用来记录db2数据库运行中的信息的文件。可以通过此文件,查看记录的有关db2数据库详细的错误信息。此文件也是不断增大的,需要定期进行清理。

可以通过查看实例的配置参数diagpath,来确定db2diag.log文件是放在哪个目录下:db2 get dbm cfg 如果diagnostic data directory path(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 "load from acmmst.txt of del modified by coldel replace into acmmst nonrecoverable ”

由于数据不规范出现错误,强行中断以后,进行操作的时候出现如下错误:

sql0668noperation not allowed for reason code "3" on table "btp.acmmst".

sqlstate=57016

此时,进行反方向操作即可:

db2 "load from /dev/null of del terminate into acmmst nonrecoverable"。

如果没有使用参数nonrecoverable,则会出现数据库状态不正确的情况,使用:

db2 list tablesapces show detail 查看状态,如果不是正常状态,则脱机状态进行备份即可。

两个表文件之间update的方法:

db2 "update cdmcrd set offset = (select cdmlsl.offset from cdmlsl where cdmlsl.crdno=cdmcrd.crdno) where cdmcrd.crdno in (select cdmlsl.crdno from cdmlsl)

13、多字段条件查询和修改

表a中的字段有actno, cnlno,bal,pwd;表b中的字段为actno,cnlno,txnamt;目的是将a表中的bal修改为b表中的txnamt,命令:

db2 "update a set bal=(select txnamt from b where actno=a.actno and cnlno=a.cnlno) where a.actnoa.cnlno in (select actnocnlno from b );

14、多条件匹配查询

查询某个表中条件是b?aaa的记录:

db2 "select * from a where actno like 'b_aaa%'".

查询数据中存在某些字符的记录:

db2 "select * from a where actno like '%-aaa%".

15、数据库恢复的处理

进行数据库恢复的时候使用以下的命令:

 restore db db1 to /tstdb2/catalog into db newlogpath /tstdb2/db2log buffer 2048

replace existing redirect parallelism 16;

set tablespace containers for 1 using (path '/tstdb2/db2tmp');

set tablespace containers for 2 using

(device '/dev/rtstcontlv00' 2621440, device '/dev/rtstcontlv01' 2621440,

device '/dev/rtstcontlv02' 2621440, device '/dev/rtstcontlv03' 2621440 ) ;

restore db db1 continue;

恢复完成以后执行命令db2s时报如下的错误:

p570:>db2s

sql1117n a connection to or activation of database "db" cannot be made

because of roll-forward pending. sqlstate=57019

db21034e the command was processed as an sql statement because it was not a

valid command line processor command. during sql processing it returned:

sql1024n a database connection does not exist. sqlstate=08003

解决办法如下:

p570:>db2 rollforward db db to end of logs and complete

rollforward status

input database alias = db

number of nodes have returned status = 1

node number = 0

rollforward status = not pending

next log file to be read =

log files processed = -

last committed transaction = 2005-11-20-10.59.23.000000

db20000i the rollforward command completed successfully.

(  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons