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

来源:互联网 发布:cc2540串口透传源码 编辑:程序博客网 时间:2024/06/02 00:24


用db2look -d tjoa -z DB2INST1 -e -o tjoa.ddl -i db2inst1 -w db2inst1 语句
生成 ddl语句 其中包括 生成表索引等于语句

用db2 -tvf e:/temp/db/tjoa.ddl 创建表


用db2 "select 'export to ' || rtrim(tabname) || '.ixf of ixf select * from ' || rtrim(tabname) || ';' from syscat.tables where tabschema = 'DB2INST1'" > export.sql
语句生成导出语句文件 编辑文件、去掉开头结尾 并给每条语句的导出文件加上路径
用 db2 -tvf export.sql 导出表
在你加上的路径中便是导出文件

用db2 "select 'load from ' || rtrim(tabname) || '.ixf of ixf insert into ' || rtrim(tabname) || ';' from syscat.tables where tabschema = 'DB2INST1'" > load.sql
生成倒入语句文件 编辑文件、去掉开头结尾、并给每条语句的导入文件加上路径
用 db2 -tvf e:/temp/db/load.sql 导入数据
后建原手工建的表空间

 

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的时候出现如下错误:
       SQL0082C  An error has occurred which has terminated processing.
       SQL0092N  No package was created because of previous errors.
       SQL0091N  Binding was ended with "3" errors and "0" warnings.
   主要是表文件被加锁,不能继续使用;
在进行stop的时候报错:db2stop
   8/03/2005 21:46:53  0 0   SQL1025N  The database manager was not stopped because databases are still active.
   SQL1025N  The database manager was not stopped because databases are still active.
需要使用如下命令可以解决这个问题: db2stop force
   08/03/2005 21:47:49     0   0   SQL1064N  DB2STOP processing was successful.
   SQL1064N  DB2STOP 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 日志处理:
    必须按照以下正确的步骤进行操作: