Using mydb2 script to automatic db2 deployment

Problems

<slide title=" Why need automation">

  • Agile development need automatic as many as possible tasks.
  • We must find out which table and SPs were changed and only deploy the changed DB objects.

</slide>

<slide title=" Difficulty">

  1. To get the change sets of the release.
  2. To get the dependence between web and ods.
  3. Must drop the related UDF before reload a table or UDF
  4. We can not roll back stored procedure easily.
  5. To prepare replication change request.
  6. To identify which stored procedure will be impacted by a specific CR.

</slide>

Solution --- mydb2 script

FVT

<slide title=" FVT Deployment">

Input:

  • Source code folder
  • FVT database name

Logic:

  • Compare the source code
  • Get change list
  • Get the source code of the db2 objects which depend on the db2 objects in the change list
  • Generate CR

</slide>

UAT & MTP

<slide title=" UAT or Production deployment">

Input:

  • FVT database name
  • UAT or Production database name

Logic:

  • Compare the source code
  • Get change list
  • Get the source code of the db2 objects which depend on the db2 objects in the change list
  • Generate CR

</slide>

How to use mydb2 script

Introduction

<slide title="Introduction">

  • With mydb2 you can get the difference between database or cvs.
  • mydb2 is written in bash, You can run it on cygwin/windows or Linux os

</slide>

Commands

<slide title="Commands">

  1. conn [dbname] -- connect to a database
  2. listconn -- list all connections
  3. view [spname] -- view the source code of SP or UDF
  4. check [spname] -- call the sample call in the source code of SP or UDF
  5. rebindall -- rebind all invalid SP
  6. table [schema] [table name] -- view the definition of table

</slide>

<slide title="Commands">

  1. dep [schema] [table name] -- view the dependence
  2. diffsp [sourcedb] [targetdb] [list file path] -- compare SPs between two databases
  3. difftab [sourcedb] [targetdb] [list_file_path] -- compare tables/views between two databases
  4. diffcvs [dbname] [local_cvs_path] [list_file_path] -- compare scripts between db and localcvs
  5. move [sourcedb] [targetdb] [the path of project] (date) -- Example: move duke rod c:/dsw/quote/head/quoteSQL 200810010000

</slide>

<slide title="Commands">

  1. exp [sql file] -- explain the sql in the sql file
  2. exf [sql file] -- explain the sql in the sql file with the cost detail
  3. editor -- set your text editor to open file generated by mydb2
  4. quit -- exit

</slide>

<slide title="传统思维的误区">

BacoDiscussionsBlob.jpeg </slide>

<slide title="传统思维的误区">

  • 局限性思维
  • 从自身的角度去考虑
  • 从片面的角度去考虑
  • 情绪会影响思维的效率
  • 对抗性思维
  • 指出错误,有利于进一步提高
  • 容易引起争论,破坏关系
  • 缺乏计划性,建设性和创新

</slide> <slide title="六顶思维帽方法">

六顶思考帽是英国学者爱德华·德·波诺(Edward de Bono)博士开发的一种思维训练模式,或者说是一个全面思考问题的模型。它提供了“平行思维”的 工具,避免将时间浪费在互相争执上。强调的是“能够成为什么”,而非 “本身是什么”,是寻求一条向前发展的路,而不是争论谁对谁错。运用波诺 的六顶思考帽,将会使混乱的思考变得更清晰,使团体中无意义的争论变成集思广益的创造,使每个人变得富有创造性。 </slide> <slide title="六顶思维帽方法"> sixthinking.png

</slide>

<slide title="黑色思考帽">  黑色思考帽:黑色是逻辑上的否定,象征着谨慎、批评以及对于风险的评估,使用黑帽思维的主要目的有两个:发现缺点,做出评价。思考中有什 么错误?这件事可能的结果是什么?黑帽思维有许多检查的功能,我们可以用它来检查证据、逻辑、可能性、影响、适用性和缺点。

  思考的真谛:通过黑色思维也可以让你做出最佳决策;指出遇到的困难;对所有的问题给出合乎逻辑的理由;当用在黄色思维之后,它是一个强 效有力的评估工具;在绿色思维之前使用黑色思维,可以提供改进和解决问题的方法。总而言之,黑帽子问的是“哪里有问题”。

</slide>

