Oracle与SQL Server的“相对论”
本文的作者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平台的坏话。但是,对于用户来说,它的确不太容易掌握。
分享到:
相关推荐
Oracle与SQLServer的SQL语法差异,用简单易懂的语言和实例对Oracle和Sql Server语法之间的差异进行了对比分析,更加适用于入门的人
Oracle与SQL Server应用差异对比分析在Oracle中采用伪列rownum 获取结果集中排在前面的部分记录 Eg: 返回结果集中前10条记录 Select * from sysc01 where rownum Rownum可使用<、符号,不可使用>、>=符号,如果使用...
Oracle和SqlServer的语法区别
ORACLE与SQLSERVER语法差异分析
要将 Oracle DML 语句和 PL/SQL 程序迁移到 SQL Server 时,请按下列步骤执行: 1. 验证所有 SELECT、INSERT、UPDATE 和 DELETE 语句的语法是有效的。进行任何必要的修改。 2. 把所有外部联接改为 SQL-92 标准外部...
实现 Oracle 连接 SQL Server 实现 Oracle 连接 SQL Server
oracle与SQL server数据库的主要区别分析
深度对比 Oracle与SQL Server
sqlserver自动生成sql语句工具sqlserver转oracle
oracle与sqlserver的区别
oracle,sql server驱动包ojdbc14...
oracle到sqlserver 存储过程语法转换,希望对大家有帮助啊! 最近刚把oracle的数据库移植到sqlserver!
通过ORACLE通用连接访问SQLServer数据库的方法
oracle,sqlserver及mysql对比,oracle,sqlserver及mysql对比
sqlserver关于表中存在text字段的导入oracle
oracle转SQL Server,精心在网上收集的。
SwisSql Oracle to Sql Server破解手记 SwisSql Oracle to Sql Server破解手记
本文详细描述了在oracle10g或11g中使用dblink访问sql server,使用oracle的透明网关来访问异构的数据库,方便一些习惯使用oracle的开发人员操作sql server数据库
Oracle连接SQL Server需要安装插件(Gateways),下载的时候,要选择与Oracle数据库对应的版本,否则不能被Oracle数据库使用,另外对Oracle数据库的版本也有所要求,最好选用企业版,简化版不容易安装插件。...
oracle与sql server互相访问