Tom只是离职和去休息一段时间,人家还有写Oracle 12cR2新书的计划呢 Tom Kyte:Time-out and Thanks

Time-out and Thanks

再见和感谢

Tom Kyte

我们的技术专家用一些时间分享历史。

 

作为一名职员,我已经在Oracle度过了22年的职业生涯,使用Oracle数据库的时间已达29年。我人生另一个重要里程碑,是在美国联合航空公司的飞行长度达到了200万英里(而在走过的里程中这只是一小部分,因为我的旅行包括了多家航空公司)。此外,我最近又达到了 “神奇”时代的里程碑之一。

 

随着里程碑的增加,是时候做些变化了。我会从2015年八月底开始休一个长假,期限未知。

 

我其实有一些短期计划。这些不包括超过一半的用餐时间在餐馆中进行,半年多都睡在酒店,和一年飞行250,000多英里(在一年中,超过10个工作周我是在35,000英尺的高空)。这个计划包括写一些书,我一直打算写的书,当然是基于Oracle技术。希望你会在2016年中期至后期某个时候开始看到成果,主题可能包括Oracle数据库12c的第2版(Oracle数据库的下一个版本)的新功能,分析函数,你想知道的关于binds的一切,解释说明计划,也许更多。时间会说明一切。从我的短期计划回头看我过去的成果,在IT界过去的30年无疑是有趣的。我见过许多的变化,一些是变得更好。有时,事物变化越多,它们就越来越相似。我知道这很俗套,但也很有道理!

 

例如,我首先学会了使用PL / I语言– IBM高级,大型机编程语言–进行编程。它有点像Pascal,有点像COBOL,有点像C,而且可能仍然是我用过最酷的过程语言。在上世纪80年代我会用ISPF(交互式系统生产设施)编写屏幕,屏幕将显示在一个“哑终端”,用户在字段间tab填写​​数据。一旦屏幕“满”了,用户就按键盘上的F8将数据发送到TPM(事务处理监视器)如CICS(客户信息控制系统)或Tuxedo。然后,该TPM将使用少量连接到数据库,请求处理事务。一旦交换完成,在TPM运行的代码将决定送回什么,下一个画面显示什么。

 

这与今天的“三层”架构相比肯定不够灵活,但是非常相似,极其相似。而且它在三十年前就有了!不仅如此,在LPAR(逻辑分区),即虚拟机运行的大型机程序几十年前也有了。还有,我经常使用一个“数据库”叫做VSAM(虚拟存储访问方法),使用索引的VSAM文件与使用NoSQL的数据库也非常类似。

 

是的,在上世纪80年代我就在使用NoSQL数据库在虚拟机中操作三层应用服务器程序!技术只是经历了三十年重新回到这里。名称变了,语言已经变了,硬件真的变了,但许多的基础是当时的,在今天仍然是这样。

 

在PL / I后我学的第二个语言是SQL。我开始用SQL编程,在一个曾经叫做SQL / DS,现在称为DB2的数据库。我学会了IBM大型机的SQL,使用VM / CMS作为操作系统,我在PL / I中编写嵌入式SQL。 在SQL / DS后的第二个数据库,其实是Oracle数据库。我在IBM AT计算机使用Oracle数据库版本5.1.5c,这个计算机有286芯片组和高达1MB的内存。不管你信不信,那时有许多运行Oracle数据库,Oracle Forms和Oracle报告,要购买Oracle数据库也很容易。我从一本杂志的一页广告上,提供包括Oracle数据库,Oracle窗体,Oracle报表,甚至是SQL *网络,只用$ 199就买下了所有!那时候在广告中Oracle较劲的不是IBM公司;不是微软;不是Informix,甚至Sybase。而是Ashton-Tate的dBASE!从那以后,情况真的变了。

 

在那之后,我编程学了一系列的语言:Rexx,EXEC 2,JCL,Ada,C,C ++,PL / SQL,T-SQL,各种UNIX脚本语言等等。

 