<slide>   白色思考帽:白色是中立而客观的,代表信息、事实和数据;努力发现信息和增强信息基础是思维的关键部分;使用白帽思维时将注意力集中在 平行地排列信息上,要牢记三个问题:我们现在有什么信息?我们还需要什么信息?我们怎么得到所需要的信息?这些信息的种类包括确凿的事实、 需要验证的问题,也包括坊间的传闻以及个人的观点等等。如果出现了意见不一致的情况,可以简单地将不同的观点平行排列在一起。如果说这个有 冲突的问题尤其重要,也可以在稍后对它进行检验。

  思考的真谛:白色思维可以帮助你做到像电脑那样提出事实和数据;用事实和数据支持一种观点;为某种观点搜寻事实和数据;信任事实和检验 事实;处理两种观点提供的信息冲突;评估信息的相关性和准确性;区分事实和推论;明确弥补事实和推论两者差距所需的行为。 </slide> <slide>

  红色思考帽:红色的火焰,使人想到热烈与情绪。是对某种事或某种观点的预感、直觉和印象;它既不是事实也不是逻辑思考;它与不偏不倚的、 客观的、不带感情色彩的白帽思维相反。红帽思维就像一面镜子,反射人们的一切感受。

  思考的真谛:使用红色思维时无须给出证明,无须提出理由和根据。红色思维可以帮你做到:你的情感与直觉是什么样,你就怎么样将它们表达 出来。在使用红帽思维时,将思考时间限制在30秒内就给出答案。红帽的问题是:我对此的感觉是什么? </slide>

<slide>

  黄色思考帽:黄色代表阳光和乐观,代表事物合乎逻辑性、积极性的一面;黄色思维追求的是利益和价值,是寻求解决问题的可能性。在使用黄 色思维时,要时刻想到以下问题:有哪些积极因素?存在哪些有价值的方面?这个理念有没有什么特别吸引人的地方?这样可行吗?

  思考的真谛:通过黄色思维的帮助,可以让我们做到深思熟虑,强化创造性方法和新的思维方向。当说明为什么一个主意是有价值的或者是可行的,必须给出理由。黄帽的问题是“优点是什么”或“利益是什么”。 </slide>

<slide>

  蓝色思考帽:蓝色是天空的颜色,有纵观全局的气概。蓝色思维是“控制帽”,掌握思维过程本身,被视为“过程控制”;蓝色思维常在思维的开始、 中间和结束是使用。我们能够用蓝帽来定义目的、制定思维计划,观察和做结论,决定下一步。使用蓝色思维时,要时刻想到下列问题:我们的议程 是怎样的?我们下一步怎么办?我们现在使用的是哪一种帽子?我们怎样总结现有的讨论?我们的决定是什么?

  思考的真谛:蓝色思维可以让你发挥思维促进者的作用;集中和再次集中思考;处理对特殊种类思考的需求;指出不合适的意见;按需要对思考 进行总结;促进团对做出决策。用蓝帽提问的是“需要什么样的思维”、“下一步是什么”、“已经做了什么思维”。 </slide>

<slide>

  绿色思考帽:绿色是有生命的颜色,是充满生机的,绿色思维不需要以逻辑性为基础;允许人们做出多种假设。使用绿色思维时,要时刻想到下 列问题:我们还有其他方法来做这件事吗?我们还能做其他什么事情吗?有什么可能发生的事情吗?什么方法可以克服我们遇到的困难?绿色思维可 以帮助寻求新方案和备选方案,修改和去除现存方法的错误;为创造力的尝试提供时间和空间。

  思考的真谛:绿色思维激发行动的指导思想,提出解释,预言结果和新的设计。使用绿色思维,我们寻找各种可供选择的方案以及新颖的念头。 用一句话来说,与绿色思维密切相关的就是“可能性”。“可能性”也许就是思维领域中最重要的词语。可能性包括了在科学领域使用假设的工具。可能 性为人类感知的形成、观点与信息的排列提供了一个框架,包括了不确定性的存在,可能性也允许想象力的发挥。绿色思维提出了“我们有什么样的 想法”的问题。

<slide title="六顶思考帽团队在实际中的应用步骤">

1、陈述问题事实(白帽)

2、提出如何解决问题的建议(绿帽)

3、评估建议的优缺点:列举优点(黄帽);列举缺点(黑帽)

4、对各项选择方案进行直觉判断(红帽)

5、总结陈述,得出方案(蓝帽)

</slide>

Comments

comments powered by Disqus