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">
- To get the change sets of the release.
- To get the dependence between web and ods.
- Must drop the related UDF before reload a table or UDF
- We can not roll back stored procedure easily.
- To prepare replication change request.
- 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">
- conn [dbname] -- connect to a database
- listconn -- list all connections
- view [spname] -- view the source code of SP or UDF
- check [spname] -- call the sample call in the source code of SP or UDF
- rebindall -- rebind all invalid SP
- table [schema] [table name] -- view the definition of table
</slide>
<slide title="Commands">
- dep [schema] [table name] -- view the dependence
- diffsp [sourcedb] [targetdb] [list file path] -- compare SPs between two databases
- difftab [sourcedb] [targetdb] [list_file_path] -- compare tables/views between two databases
- diffcvs [dbname] [local_cvs_path] [list_file_path] -- compare scripts between db and localcvs
- move [sourcedb] [targetdb] [the path of project] (date) -- Example: move duke rod c:/dsw/quote/head/quoteSQL 200810010000
</slide>
<slide title="Commands">
- exp [sql file] -- explain the sql in the sql file
- exf [sql file] -- explain the sql in the sql file with the cost detail
- editor -- set your text editor to open file generated by mydb2
- quit -- exit
</slide>
<slide title="传统思维的误区">
</slide>
<slide title="传统思维的误区">
- 局限性思维
- 从自身的角度去考虑
- 从片面的角度去考虑
- 情绪会影响思维的效率
- 对抗性思维
- 指出错误,有利于进一步提高
- 容易引起争论,破坏关系
- 缺乏计划性,建设性和创新
</slide> <slide title="六顶思维帽方法">
六顶思考帽是英国学者爱德华·德·波诺(Edward de Bono)博士开发的一种思维训练模式,或者说是一个全面思考问题的模型。它提供了“平行思维”的 工具,避免将时间浪费在互相争执上。强调的是“能够成为什么”,而非 “本身是什么”,是寻求一条向前发展的路,而不是争论谁对谁错。运用波诺 的六顶思考帽,将会使混乱的思考变得更清晰,使团体中无意义的争论变成集思广益的创造,使每个人变得富有创造性。 </slide> <slide title="六顶思维帽方法">
</slide>
<slide title="黑色思考帽"> 黑色思考帽:黑色是逻辑上的否定,象征着谨慎、批评以及对于风险的评估,使用黑帽思维的主要目的有两个:发现缺点,做出评价。思考中有什 么错误?这件事可能的结果是什么?黑帽思维有许多检查的功能,我们可以用它来检查证据、逻辑、可能性、影响、适用性和缺点。
思考的真谛:通过黑色思维也可以让你做出最佳决策;指出遇到的困难;对所有的问题给出合乎逻辑的理由;当用在黄色思维之后,它是一个强 效有力的评估工具;在绿色思维之前使用黑色思维,可以提供改进和解决问题的方法。总而言之,黑帽子问的是“哪里有问题”。
</slide>
<slide> 白色思考帽:白色是中立而客观的,代表信息、事实和数据;努力发现信息和增强信息基础是思维的关键部分;使用白帽思维时将注意力集中在 平行地排列信息上,要牢记三个问题:我们现在有什么信息?我们还需要什么信息?我们怎么得到所需要的信息?这些信息的种类包括确凿的事实、 需要验证的问题,也包括坊间的传闻以及个人的观点等等。如果出现了意见不一致的情况,可以简单地将不同的观点平行排列在一起。如果说这个有 冲突的问题尤其重要,也可以在稍后对它进行检验。
思考的真谛:白色思维可以帮助你做到像电脑那样提出事实和数据;用事实和数据支持一种观点;为某种观点搜寻事实和数据;信任事实和检验 事实;处理两种观点提供的信息冲突;评估信息的相关性和准确性;区分事实和推论;明确弥补事实和推论两者差距所需的行为。 </slide> <slide>
红色思考帽:红色的火焰,使人想到热烈与情绪。是对某种事或某种观点的预感、直觉和印象;它既不是事实也不是逻辑思考;它与不偏不倚的、 客观的、不带感情色彩的白帽思维相反。红帽思维就像一面镜子,反射人们的一切感受。
思考的真谛:使用红色思维时无须给出证明,无须提出理由和根据。红色思维可以帮你做到:你的情感与直觉是什么样,你就怎么样将它们表达 出来。在使用红帽思维时,将思考时间限制在30秒内就给出答案。红帽的问题是:我对此的感觉是什么? </slide>
<slide>
黄色思考帽:黄色代表阳光和乐观,代表事物合乎逻辑性、积极性的一面;黄色思维追求的是利益和价值,是寻求解决问题的可能性。在使用黄 色思维时,要时刻想到以下问题:有哪些积极因素?存在哪些有价值的方面?这个理念有没有什么特别吸引人的地方?这样可行吗?
思考的真谛:通过黄色思维的帮助,可以让我们做到深思熟虑,强化创造性方法和新的思维方向。当说明为什么一个主意是有价值的或者是可行的,必须给出理由。黄帽的问题是“优点是什么”或“利益是什么”。 </slide>
<slide>
蓝色思考帽:蓝色是天空的颜色,有纵观全局的气概。蓝色思维是“控制帽”,掌握思维过程本身,被视为“过程控制”;蓝色思维常在思维的开始、 中间和结束是使用。我们能够用蓝帽来定义目的、制定思维计划,观察和做结论,决定下一步。使用蓝色思维时,要时刻想到下列问题:我们的议程 是怎样的?我们下一步怎么办?我们现在使用的是哪一种帽子?我们怎样总结现有的讨论?我们的决定是什么?
思考的真谛:蓝色思维可以让你发挥思维促进者的作用;集中和再次集中思考;处理对特殊种类思考的需求;指出不合适的意见;按需要对思考 进行总结;促进团对做出决策。用蓝帽提问的是“需要什么样的思维”、“下一步是什么”、“已经做了什么思维”。 </slide>
<slide>
绿色思考帽:绿色是有生命的颜色,是充满生机的,绿色思维不需要以逻辑性为基础;允许人们做出多种假设。使用绿色思维时,要时刻想到下 列问题:我们还有其他方法来做这件事吗?我们还能做其他什么事情吗?有什么可能发生的事情吗?什么方法可以克服我们遇到的困难?绿色思维可 以帮助寻求新方案和备选方案,修改和去除现存方法的错误;为创造力的尝试提供时间和空间。
思考的真谛:绿色思维激发行动的指导思想,提出解释,预言结果和新的设计。使用绿色思维,我们寻找各种可供选择的方案以及新颖的念头。 用一句话来说,与绿色思维密切相关的就是“可能性”。“可能性”也许就是思维领域中最重要的词语。可能性包括了在科学领域使用假设的工具。可能 性为人类感知的形成、观点与信息的排列提供了一个框架,包括了不确定性的存在,可能性也允许想象力的发挥。绿色思维提出了“我们有什么样的 想法”的问题。
<slide title="六顶思考帽团队在实际中的应用步骤">
1、陈述问题事实(白帽)
2、提出如何解决问题的建议(绿帽)
3、评估建议的优缺点:列举优点(黄帽);列举缺点(黑帽)
4、对各项选择方案进行直觉判断(红帽)
5、总结陈述,得出方案(蓝帽)
</slide>