我常向别人或Ask Tom提出这些问题:你是如何实现在IT中达到的成就?你如何成为了今天的你?我认为我成功的最重要因素可以归结为一个词:导师。当我第一次开始编程时,就有一个很好的导师。我的故事开始于回答张贴在华盛顿邮报GRC(曾位于弗吉尼亚州维也纳,现在已不存在的小公司)的广告:“招聘PL / I程序员,不需要经验。”这我一定能胜任!就在同一天,我面试了GRC,还有另一家小公司,量子计算机服务,在泰森斯角,弗吉尼亚州,离GRC不远。作为一个美国匹兹堡大学的数学学士,我有了两个工作机会:

 

  1. GRC。他们希望程序员/分析员在IBM主机上写PL / I。
  2. 量子计算机服务。他们正在寻找对于消费者拨号启动的帮助台分析师。

这是1987年。我当然选择了两个职位中比较酷的,成为一名程序员/分析师。我不知道这意味着什么,因为我在大学都没有摸过电脑。

 

有趣的是,我在网上搜索了量子计算机服务。在开始GRC的工作并知道了量子计算机服务是如何成为美国在线(AOL)的,我想到我可能会成为这很少的员工中的一员。现在问我是否做出了正确的选择。我想我做了。

 

我成为了GRC的程序员/分析员,与一群人工作,他们令我难以置信,是好的难以置信。我与一个比我现在的年龄小10岁的人合作。他教了我很多东西,是我的良师益友。他教我如何写可理解的,可维护的,可调试的,可追踪的,自我诊断的代码。他教我编码前先三思。他教我测试,测试,测试,在没有检测和显示之前永远不判定对错。他教我的比任何一所学校教的都多。他教我如何正确做电脑那些事。我至今仍在做他教了我将近30年前的事情。

 

在我提高编程技术,数据库技术,架构技术,这些需要很多很多年积累的东西时,我也花时间在互联网的Usenet新闻组,在1994年至2000年间加入了1万多讨论互动。正是在那里,我的回答风格逐渐形成,即实事求是,使用有说明力的数字,并提供简洁明了的例子。

