`

(转)【俊哥儿张】DB2:学习 DB2LOOK 命令

    博客分类:
  • DB2
阅读更多

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的经验,如有不当之处,请大家拍板砖~
献丑了

分享到:
评论

相关推荐

    DB2中常用备份,恢复命令和db2move,db2look的使用

    本文将深入探讨DB2中常用的备份、恢复命令以及db2move和db2look工具的使用方法,帮助数据库管理员掌握核心技能。 ### 常用备份与恢复命令 #### 备份命令 1. **完整备份**:使用`db2backup`命令进行数据库的完全...

    db2look导出存储过程脚本

    通过以上介绍可以看出,无论是使用 `SYSCAT.ROUTINES` 表来获取存储过程定义,还是通过 `db2look` 或 `GETROUTINE` 命令来导出存储过程脚本,DB2 都提供了多种途径来满足不同的需求。在实际操作中,可以根据具体场景...

    db2中常用的命令大全

    db2look -d &lt;数据库名&gt; -u &lt;用户&gt; -t &lt;表 1&gt; &lt;表 2&gt; -e -o &lt;脚本名称&gt;.sql --导出数据库中表 1 和表 2 的表结构 db2move &lt;数据库名&gt; export --导出数据库数据 db2move &lt;数据库名&gt; export -tn &lt;表 1&gt;,&lt;表 2&gt; --导出...

    db2 常用命令大全

    db2look -d &lt;数据库名&gt; -u &lt;用户&gt; -t &lt;表 1&gt; &lt;表 2&gt; -e -o &lt;脚本名称&gt;.sql -- 导出数据库中表 1 和表 2 的表结构 db2move &lt;数据库名&gt; export -- 导出数据库数据 db2move &lt;数据库名&gt; export -tn &lt;表 1&gt;,&lt;表 2&gt; -- ...

    DB2数据库学习资料

    - `db2look -d -e -c -o` 命令导出表结构生成DDL文件,方便数据库对象的重建。 10. **脚本执行**: - `db2 -tvf` 执行SQL脚本文件,`-t`表示每条语句后添加分隔符,`-v`显示执行的SQL,`-f`指定脚本文件。 11. *...

    DB2 数据库常用命令

    `db2look`命令用于查看和导出数据库的定义语言(DDL)。它可以提取数据库的结构信息,包括表定义、存储过程、函数等,并能保存为文本文件,方便进行数据库之间的结构迁移或备份。此外,`db2look`还能提取数据库的...

    db2常用命令+常见问题处理

    - **导出指定表**: `db2look -d &lt;数据库名&gt; -u &lt;用户&gt; -t &lt;表1&gt; &lt;表2&gt; -e -o &lt;脚本名称&gt;.sql` - 导出数据库中的指定表结构。 - **导出数据**: `db2move &lt;数据库名&gt; export` - 导出数据库的数据。 - **导入表结构**...

    常用DB2操作命令使用

    - **db2look**:查看数据库的DDL信息。 - **db2lsг**:查找已安装的DB2产品及组件。 - **db2move**:数据库移动。 - **db2mqlsn**:与消息队列相关的命令。 - **db2mscs**:Windows集群服务相关操作。 - **db2mtrk*...

    DB2数据库常用命令手册

    ### DB2数据库常用命令详解 #### 一、启动与停止数据库 **命令:** - `db2start`:用于启动数据库。 - `db2stop`:用于停止数据库。 **注意事项:** - 在启动数据库之前,请确保所有依赖服务都已准备好,并且没有...

    DB2命令大全

    根据给定的文件标题“DB2命令大全”及其描述与部分内容,本文将详细介绍与DB2相关的各类命令,这些命令按照其复杂性和应用场景大致分为基础篇和高级篇。 ### DB2命令大全 #### 一、基础篇 在DB2的基础操作中,...

    linux下的DB2命令

    利用`db2look`工具,自动生成创建表或视图的DDL语句,方便数据库结构的文档化和迁移。 ### 18. 其他命令 - `grant dbadmin on database to user bb`:授予用户特定的数据库管理权限。 - `select * from czyxx ...

    DB2常用的命令

    ### DB2常用的命令详解 #### 一、数据库的启动与停止 - **启动数据库**: `db2start` - **作用**: 启动指定的DB2数据库实例。 - **示例**: 如果需要启动名为`oyd`的数据库实例,则执行`db2start`。 - **停止...

    db2数据库基本命令

    - **查询元数据**:`db2look-ddbName-e-ttableName-oD:\xxx.sql` 用于获取数据库中表的定义,可保存为SQL脚本。 - 示例:`db2look-ddbName-e-c-iuserName-wpassword-o+路径` - 特殊情况:`db2"exporttoxxx....

    db2常用命令 很好的PDF

    - **命令**: `db2look -d &lt;数据库名&gt; -e -t &lt;表名&gt; -a -x -i &lt;用户标识&gt; -w &lt;密码&gt; -o &lt;文件名&gt;.sql` - **功能**: 生成表的DDL脚本。 - **参数说明**: - `-d`: 数据库名。 - `-e`: 抽取复制数据库所需的DDL文件。 ...

    db2中有表损坏时最快的恢复方法db2look-move

    利用`db2look`命令,导出原始数据库(本例中为`orcl`)的表结构和数据到SQL脚本文件中。具体命令如下: ```sql db2look -d orcl -e -l -t -d @ -a -x -i yygl -w yygl -o d:\db2move\createdb.sql ``` 其中: - `-...

    db2一些常用命令

    - `db2look -d &lt;数据库名&gt; -a -e -i &lt;用户&gt; -w &lt;等待时间&gt; -o &lt;输出文件路径&gt;`:该命令可以用来捕获数据库中的所有 DDL 语句,并将它们输出到一个文件中。例如,记录 OADBE 数据库中的所有 DDL 语句,输出文件路径...

    DB2数据常用命令。。

    **命令:** `db2look -d db_alias -a -e -m -l -x -f odb2look.sql` **说明:** 使用`db2look`工具导出数据库`db_alias`的所有对象定义到文件`odb2look.sql`。 **应用场景:** 数据库对象定义的备份。 ### 35. 创建...

    DB2常用命令大全.pdf

    6. db2look-d&lt;数据库名&gt;-u&lt;用户&gt;-t&lt;表1&gt;&lt;表2&gt;-e-o&lt;脚本名称&gt;.sql:导出指定数据库中指定表的表结构到SQL脚本。 7. db2move&lt;数据库名&gt;export:导出整个数据库的数据。 8. db2move&lt;数据库名&gt;export-tn&lt;表1&gt;,&lt;表2&gt;:...

    DB2导出数据库表结构和数据.pdf

    db2look 命令是一个 DB2 命令行工具,用于生成数据库对象的 DDL 脚本。db2look 命令可以生成 DDL 文件,以便重新创建在数据库中定义的对象。 语法:db2look -d DBname [-e] [-u Creator] [-z Schema] [-t Tname1 ...

Global site tag (gtag.js) - Google Analytics