DB2数据库中的日常实用操作大全经典版

数据库
我们今天主要描述的是DB2数据库中的日常实用操作大全,假如你也是DB2数据库疯狂一族的话,你就可以浏览以下的文章了。

以下的文章主要描述的是DB2数据库中的日常实用操作大全,前两天在相关网站看见DB2数据库中的日常实用操作大全的资料,觉得挺好,就拿出来供大家分享,假如你对其有兴趣的话你就可以点击以下的文章进行观看了。

DB2数据库中的日常实用操作全集(1)

对于DB2数据库而言在日常应用管理中会使用很多的操作,下面就给大家介绍一些使用的操作,希望能对您在DB2数据库操作中有一些帮助。

1、Load 方法装入数据:

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

  1. 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:

  1. DB2 "force application (Id1,Id2,Id3)" 

Id1,Id2,Id3 是List显示的应用号;

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

  1. 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的时候出现如下错误:

  1. SQL0082CAn error has occurred which has terminated processing.  
  2. SQL0092NNo package was created because of previous errors.  
  3. SQL0091NBinding was ended with "3" errors and "0" warnings.  

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

在进行stop的时候报错:DB2stop

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

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

  1. 08/03/2005 21:47:49 0 0 SQL1064NDB2STOP processing was successful.  
  2. SQL1064NDB2STOP processing was successful.  

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

8、缓冲池参数修改:

  1. 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)登录,执行:

  1. $ DB2 connect to  
  2. $ DB2 prune logfile prior to S???????.LOG  

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

DB2数据库中的日常实用操作全集(2)#p#

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的时候

  1. DB2 "load from acmmst.txt of del modified by coldel| replace into acmmst nonrecoverable ” 

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

  1. SQL0668NOperation not allowed for reason code "3" on table "BTP.ACMMST".  
  2. SQLSTATE=57016 

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

  1. DB2 "load from /dev/null of del terminate into acmmst nonrecoverable"。 

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

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

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

  1. 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,命令:

  1. DB2 "update A set bal=(select txnamt from B where actno=A.actno and cnlno=A.Cnlno) where A.actno||A.cnlno in (select Actno||cnlno from B ); 

14、多条件匹配查询

查询某个表中条件是B?AAA的记录:

  1. DB2 "select * from A where actno like "B_AAA%"". 

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

  1. DB2 "select * from A where actno like "%-AAA%". 

15、数据库恢复的处理

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

  1. restore db db1 to /tstdb2/catalog into db newlogpath /tstdb2/db2log buffer 2048  
  2. replace existing redirect parallelism 16;  
  3. set tablespace containers for 1 using (path '/tstdb2/db2tmp');  
  4. set tablespace containers for 2 using  
  5. (device '/dev/rtstcontlv00' 2621440, device '/dev/rtstcontlv01' 2621440,  
  6. device '/dev/rtstcontlv02' 2621440, device '/dev/rtstcontlv03' 2621440 ) ;  
  7. restore db db1 continue; 

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

  1. P570:>db2s  
  2. SQL1117N A connection to or activation of database "DB" cannot be made  
  3. because of ROLL-FORWARD PENDING. SQLSTATE=57019 
  4. DB21034E The command was processed as an SQL statement because it was not a  
  5. valid Command Line Processor command. During SQL processing it returned:  
  6. SQL1024N A database connection does not exist. SQLSTATE=08003 

解决办法如下:

  1. P570:>db2 rollforward db db to end of logs and complete   
  2. Rollforward Status  
  3. Input database alias = db 
  4. Number of nodes have returned status = 1 
  5. Node number = 0 
  6. Rollforward status = not pending  
  7. Next log file to be read =  
  8. Log files processed = -  
  9. Last committed transaction = 2005-11-20-10.59.23.000000  
  10. DB20000I The ROLLFORWARD command completed successfully.   
  11.  

以上的相关内容就是对DB2数据库中的日常实用操作全集的介绍,望你能有所收获。

 

【编辑推荐】

  1. 对DB2分区兼容性类型的属性描述
  2. 对DB2 9.7武器的功能的描述
  3. IBM DB2连接集中器的基本操作原理
  4. DB2 V9.5 新特性有哪些好处?
  5. DB2 batch update注意事项的描述
责任编辑:佚名 来源: infoQ
相关推荐

2010-08-04 14:45:12

2010-09-07 16:45:58

DB2数据库

2011-05-16 14:42:12

DB2数据库实用操作

2010-08-12 09:33:30

DB2数据库备份

2010-08-16 14:39:09

DB2数据库解死锁

2010-09-06 12:44:24

DB2数据库

2010-11-03 15:24:36

DB2数据库命令

2010-08-03 13:23:47

DB2自动增长主键

2010-09-01 10:17:14

DB2日志

2011-03-15 11:19:45

DB2数据库catalog

2010-08-12 10:27:21

DB2数据库备份

2010-08-02 09:52:19

DB2数据库优化

2010-08-13 10:43:49

IBM DB2数据库

2011-03-11 16:02:03

DB2数据库安装

2010-09-01 15:23:59

DB2字段类型

2010-08-16 13:25:41

DB2数据库操作

2011-08-18 19:10:27

DB2数据库命令

2010-08-03 13:56:11

DB2表复制

2011-03-16 16:03:00

DB2数据库

2010-08-11 08:39:57

DB2 数据库
点赞
收藏

51CTO技术栈公众号