本文的作者Sean McCown是一位资深的数据库工作者,在数据库行业摸爬滚打15年了。目前的工作是解答数据库相关的评论。以下是Sean McCown在解答评论过程中所感所悟。
本文的作者Sean McCown是一位资深的数据库工作者,在数据库行业摸爬滚打15年了。目前的工作是解答数据库相关的评论。以下是Sean McCown在解答评论过程中所感所悟。
Sean McCown发表在博客中的内容如下:
我实在对社区里的有些评论不敢苟同(有的评论的水平很差),更多的是希望快速回答,完成工作。
我首先要说的是一件令我非常烦恼的事情。我已经在数据库行业摸爬滚打15年了。虽说不是对数据库的所有的知识都一清二楚,但是我对某些知识还是 数一数二的。因此,你们不要一而再,再而三的提醒我,“SQL”和“SQL Server”之间是有区别的。你想说的区别我已经略知一二了。诚然在网上post很长的文章的时候,最好还是能够让你的听众清楚的明白你在说什么。当我 谈到Oracle 和 SQL Server的时候,我应该可以将SQL Server简写为SQL,不用每次都写出它的全部拼写。如果有时候让你感到困惑,我对此深表歉意,但是以后你应该记住,很好的理解我所指的对象。很清 楚,我不是在谈论SQL语言。甚至有一个家伙说过我应该写Microsoft SQL Server。这样诚然不错……但是,当我说到Oracle的时候,我也没有看到你们有谁感到迷惑。Oracle是一个公司的名字。他们生产了很多的产 品。为什么没有人通过Email告诉我我应该称之为Oracle Database 11g呢?
我想你们已经知道了我缩写所指吧,不用每次都写全称吧。好了,这就是我在进入正题前所要讲的,真是一吐为快啊。
现在进入正题。你们当中有一些人给出了非常清楚、明晰、深思熟虑的评论。而其他人一些人没有说出实质性的内容,还进行漫骂。这也没有关系,我不会对后者做过多的关注。
其中非常优秀的评论来自从事Oracle工作的人士。这就不奇怪他们写的评论很有深度。他们是一群非常聪明的群体,他们能够证明自己的观点正确,而不是漫骂。
下面一幕是我又觉非常有意思的。如果我们在MS(微软公司的简称)平台上布置一项任务,我们就很有可能得到差不多的解决方案,这个现象得到了很 多人的同意,他们也是这么认为的。如果我们在Oracle平台上布置与MS(微软公司的简称)平台相同的任务的话,很难找到答案。并不是说这里没有该任务 的解决方案,只是不像MS平台下那么容易得到而已。
也许有许多人认为这只是我的一家之言,因为他们在Oracle Database 9i/10g/11g上从来没有遇到寻求帮助的麻烦。也许我们都是对的。这取决于你的经历了。事实上,我身边有一群IT工作者,在自己的blog上 post自己所遇到的麻烦,他们中大多数同意我的观点。这些人大多都是一些杂货店的数据库管理员。
但是,我想要声明的是虽然有许多人不承认Oracle数据库学习资源很难找到,但是事实上就是如此,MS学习资源就是更加容易获得。
有人或许就要问我,为什么我不去OTN(Oracle 技术网)那里呆着。事实上,我就在那里,但是,伙计,你要知道的是,我已经厌倦了坐在电脑前面,要挑选如此多的网页找到需要回答的问题。如果坐下来观看视 频的话,岂不是一件愉快的事情。我个人觉得视频资源更好。因此我喜欢视频培训。但是问题来了,几乎没有提供商来做Oracle新产品(Oracle Database 9i/10g/11g)的视频培训。事实上,到目前为止,我还不知道有任何的公司在做Oracle培训。
拿AppDev举例子来说。他们有非常棒的培训,但是他们只是做MS公司的产品。甚至其它做视频培训的提供商对Oracle也择道而行。这是什 么原因了?这就是我一开始讨论的关键所在。难道是没有人用Oracle?我们知道这肯定是不正确的。难道是Oracle数据库管理员天生就知道 Oracle所有的知识?当让也不是。难道是由于Oracle社区的存在使得培训提供商选择离开Oracle这个产品?事实上Oracle也没有生产出比 提供商更好的培训教程。
难道主要原因是Oracle大多用在Unix/Linux操作系统上,因此Oracle的技术人员更加喜欢读文档而不是观看视频?这对吗?这些 Oracle的技术人员都是用的命令行操作,因此不能忍受使用图形界面的软件,即使是学习这样的事情?的确,这已经成为一种习惯,或者说是一种氛围。这个 发现是从Oracle社区里找到的。另外,你所需要的相关信息在Oracle社区里并不是没有,而是不容易发现而已。
就拿这次我安装Data Guard的经历来说,我需要OBE(oracle示例系列)。问题是那些OBE(oracle示例系列)是在Linux环境下使用的,而我需要的是在 Windows下使用的。官方网站上的一些链接并不是跳转的很合理,如果有微小的错误存在,更本就不会有任何提示让你后退到原来的路径。另外,有一些阅读 信息必须严格执行,而一些则就很随便了,OBE(oracle示例系列)并没有给你任何引导,那种OBE(oracle示例系列)对应哪个平台。最后,我 好不容易找到了一个是适合Windows的。但是,并不是很好。因此,你也不要问我如何完成OBE(oracle示例系列)。回过头来,该想想为什么没有 对Oracle培训的一种需求,形式内容更加丰富的需求呢?
仍然还有一些人说我很愚蠢,因为Oracle比SQL更加容易做技术支持。
在这里我也不想找更多的例子了。只需要比较如何备份Oracle和备份SQL就知道谁的资料好找。
另外我还要给出管理表空间(tablespace)的例子,说到这里,肯定有人说管理表空间(tablespace)太easy了,因为他们一 直就是在干这种事情,一条简单的命令就ok了。是的,对这些人来说很简单,正好证明了我说的观点:孰能生巧。在SQL数据库中,我不用去管理表空间 (tablespace)(或者文件组filegroups),因为它们是自动增长的。唯一一次我需要管理文件组filegroups是由于我设定了增长 范围,而后来增长溢出了,或者我磁盘空间不够了。在Oracle中,如果我将块大小(Block Size)设置错误的话,那么结果就只能变得很大,我必须去管理它,因为那些表格将会比我想象的还要大。现在在11g有一个bigfile参数,最近才有 的。
数据库平台已经很明显在人们心目中形成了各自的印象,不管MS采取什么样的措施,他们不会改变些那些觉得MS是三流产品的人的看法。这已经是一 个事实了。至于说那个更好,就主要取决于你拿他们做什么了。我发现SQL更加容易组织,运行和构建应用程序。对于普通人来说,Oracle太复杂了,不但 是看看一本书,一个CD就能上手的。
但是,但你看Oracle的 Data Guard时,它就比SQL反射法要先进很多了。
好了,已经写了足够多了。至少我觉得是很多了。需要声明的是,我并不是说Oracle平台的坏话。但是,对于用户来说,它的确不太容易掌握。