日期:2014-05-16  浏览次数:20368 次

db2命令
1.关闭db2   db2stop 或db2stop force。   在脚本中一般两个都写上,避免使用db2stop force命令,如:   db2stop   db2stop force  
2.启动db2   db2start   
3.创建数据库   db2 create db <db name>或db2 create db using codeset GBK territory CN   
4.删除数据库   执行此操作要小心。   db2 drop db <db name>   如果不能删除,断开所有数据库连接或者重启db2。   
5.断开数据库连接   db2 force application all   
6.连接数据库   db2 connect to <db name> user <username> using <passWord>   
7.断开数据库连接   断开当前数据库连接:   db2 connect reset或者:db2 disconnect current   断开所有数据库的连接:   db2 disconnect all   
8.备份数据库   db2 backup db <db name>   备注:执行以上命令之前需要断开数据库连接   
9.恢复数据库   db2 restore db <source db name>   
10.导出数据文件   db2move <db name> export   [-sn <模式名称,一般为db2admin>]   [-tn <表名,多个之间用逗号分隔>]   
11.导入数据文件   db2move <db name> import   
12.列出数据库中所有db   db2 list db directory   
13.进入db2命令环境   在“运行”中执行:db2cmd   
14.获取db2数据库管理配置环境信息   db2 get dbm cfg   
15.获取db2某个数据库数据库管理配置环境信息   db2 get db cfg for <db name>   或者:连接至某个数据库以后执行db2 get db cfg。   
16.设置联合数据库为可用(默认联合数据库不可用)   db2 update dbm cfg using federated yes   
17.更改db2日志空间的大小   备注:以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。   db2 UPDATE DB CFG FOR <db name> USING logretain OFF   logPRimary 3 logsecond 2 logfilsiz 25600;   如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。25600*4KB=102400KB。   
18.创建临时表空间   DB2 CREATE USER TEMPORARY TABLESPACE STMaspACE PAGESIZE 32 K   MANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000)   EXTENTSIZE 256  19.获取数据库管理器的快照数据   db2 –v get snapshot for dbm   
20.显示进行程号   db2 list applications show detail   
21.调查错误   sqlcode:产品特定错误码;   sqlstate:DB2系列产品的公共错误码,符合ISO/ANSI 92SQL标准。   调查sqlcode : db2 ? sql1403n   调查sqlstate: db2 ? 08004   
22.创建表空间   rem 创建缓冲池空间 8K   db2 connect to gather   db2 CREATE BUFFERPOOL STMABMP IMMEDIATE SIZE 25000 PAGESIZE 8K   rem 创建表空间:STMA   rem 必须确认路径正确   rem D:\DB2Container\Stma   db2 drop tablespace stma   db2 CREATE   REGULAR TABLESPACE STMA PAGESIZE 8 K   MANAGED BY SYSTEM   USING ('D:\DB2Container\Stma' ) EXTENTSIZE 8   OVERHEAD 10.5 PREFETCHSIZE 8 TRANSFERRATE 0.14 BUFFERPOOL   STMABMP   DROPPED TABLE RECOVERY OFF   db2 connect reset   
23. 将暂挂的数据恢复到前滚状态   db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE NORETRIEVE   
24.备份表空间   BACKUP DATABASE YNDC TABLESPACE ( USERSPACE1 )   TO "D:\temp" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING   
25.创建db2工具数据库   db2 create tools catalog systools create new database toolsdb   
26.如何进行增量/差量备份   增量:上一次完整备份至本次备份之间增加的数据部分;   差量(delta):上次备份以来(可能是完整备份、增量备份或者差量备份)至本次备份之间增加的数据部分;   
27.更新所有表的统计信息   db2 -v connect to DB_NAME   db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"   db2 -v reorgchkupdate statistics on table all   db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"   db2 -v terminate   
28.对一张表运行统计信息   db2 -v runstatson table TAB_NAMEand indexes all   
29.查看是否对数据库执行了RUNSTATS   db2 -v "select tbname, nleaf, nlevels,   stats_timefrom sysibm.sysindexes"   
30.更改缓冲池的大小,缓冲池中,当syscat.bufferpools的npages是-1时,由数据库的配置参数bufferpage控制缓冲池的大小。   将npages的值更改为-1的命令:   db2 -v connect to DB_NAME   db2 -v select * from syscat.bufferpools   db2 -v alter bufferpoolIBMDEFAULTBP size -1   db2 -v connect reset   db2 -v terminate   更改数据库配置参数BufferPages的命令如下:   db2 -v update db cfgfor dbnameusing BUFFPAGE bigger_value   db2 -v terminate   
31.查看数据库监视内容列表   db2 -v get monitor switches   32.打开某个数据库监视内容   db2 -v update monitor switches using bufferpoolon   
33.获取数据库快照   db2 -v get snapshot for all databases > snap.out   db2 -v get snapshot for dbm>> snap.out   db2 -v get snapshot for all bufferpools>> snap.out   db2 -v terminate   
34.重置数据库快照   db2 -v reset monitor all   
35.计算缓冲池命中率 理想情况下缓冲池命中率在95%以上,计算公式如下:   (1 -((buffer pool data physical reads + buffer pool index phys