DB2( 三 )


DB2

文章插图
常用命令1.关闭db2db2stop 或db2stop force 。在脚本中一般两个都写上,避免使用db2stop force命令,如:db2stopdb2stop force2.启动db2db2start3.创建资料库db2 create db <db name>或db2 create db using codeset GBK territory CN4.删除资料库执行此操作要小心 。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 all8.备份资料库db2 backup db <db name>备注:执行以上命令之前需要断开资料库连线9.恢复资料库db2 restore db <source db name>10.导出数据档案db2move <db name> export[-sn <模式名称,一般为db2admin>][-tn <表名,多个之间用逗号分隔>]11.导入数据档案db2move <db name> import12.列出资料库中所有dbdb2 list db directory13.进入db2命令环境在“运行”中执行:db2cmd14.获取db2资料库管理配置环境信息db2 get dbm cfg15.获取db2某个资料库资料库管理配置环境信息db2 get db cfg for <db name>或者:连线至某个资料库以后执行db2 get db cfg 。16.设定联合资料库为可用(默认联合资料库不可用)db2 update dbm cfg using federated yes17.更改db2日誌空间的大小备注:以下命令为了防止db2资料库过份使用硬碟空间而设,仅用于开发者自己机器上的db2,如果是伺服器,则参数需要修改 。db2 UPDATE DB CFG FOR <db name> USING logretain OFFlogPRimary 3 logsecond 2 logfilsiz 25600;如果页大小是4KB,则以上命令创建3个100M的日誌档案,占用300MB硬碟空间 。25600*4KB=102400KB 。18.创建临时表空间DB2 CREATE USER TEMPORARY TABLESPACE STMaspACE PAGESIZE 32 KMANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000)EXTENTSIZE 25619.获取资料库管理器的快照数据db2 –v get snapshot for dbm 20.显示进行程号db2 list applications show detail21.调查错误sqlcode:产品特定错误码;sqlstate:DB2系列产品的公共错误码,符合ISO/ANSI 92SQL标準 。调查sqlcode : db2调查sqlstate: db2 ? 0800422.创建表空间rem 创建缓冲池空间 8Kdb2 connect to gatherdb2 CREATE BUFFERPOOL STMABMP IMMEDIATE SIZE 25000 PAGESIZE 8Krem 创建表空间:STMArem 必须确认路径正确rem D:\DB2Container\Stmadb2 drop tablespace stmadb2 CREATEREGULAR TABLESPACE STMA PAGESIZE 8 KMANAGED BY SYSTEMUSING ('D:\DB2Container\Stma' ) EXTENTSIZE 8OVERHEAD 10.5 PREFETCHSIZE 8 TRANSFERRATE 0.14 BUFFERPOOLSTMABMPDROPPED TABLE RECOVERY OFFdb2 connect reset23. 将暂挂的数据恢复到前滚状态db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE NORETRIEVE24.备份表空间BACKUP DATABASE YNDC TABLESPACE ( USERSPACE1 )TO "D:\temp" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING25.创建db2工具资料库db2 create tools catalog systools create new database toolsdb26.如何进行增量/差量备份增量:上一次完整备份至本次备份之间增加的数据部分;差量(delta):上次备份以来(可能是完整备份、增量备份或者差量备份)至本次备份之间增加的数据部分;27.更新所有表的统计信息db2 -v connect to DB_NAMEdb2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"db2 -v reorgchkupdate statistics on table alldb2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes" db2 -v terminate28.对一张表运行统计信息db2 -v runstatson table TAB_NAMEand indexes all29.查看是否对资料库执行了RUNSTATSdb2 -v "select tbname, nleaf, nlevels,stats_timefrom sysibm.sysindexes"30.更改缓冲池的大小,缓冲池中,当syscat.bufferpools的npages是-1时,由资料库的配置参数bufferpage控制缓冲池的大小 。将npages的值更改为-1的命令:db2 -v connect to DB_NAMEdb2 -v select * from syscat.bufferpoolsdb2 -v alter bufferpoolIBMDEFAULTBP size -1db2 -v connect resetdb2 -v terminate更改资料库配置参数BufferPages的命令如下:db2 -v update db cfgfor dbnameusing BUFFPAGE bigger_valuedb2 -v terminate31.查看资料库监视内容列表db2 -v get monitor switches32.打开某个资料库监视内容db2 -v update monitor switches using bufferpoolon33.获取资料库快照db2 -v get snapshot for all databases > snap.outdb2 -v get snapshot for dbm>> snap.outdb2 -v get snapshot for all bufferpools>> snap.outdb2 -v terminate34.重置资料库快照db2 -v reset monitor all35.计算缓冲池命中率 理想情况下缓冲池命中率在95%以上,计算公式如下:(1 -((buffer pool data physical reads + buffer pool index physical reads)/(buffer pool data logical reads + pool index logical reads))) *100%36.创建db2实例db2icrt <实例名称>37.删除db2实例db2idrop <实例名称>38.设定当前db2实例set db2intance=db239.显示db2拥有的实例 db2ilist40.恢复离线增量备份资料库的命令DB2 RESTORE DATABASE YNDC INCREMENTAL AUTOMATIC FROMD:\backup\autobak\db2 TAKEN AT41.创建样本资料库在unix平台,使用:sqllib/bin/db2sampl <path>在windows,os/2平台,使用:db2sampl e,e是可选参数,指定将创建资料库的驱动器;42.列出资料库中所有的表db2 list tables43.列出某个表的数据结构db2 describe table v_ro_role44.给表增加列ALTER TABLE STAFFADD COLUMN PNHONE VARCHAR(20)45.数据迁移方法1export脚本示例db2 connect to testdb user test password testdb2 "export to aa1.ixf of ixf select * from table1"db2 "export to aa2.ixf of ixf select * from table2"db2 connect resetimport脚本示例db2 connect to testdb user test password testdb2 "load from aa1.ixf of ixf replace into table1 COPY NO without prompting "db2 "load from aa2.ixf of ixf replace into table2 COPY NO without prompting "db2 connect reset错误处理DB2电脑程式一个重要的特徵就是错误处理 。SQL communications area(SQLCA)结构曾一度被专门用于DB2程式在每个SQL语句被执行后向应用程式返回错误信息 。在SQLCA block中常见错误诊断被体现在SQLCODE中 。SQL返回代码的值对应为:· 0表示成功执行· 正值表示成功执行但是有一个或多个警告 。例如+100表示没有行被发现 。· 负值表示出现错误 。例如-911表示锁逾时(或死锁),并触发撤消程式 。精简版DB2 Express-C资料库提供全球範围的下载,但是并不是所有地方都有宽频网路 。因此,IBM发布了一个基于Windows的DB2 Express-C 9.7.2精简版 。较之完全版,精简版惊人的缩减了44% 。不同于精简版,DB2 Express-C(完全版)包括控制中心、全文检索、配置助手以及第一步嚮导 。同时完全版的用户界面还支持非英语语言 。但是,如果用户不需要这些特性,则可以选择DB2 Express-C(精简版)进行快速下载和简单安装 。例如,如果在Windows伺服器上设定一个用Data Studio来进行远程管理的DB2资料库,那幺DB2 Express-C精简版就是一个不错的选择 。