Db2+常用命令.doc_第1页
Db2+常用命令.doc_第2页
Db2+常用命令.doc_第3页
Db2+常用命令.doc_第4页
Db2+常用命令.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Db2 常用命令d:winntsystem32driversetcservices文件是对机器名到IP地址的解析。d:winntsystem32driversetchosts文件是对端口名到端口号的解析。以上两条上非DB2的,但在DB2中使用到。db2admin start 起动DB2管理DB2里对一个命令的HELP是:db2 ? 该命令db2 连接到远程数据库第一步建一个结点:db2 catalog tcpip node 结点名 remote 数据库服务器IP地址 server 端口(50000)第二步建一个到库的联结别名:db2 catalog db 库名 as 别名 at node 结点名第三步建立联结:db2 connect to 别名 user 用户名 using 用户密码断开联结:db2 connect resetdb2里需要用到一个系统环境变量:db2codepage, 缺省值是1386,此值非常重要,客户端于数据库端的db2codepage不一样时客户端就无法连上数据库端。DB2里一个表的全名是:schema.表名,缺什情况下不同的用户看到的表是不一样的,在程序的sql语句里必需用表的全名(切记)。查看有哪些程序在使用该数据库:db2 list application 其结果中有一个字段application-handle在杀死该引用中用到杀死一个程序对该数据库的使用:db2 force application all | (application-handle)在库被使用时db2stop不能执行DB2命令后所带参数:-t 以;作为一句结束-f 指向一个文件(即执行一个文件中的语句,在command窗口里有些命令无法执行,可先用notepad建一个文件然后执行它)-v (我不知道是什么)注释:-v用于显示当前所执行的sql命令。一个windows nt 里的一般用户可以连到库,但无一般SQL语句的执行权,授权给一个用户:db2 grant sql语句(例如:select) on 表名 to user 用户名取消该用户的权:db2 revoke sql语句 on 表名 from 用户名DB2日志有两种:循环日志和永久型日志循环日志:有3个文件循环写,所以会产生以前的操作记录被覆盖。好处:日志文件大小不变,备份方便,但不可以在线备份。永久日志:其日志文件不断增涨,但操作记录不会被覆盖,可以在线备份。如何备份:db2 backup db 数据库名 to 设备名(如:c:);恢复:db2 restore db 数据库名 from 设备名(回滚rollforward我不太清楚)注释:rollforword 是前滚的意思,向前到某一个时间,以保持数据的一致性,用于在线备份后的恢复,恢复是从log日志中开始到日志中的某一个时间,即可。只有在数据一致性得到保证的情况下,才能继续对数据库操作。连接到数据库时报回滚错误用下面的命令:db2 rollforward db fmisadd to end of logs and complete导出导入数据库:-exportdb2move hadb export -u userid -p password; -importdb2move hadb import -u userid -p password;导出库中表的数据:export to 文件名.ixf of ixf select * from 表名import from 文件名.ixf of ixf create into 表名导出库的数据格式还有两种del(文件格式)和wsf,但ixf格式信息最全,包含表结构信息,可恢复出已删去的表。sql的inner/left/right/full join,这些概念在中有说明,left以左表为主,right以右表为主,full左右表记录都会在查寻结果中。例如:select aa,bb from db1 left join db2 on db1.id=db2.id合并查寻:把两个或几个查寻结果合并到一个字段(条件是字段必须兼容)格式:select . union select .;使用临时表:with tmptable (字段1,.) as (select.) -建一个临时表select 字段1,. from tmptable,另一个表 where. -使用该临时表于另一个表交叉查寻。*order by 必需出现在结果集,在临时表中不能用。截取字符串substr(字段名,开始位置,字符个数)判断是否是空字段名 is null例子:到什么时候活了10000天:select distinct date(1980-01-01)+10000 day from a一共活了多少天:select distinct days(current date)-days(date(1980-01-01) from a类型转换:用cast ,例:select distinct cast(current date as char(10)|aa from acase的使用:select case when length(rtrim(学历)=0 then 未知学历 else xl end,rs from a例:查寻一个公司的年龄分布:with tmptable as (select case when year(current day)-csrq20 then 小于20岁 when year(current day)-csrq25 then 20-24岁 when year(current day)-csrq30 then 25-29岁 when year(current day)-csrq35 then 30-34岁 when year(current day)-csrq40 then 35-39岁 when year(current day)-csrq45 then 40-44岁 when year(current day)-csrq50 then 45-49岁 else 大于50岁 endas x from a)select x,count(*) from tmptable group by x;一个数据库中有些系统建的表是用来保存该库各种信息的,如:syscat.tables例:查有多少个userid的表: select count(*) from syscat.tables where type=T and tabschema=uerid例:产生一个备分库中所有表的文本:select export to | tabname | .ixf of ixf select * from userid. |tabname|; from syscat.tables where type=T and tabschema=userid;性能调整:影响到DB2性能的有:能够利用服务器的性能:1.并行性 2.减少通信建立Index ,= 第一类搜索谓词, ,like 第二类搜索谓词, 需要用函数 第三类搜索谓词,select * from a *尽量要哪个字段写哪个字段。blocking的概念 客户端请求一次,数据库返回n个记录。复合型SQL(我不太清楚)注释:是指他所讲的联结union,建立临时表等复杂的sql语句。DB2会对SQL语句优化,系统对表的信息知道的越多,优化越好,所以要做runstatsrunstats命令把表的信息告诉系统,一般当数据量增加一倍时用该命令一次。REORG命令是数据库整理,类似于磁盘碎片整理。得到该instance的各种参数:(dbm cfg是整个DB2的参数,db cfg是对某个数据库的参数)db2 get dbm cfgdb2 get db cfg for 数据库名修改参数:db2 update dbm cfg using 参数 你要的数db2 update db cfg for 数据库名 using 参数 你要的数当第一个用户连结到该数据库时会申请一个内存缓冲,默认是250页每页4k即1M。Buffer pool size BUFFPAGE=250修改该值:db2 update db cfg for test using buffpage 你要的数但它的有效还取决于syscat.bufferpools中的npages是否为-1,为-1时它才有效,否则以syscat.bufferpols中的npage为准。可用下面的命令看:select * from syscat.bufferpools一般此值的设置应为系统内存的40左右,太大时会使系统因动用虚拟内存从而太吃力。sql语句的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论