那么,Ask Tom是如何从在Usenet新闻组回答问题一步步发展的呢?Ask Tom的起源是1999年有人发了一个Usenet帖子。(https://groups.google.com/forum/#!original/comp.databases.oracle.misc/LPJI_Z1bKPY/0HYnScPSS9AJ) 一个直接更新Oracle数据库数据字典的概念,没有人–专家,新手,任何人,应在任何情况下提出的概念。 这种说法唯一的例外是如果出现可怕的错误,Oracle Support告诉你这样做。但是,很抱歉没有任何其他原因。Usenet的线索在问在该功能被引入Oracle数据库之前询问如何重命名列(Oracle8i数据库是那个帖子发出时的版本,重命名列功能在Oracle9i数据库中被引入)。

 

有两个简单的答案。一个是我经常给出的:创建一个视图,因为这就是视图的作用。您可以重新排序列,您可以将其重命名,你可以用视图做任何想要的。第二个回答是一个新的想法:添加新列,更新和null,drop旧列。

 

有人跟进“你认为更新SYS.COL $怎么样?”我绝对有意见,说:“我认为这是一个非常*坏的*可怕的想法。无法用言语来形容有多糟糕。“在线下演讲中,我发现这个想法的概念来自oracle.com-oracle.com/oramag的内容,确切说是在oracle.com中Oracle Magazine在线的内容。这是在用户提供的“tips”。那时我与Oracle杂志编辑Kelli Wiseth联系。原来,Oracle Magazine那时已经没有人审核贡献的材料。鉴于我肯定有一些感受,她问我是否介意做审批。我同意了。我会审核该杂志的纸质版和网络版的tips。

 

在接下来的几个星期和几个月中,这本杂志了除了tips,还有来自世界各地的读者的其他提问。他们没办法回答问题,也无法做任何事。Kelli Wiseth问我要不要看看其中的一些,最终,Ask Tom的概念于2000年诞生了。能在Oracle Magazine 5月/ 6月2000年版本看到曾经提出和回答的第一个问题。你会发现随着时间的推移,格式有了一点变化,但概念是相同的。

 

除了纸质打印的列,同年2月/ 3月,我们把Ask Tom搬到了网上。它开始成为一个运行在Oracle技术网络的,使用电子邮件的Perl应用程序。读者进入该网站的“ask a question”表格,输入一个问题,按提交,最终问题会到我的收件箱。这持续了大约六个星期。直到我每天工作在收件箱中收到40个或更多的问题时,把每个提交的问题发送给我的理念行不通了。我没办法控制问题的涌入;当我没有足够时间来回答问题时,我也没法关掉它。

 

这么一来,asktom.oracle.com网站就诞生了。我亲手写的Ask Tom“1.0版”。它采用了黑色和蓝色的配色方案(我希望我保留了一个静态页面;在2000年初的互联网档案的Wayback机器并没有复印件)并有大约四,五页。当然,我使用PL / SQL,当时Oracle Web Agent出现了,一个mod_plsql的先驱。

此后不久,一个叫Joel Kallman的家伙联系我。他在内部研究新项目,是叫做HTML DB的工具,现在被称为Oracle Application Express。当它几乎准备好派上用场,但仍未从Orac

Le派出之前,Joel提出用Oracle Application Express重写Ask Tom网站来测试和验证这个工具的力量。由于我完成了所有API,用于保存的问题,更新问题,和要求提问者的详细信息等等的API,这将是HTML DB环境的测试,以构建用户界面并处理所有​​的安全性,导航等等。这个网站从最初的5页到今天40多个的增量,仅仅是因为这个改变。我不可能手动编码40多页,如果没有使用HTML DB重写,然后迁移到Oracle Application Express,Ask Tom的网站就不会有特定的功能了。

 

所以就是这样,这就是故事背后的故事。在过去的15年里,我已经回答了Ask Tom几万的问题,写了一系列关于Oracle的书,在1000个或以上的用户组活动进行演讲,结交来自世界各地的人们,许多次周游世界。我不会离开Oracle的社区,但不会太活跃,至少在一段时间。你可能不会在会议看到我了,但愿你会在www.amazon.com和其他书店看到我!

 

我就以最近就有关Oracle数据库的问题进行结尾。根据我的经验回答这些问题,我发现其实关于数据库的问题只有五个。

 

头3个问题的答案是“使用绑定变量。”

 

第四个问题的答案是“不使用绑定变量。”

 

第五个问题的答案是“看情况”。

 

如果你知道这五个答案,你可以回答有关数据库的任何问题!

 

其实,如果你只记得第五个问题的答案 “看情况” – 你可以回答任何问题。

 

这可能是我在近30年的IT行业学到的最重要的事情:没有单一的“最佳”方式,对每一个问题,没有单一的“最佳”方式。在IT中真正的挑战不是学习最佳方式,而学习尽可能多的方式,并且学习根据当前情况如何评估哪个方法是最好的。我期待着通过今后努力的写作与Oracle社区的进一步互动,而且我认为那些努力会帮助您找到合适的方法。

 

我想借用Douglas Adams的一句话:“或许我没能去我最初打算去的地方,但我想我最终到达了我想到的地方。”

 

 

 

下一步

 

ASK TOM
自2000年以来,Tom Kyte 已经回答了最困难的技术问题,Oracle开发人员SQL倡导者会接替Tom开始于2015年九月回答问题。

 

READ 
more Tom
Expert Oracle Database Architecture, Third Edition

DOWNLOAD Oracle Database 12c

LEARN more about Oracle Database 12c

FOLLOW Oracle Database
on Twitter
on Facebook

 

这位作者还没有填写简介。

查看所有文章

发表评论

Your email address will not be published. Required fields are marked *