查看: 13994|回复: 23

[精华] 【俊哥儿张】DB2:学习 DB2LOOK 命令

[复制链接]
求职 : 数据库管理员
论坛徽章:
186
授权会员
日期:2008-07-27 22:25:202014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14版主4段
日期:2015-02-26 02:21:03慢羊羊
日期:2015-03-04 14:51:35
跳转到指定楼层
1#
发表于 2008-8-13 20:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
学习 DB2LOOK 命令
这两天看奥运兴奋的很,可惜今天是男足对巴西,不想受打击,写篇文章来灌水~

第一步,欲善其工,必先利其器
熟练的掌握数据库提供的各个工具,是做好DBA的基础。
在DB2所提供的众多工具中,DB2LOOK 绝对是我们最常用的工具之一。随着DB2 V9.5最新版本的推出,很多工具也增加了新的功能。

在学习之时,请务必保证自己手头有“四大至宝”:
•DB2 任意版本
        无论是 UDB 还是 Express-C,无论是 Windows 还是 Linux版,必须有一个(废话)

•DB2 信息中心
此为学习DB2的“圣经”~以下是各个版本的URL
DB2 V8 信息中心
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp
DB2 V9 信息中心
http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp
DB2 V9.5 信息中心
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp

•IBM DeveloperWorks
        拥有大量的技术文档和教程,十分全面,而且最新:
http://www-128.ibm.com/developerworks
        English 不太好的可以看中文的
        http://www-128.ibm.com/developerworks/cn/

• ITPUB
        这个至宝就法力超高,众仙云集~
       
以上“四大至宝”请务必随时“在手”,如果能够做到“在心”,那你就进入高手行列,估计相当于 ITPUB 众牛人 myfriend2010, diablo2, bpmfhu, wangzhonnew, qqone, askgyliu, macrozeng, unixnewbie 等的 60% 功力,一般的小问题就可以自行解决了。

第二步,学习基础知识
DB2LOOK 语法
>>-db2look-- -d--DBname--+-----+--+--------------+-------------->
                         '- -e-'  '- -u--Creator-'   

>--+-------------+--+-------------------------------------+----->
   '- -z--schema-'  '-+----------------+--+-------------+-'   
                      |      .-------. |  '- -tw--Tname-'     
                      |      V       | |                     
                      '- -t----Tname-+-'                     

>--+------+--+------+--+----------------+--+-----+--+------+---->
   '- -ct-'  '- -dp-'  |      .-------. |  '- -h-'  '- -ap-'   
                       |      V       | |                     
                       '- -v----Vname-+-'                     

>--+------------+--+-----+--+-----------------------+----------->
   '- -o--Fname-'  '- -a-'  '- -m--+-----+--+-----+-'   
                                   '- -c-'  '- -r-'     

>--+-----+--+-----+--+------+--+-----+--+-----------------+----->
   '- -l-'  '- -x-'  '- -xd-'  '- -f-'  '- -td--delimiter-'   

>--+----------+--+----------------------------+--+-------+------>
   '- -noview-'  '- -i--userid-- -w--password-'  '- -wlm-'   

>--+------------------+--+---------+--+-----------+------------->
   +- -wrapper--Wname-+  '- -nofed-'  '- -fedonly-'   
   '- -server--Sname--'                              

>--+---------------------------+-------------------------------><
   '- -xs--+-----------------+-'   
           '- -xdir--dirname-'     

重要参数详解:
-d DBname                        : 指定 数据库名
-e                                        : 生成 数据库对象的 DDL 语句
-l                                        : 生成 用户定义的 表空间、数据库分区组、Buffer Pools
                                                的 DDL 语句
-u Creator                        : 指定 创建者ID 的对象
-a                                        : 指定不限制 创建者
-z schema                        : 指定 Schema
-t Tname1 Tname2 ... TnameN                : 指定 特定的 表
-v Vname1 Vname2 ... VnameN                : 指定 特定的 View
-tw  Tname                        : 指定 表名字的匹配格式,日志表'LOG%'
-o OutputFile                : 指定输出结果文件名
-m                                        : 生成 复制 统计信息表的 UPDATE 语句。
-x                                        : 生成 用户权限 相关DDL
-xd                                        : 生成 系统权限 相关DDL
-xs                 :XML模式存储库(XSR)对象(XML模式、DTD和外部实体)
-xdir dirname                        :XSR对象的放置位置

第三步,实践出真知
引用名人的一句话“纸上来得终觉浅,绝知此事要躬行!”  --- 出自 ITPUB 元老 owlstudio

“君子动口,更要动手”  --- 自 俊哥儿张
囧TL

要想成为真正的高手,丰富的理论知识是不够的,还必须深入实践,精益求精~

下面是 db2look 命令的一些应用实例,各个实例关注的重点不同:

实例1. 生成数据库对象DDL的顺序
这里我们关注的 DDL 的生成顺序,命令如下:
db2look -d SAMPLE -a -e  -c

详解:
结果无CREATE DATABASE 及相关语句,按照下列顺序依次生成DDL:
以下是我们常见的数据库DDL 生成顺序:
        CONNECT TO SAMPE
开始
        XSR 对象的 DDL 语句
        模式(SCHEMA)
        序列(SEQUENCE)
        表(TABLE)
        主键(FOREIGN)
        索引(INDEX)
        外键(FOREIGN KEY)
        其它约束(CHECK)
        用户定义的函数的 DDL 语句
        FUNCTION
        视图(VIEW)
        别名(ALIAS)
        存储过程(PROCEDURE)
        触发器(TRIGGER)

最后,以
        COMMIT WORK;
        CONNECT RESET;
        TERMINATE;
