设为首页 收藏本站
查看: 1004|回复: 0

[经验分享] (转)【俊哥儿张】DB2:学习 DB2LOOK 命令

[复制链接]

尚未签到

发表于 2016-11-16 08:45:40 | 显示全部楼层 |阅读模式
  http://space.itpub.net/7705285/viewspace-442023
【俊哥儿张】DB2:学习 DB2LOOK 命令
上一篇 / 下一篇  2008-09-05 15:15:28 / 精华(3) / 个人分类:DB2
查看( 295 ) / 评论( 23 )
学习 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的经验,如有不当之处,请大家拍板砖~
献丑了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-300974-1-1.html 上篇帖子: DB2和Websphere5.1环境应用安装手册 下篇帖子: windows xp下,DB2管理服务器未启动的解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表