DB2常用命令(2)
来源:未知 责任编辑:责任编辑 发表时间:2015-03-01 01:40 点击:次
2、 带条件卸载一个表中数据
db2 "export to puser.txt of del select * from puser where brhid='907020000'"
db2 "export to cmmcode.txt of del select * from cmmcode where codtp='01'"
三、查询数据结构及数据:
db2 "select * from puser"
db2 "select * from puser where brhid='907020000' and oprid='0001'"
db2 "select oprid,oprnm,brhid,passwd from puser"
四、删除表中数据:
db2 "delete from puser where brhid='907020000' or brhid='907010000'"
五、修改表中数据:
db2 "update svmmst set prtlines=0 where brhid='907010000' and joww='02'"
六、联接数据库
db2 connect to spdb
七、清除数据库联接
db2 connect reset 断开数据库连接
db2 terminate 断开数据库连接
db2 force applications all 断开所有数据库连接
数据库优化命令:
reorg、runstats
当数据库经过一段时间使用,数据空间会变得越来越庞大。一些delete掉的数据仍存放在数据库中,占用数据空间,影响系统性能。因此需要定期运行reorg、runstats命令,清除已delete的数据,优化数据结构。
db2 reorg table 表名
db2 runstats on table 表名 with distribution and indexes all
因为要优化的表比较多,所以在/ww/bin目录下提供了一个sh程序runsall,可在当天业务结束后,运行runsall,对数据库进行优化。
关于db2move的使用
以前用db2move到过数据,不过觉得使用时有些限制。所以有时候还是自己写脚本来倒数。这几天因为bi项目升级,测试的时候想重构数据库。主要是想修改表的schema和tablespace,比较烦琐的方法是
1>在源系统上运行db2look生成ddl脚本。或者使用db2cc用图形界面生成脚本;
2>修改script中关于schema和tablespace的信息;
3>在目标系统上运行修改后的脚本;
4>用sql生成export、import或load的批量脚本,进行数据迁移;
5>实际操作中,使用load的时候可能会发生破坏表完整性约束的情况,需要执行set integrity for <tablename> immediate checked消除表check pending的状态;
现在再说说使用db2move实现的步骤,通常db2move的操作是在same schema情况下使用的。
db2move uibs export -u db2inst1 -p db2inst1
db2move r_uibs export -u db2inst1 -p db2inst1
批量导出
观察生成的文件,其中有个db2move.lst文件,内容如下:
!"tkpm62 "."opb_analyze_dep"!tab1.ixf!tab1.msg!
我试着把内容改成
!"tkpm "."opb_analyze_dep"!tab1.ixf!tab1.msg!
“tkpm”是我在目标系统中的schema名称,我想看看这样能不能间接实现schema名称的转换
db2move uibs import -u ww -p yangyang
成功了,跟我预想的一样。
不过有些不理想的地方,运行db2move时系统虽然会自动建表,但是也仅限于表,表上的视图和索引还需要自行创建)
所以需要在导完数据后,用脚本创建索引和视图,以及授权等操作。这样可以防止破坏表的完整性。
db2的备份(backup)和恢复(restore)数据库方法
一、备份(backup)数据库
1、离线全备份
1)、首先确保没有用户使用db2:
db2 list applications for db sample
2)、停掉数据库并重新启动,以便断掉所有连接:
db2stop force
db2start
3)、执行备份命令:(使用tsm作为备份的介质)
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>