结束

实例2. 查看特定表
如果认为下面的语句可以生成表 EMPLOYEE 的DDL,
db2look -d SAMPLE -t  " EMPLOYEE "

那就大错特错了!

这里我们要注意的是,并没有生成DDL语句,
要想生成DDL语句,必须使用如下命令:
db2look -d SAMPLE -t  " EMPLOYEE "  -a –e –c

但是,这里边有大量的垃圾信息,注意过滤。

实例3. 生成 XSR 对象的 DDL 语句
db2look -d SAMPLE -a -e  -xs  -xdir e:  -c  -o e:db2look.sql

生成的DDL如下:
------------------------------------------------
-- XSR 对象的 DDL 语句 "DB2INST1"."CUSTOMER"
------------------------------------------------

REGISTER XMLSCHEMA "http://posample.org" FROM e:doc_562949953421312 AS "DB2INST1"."CUSTOMER";

COMPLETE XMLSCHEMA "DB2INST1"."CUSTOMER" WITH e:md_281474976710656;

您可以到据此在 e:doc_562949953421312 和 e:md_281474976710656 中找到您需要的更详细的信息。

实例4. 生成统计信息表的UPDATE语句
这个实例主要是学习 –m 选项,在模拟方式下运行 db2look 实用程序。

此选项将生成包含 SQL UPDATE 语句的脚本,这些 SQL UPDATE 语句捕获所有统计信息,可以对另一个数据库运行此脚本以便复制初始的那一个。

注意:当指定了 -m 选项时,将忽略 -p、-g 和 -s 选项

我们什么时候用的到该选项呢?如果测试数据库用于测试性能或调试性能问题,则对两个数据库生成的访问方案应该完全相同。优化器根据统计信息、配置参数、注册表变量和环境变量来生成访问方案。如果两个系统间的这些设置完全相同,则访问方案很可能是相同的。

如果将完全相同的数据装入到两个数据库中,并且对它们两个执行相同的 RUNSTATS 选项,则统计信息也应该完全相同。

但是,如果数据库包含不同数据,或者如果测试数据库中只使用数据的子集,则统计信息可能会有显著差别。在这种情况下,可使用 db2look 来从生产数据库收集统计信息并将它们放在测试数据库中。通过对可更新表的 SYSSTAT 集合创建 UPDATE 语句并对所有表创建 RUNSTATS 命令来执行此操作。

用于创建统计信息语句的选项为 -m。返回至 SAMPLE/SAMPLE2 示例,从 SAMPLE1 收集统计信息并将其添加至 SAMPLE2:

db2look -d sample1 -m –o  statsupdate.sql

修改完脚本 statsupdate.sql 后就可以应用到 sample2 上了

db2 –tvf  statsupdate.sql


小结:
本文意在抛砖引玉,希望能跟大家分享我学习DB2的经验,如有不当之处,请大家拍板砖~
献丑了

[ 本帖最后由 zhangzongjun 于 2008-8-13 20:49 编辑 ]
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
2#
发表于 2008-8-13 21:00 | 只看该作者
支持原创

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
3#
发表于 2008-8-13 21:03 | 只看该作者
关于对于db2look和统计信息的信息可以参考这片文章
http://www-128.ibm.com/developer ... icle/dm-0508kapoor/

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
186
授权会员
日期:2008-07-27 22:25:202014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14版主4段
日期:2015-02-26 02:21:03慢羊羊
日期:2015-03-04 14:51:35
4#
 楼主| 发表于 2008-8-13 21:17 | 只看该作者
原帖由 wangzhonnew 于 2008-8-13 21:03 发表
关于对于db2look和统计信息的信息可以参考这片文章
http://www-128.ibm.com/developer ... icle/dm-0508kapoor/

感谢狼提供这么好的资料

使用道具 举报

回复
招聘 : Linux运维
论坛徽章:
235
紫蜘蛛
日期:2007-09-26 17:05:46玉兔
日期:2007-09-26 17:05:05现任管理团队成员
日期:2011-05-07 01:45:08玉兔
日期:2006-08-29 20:38:48紫蜘蛛
日期:2007-09-26 17:05:34阿斯顿马丁
日期:2013-11-19 10:38:16奔驰
日期:2013-10-16 09:08:58红旗
日期:2014-01-09 11:57:39路虎
日期:2013-08-13 14:52:35林肯
日期:2015-05-19 13:01:16
5#
发表于 2008-8-15 17:57 | 只看该作者
不错,支持原创!



俊哥儿张也是牛人

使用道具 举报

回复
论坛徽章:
0
6#
发表于 2008-8-20 10:41 | 只看该作者
原帖由 wangzhonnew 于 2008-8-13 21:03 发表
关于对于db2look和统计信息的信息可以参考这片文章
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0508kapoor/


好资料

使用道具 举报

回复
论坛徽章:
0
7#
发表于 2008-8-28 07:11 | 只看该作者

IT精英

网络技术研究讨论群:24166429  欢迎大家加入 本群的目的 大家以后都要成为

使用道具 举报

回复
论坛徽章:
0
8#
发表于 2008-8-28 07:11 | 只看该作者
网络技术研究讨论群:24166429  欢迎大家加入 本群的目的 大家以后都要成为IT精英

使用道具 举报

回复
论坛徽章:
6
生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:兔
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
9#
发表于 2008-11-12 18:35 | 只看该作者
楼主真俊,崇拜一下。偶是菜鸟

使用道具 举报

回复
论坛徽章:
1
ITPUB9周年纪念徽章
日期:2010-10-08 09:31:22
10#
发表于 2008-11-24 14:02 | 只看该作者
学习中。。。。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表