请大家举出10个SQLSERVER不能,ORACLE能做的事.  
 
   我先抛砖引玉:  
 
1.  开发性:  SQLSERVER不能,ORACLE能装在UNIX上  
2.  分区表:  SQLSERVER不能,ORACLE能根据INDEX的值的范围,把数据存放到  
不同的硬盘空间.  
3.  AUTONOMOUS_TRANSACTION;SQLSERVER不能,ORACLE能在主TRANSACTION中独立  
COMMIT或ROLLBACK子TRANSACTION而不影响主TRANSACTION.  
 
   请继续,高分伺候  
---------------------------------------------------------------  
 
4.Oracle可以利用回滚表空间查询以前(如1小时前)的信息,SQLServer不能  
5.Oracle可以进行用户资源管理(CPU使用率等),SQLServer不能  
6.Oracle支持Label  Security,SQLServer不能  
 
---------------------------------------------------------------  
 
支持一下,来帖一段  
 
开放性:  
SQL  Server          
       只能在windows  上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT  server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据量的关键业务时.                
 
Oracle          
       能在所有主流平台上运行(包括  windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。  
 
 
可伸缩性,并行性  
SQL  server  
DB2          
       并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。  
 
Oracle  
       平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。  
       如果windowsNT不能满足需要,  用户可以把数据库移到UNIX中。  
 
安全性  
SQL  server                  
没有获得任何安全证书。          
 
Oracle  Server  
获得最高认证级别的ISO标准认证。  
 
性能  
SQL  Server                      
多用户时性能不佳      
     
Oracle  
性能最高,  保持windowsNT下的TPC-D和TPC-C的世界记录。  
 
客户端支持及应用模式  
SQL  Server                  
C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接.          
 
Oracle  
多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接      
     
 
操作简便  
SQL  Server                        
操作简单,但只有图形界面.    
       
Oracle  
较复杂,  同时提供GUI和命令行,在windowsNT和unix下操作相同                
 
使用风险  
SQL  server                  
完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。  
           
Oracle  
长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。    
 
---------------------------------------------------------------  
 
Oracle可以建立位图索引,SQLServer不能。  
Oracle可以建立函数索引,SQLServer不能。  
SQLServer不支持前触发器,所有都是后触发器。  
 
关于Oracle分区表,SQLServer  2000可以使用分区视图,原理也是一样,把不同物理空间的表联系在一起。  
SQLServer能支持嵌套事务,事务上加上名字就好,就是说能在主事务中操作子事务。  
---------------------------------------------------------------  
 
oracle:  
length()  lengthb()  
sqlserver:  
datalength()  
---------------------------------------------------------------  
 
不了解sql  server  
---------------------------------------------------------------  
 
似乎SQLServer只是表级触发器,不支持行级触发器  
---------------------------------------------------------------  
 
SQL好象也有命令行的。SQL也支持JDBC的。  
 
ORACLE备份方式比较多,有STANDBY、RMAN、IMP等,SQL就比较简单了。  
ORACLE可是实现多个日志文件的镜象,而SQL只有一个日志文件。  
ORACLE有很少但很多数量的归档日志,而SQL只有一个日志文件,经常会增加到很大。  
ORACLE的BLOCK  SIZE可以根据OLTP或者DSS不同的应用自己设置,而SQL只能为8K。  
ORACLE的内存是在数据库启动时就由参数文件决定了的,而SQL可以根据应用自动改变。  
 
---------------------------------------------------------------  
 
ORACLE有专门实现树形查询的语法,而SQL没有。  
---------------------------------------------------------------  
 
ORACLE可以修改字符集  
SQLSERVER不能,必須重新安裝  
 
---------------------------------------------------------------  
 
ORACLE可以安裝各种平台  
SQLSERVER不行  
 
 
---------------------------------------------------------------  
 
ORACLE可以卖的很贵却还有人买  
SQLSERVER不行  
 
---------------------------------------------------------------  
 
也不太了解sqlserver。  
它有Orcle中的分析函数和锁吗?  
 
 
---------------------------------------------------------------  
 
TO:ccbzzp(ccbzzp)    
ORACLE可以修改字符集  
SQLSERVER不能,必須重新安裝  
 
 
有问题,在SQL  SERVER6.5是不可以的,在SQLSERVER2000已经完全可以  
EXAMPLE:ALTER  DATABSE  DB_NAME  COLLATE  CHINESE_PRC_CI_AS  
---------------------------------------------------------------  
 
TO:OldMan0516(凡人0516)  
MSSQL  SERVER2000是完全可以行触发的!!!  
 

解决方案 »

  1.   

    如果大家有和问题可以到SQLSERVER板块去看看:-)  
    ---------------------------------------------------------------  
     
    跟本不是一个量级上的东西,没什么可比性。  
    sql  server也没说要和oracle比呀,人家在windowns平台自我完善呢。  
    ---------------------------------------------------------------  
     
    http://expert.csdn.net/Expert/topic/1810/1810360.xml?temp=.4442407  
    ---------------------------------------------------------------  
     
    ORACLE可以修改字符集  
    SQLSERVER不能,必須重新安裝更改排序规则。  
     
    -------------------------------------  
    alter  database  数据库  collate  排序规格  
     
     
    其中,某些排序规则指定CI  不区分大小写,CS  指定区分大小写。  
     
    如:alter  database  数据库  COLLATE  Chinese_PRC_CI_AS    
           不区分大小写,而  
           alter  database  数据库  COLLATE  Chinese_PRC_CS_AS    
           使之区分大小写。  
     
    使用如下命令,可以获得更多的规则:  
    SELECT  *  
    FROM  ::fn_helpcollations()  
     
    ---------------------------------------------------------------  
     
    oracle可以有java过程sqlserver没有,而sqlserver可以用dll。  
    oracle9i有分析函数,sqlserver没有  
    oracle有rownum等伪列,sqlserver没有  
    sqlserver有full  join,oracle9i才有  
     
     
    ---------------------------------------------------------------  
     
    to    DJMPH(冷开水)    
    不是吧,你不会sql?哈。自己去看触发器吧  
    ---------------------------------------------------------------  
     
    up  
    ---------------------------------------------------------------  
     
    to  bzszp(SongZip):  
    你关于SQL  Server的认识已经很outdata了,哈哈,看看这吧,关于c2,SQL  Server早就拿到了.http://www.microsoft.com/china/sql/evaluation/overview/2000/fastfacts.asp  
    虽然在大系统上还是喜欢用Oracle,毕竟用多了,习惯了,不过只会Oracle的也别小看SQL  Server,SQL  Server亦非昔日阿蒙,很多Oracel能做的,SQL  Server也能了,有些甚至做得更好,像Oracle的数据库碎片,实在是讨厌,不知道9i是不是好些了,反正9i以前的版本实在是臭不可闻,这方面SQL  Server就感觉好多了。  
    to  black_snail(●龙飞虎○)  ,关于嵌套事务:  
    ========================================================  
    begin  tran  t1  
    insert  into  table1(f1)  values(10)  
    save  tran  1  
    update  table1  set  f1=100000  where  f1=10  
    rollback  tran  1  
    insert  into  table1(f1)  values(100)  
    update  table1  set  f1=100000  where  f1=100  
    commit  tran  t1    
    ========================================================  
    ---------------------------------------------------------------  
     
    update  table1  set  f1=100000  where  f1=10被rollback  :-)凑热闹  
    ---------------------------------------------------------------  
     
    暂时来说,不是一个级别的东西。毕竟对于Oracle,数据库命根子。  
    中期来说,不管性能,单单依照M$的小气,不大可能支持别的平台。所以,是并存。  
    长期来说,那就要看小丽(Linux)了,如果能够在桌面上断了M$的财路。本来就是半桶水的SQL  server就会和它的老祖宗Sybase一样,在数据库领域,逐渐退出我们的视野了。  
    ---------------------------------------------------------------  
     
    楼上的,你看到MS最新的WINDOWS  SERVER  2003  FOR  64BIT,在加上SQL  SERVER2003  FOR  64BIT速度已经完全超过小型机+ORACLE的速度,成本还要低很多.  
     
    我最讨厌某些人似乎会ORACLE就是高级,懂MS就是低端的态度!!!  
     
    至于小丽(Linux)要断MS的财路,我看你又在做梦了.....zzzzzz  
    在桌面系统MS的地位很难动摇.  
    ---------------------------------------------------------------  
     
    to:  bzszp(SongZip)    
    性能  
    SQL  Server                      
    多用户时性能不佳      
     --这应该和数据库的设计又很大的关系,不知你的比较的标准是什么?  
     
    Oracle  
    性能最高,  保持windowsNT下的TPC-D和TPC-C的世界记录。  
    --现在好向不是这样的,你可以到TPC的网站上去看看.  
    ---------------------------------------------------------------  
     
    客户端支持及应用模式  
    SQL  Server                  
    C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接.          
    --有免费的FOR  LINUX的client  
     
    Oracle  
    多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接  
     
      

  2.   

    操作简便  
    SQL  Server                        
    操作简单,但只有图形界面.    
           
    Oracle  
    较复杂,  同时提供GUI和命令行,在windowsNT和unix下操作相同                
     
    使用风险  
    SQL  server                  
    完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。  
               
    Oracle  
    长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险  
    --------------------------------------------------------------  
    ORACLE可以修改字符集  
    SQLSERVER不能,必須重新安裝更改排序规则。  
     
    -------------------------------------  
    alter  database  数据库  collate  排序规格  
     
     
    其中,某些排序规则指定CI  不区分大小写,CS  指定区分大小写。  
     
    如:alter  database  数据库  COLLATE  Chinese_PRC_CI_AS    
           不区分大小写,而  
           alter  database  数据库  COLLATE  Chinese_PRC_CS_AS    
           使之区分大小写。  
     
    使用如下命令,可以获得更多的规则:  
    SELECT  *  
    FROM  ::fn_helpcollations()  
    ------------------------------------------------------  
    但是SQL  server从来就没有行触发的概念,因为sybase已经定好了。它必须通过inserted和deleted表来获得。显然,如果你要编写一个考虑周全的触发器,就要注意有。但是sql  server绝对没有系统触发器的概念。  
    ------------------------------------------------------  
     
    1  ORACLE在配置上支持MTS的结构,就是可以有数据库连接池的概念。而sql  server就没有。  
    2  ORACLE的网络配置,用同一个LISTENER来集中管理连接的请求,还可以做到多个LISTENER的FAILOVER配置。  
    3  ORACLE中有同义词的概念,我觉得非常方便,而sql  server怎么办呢,sql  server逻辑上是iinstance/database/table的概念。如果,我只能用[database].[user].[table]来访问表。  
    4  oracle可以对实例运行的不同配置,修改内存的分配策略。sql  server的设置项简单地就不用设了(没什么好设的)。  
    5  oracle可以支持每个表的存储参数,让你调整每个表的存储空间的增长。sql  server没有,也许microsoft认为没有必要。  
    ------------------------------------------------------  
     
    你用Weblogic+Oracle看看,不知道要比iis+asp+sqlserver的系统稳定多少倍,面向internet的应用,关键是可用性,稳定性。对于大并发量的访问,iis的体系根本就不行。  
    还有iis的话,用oracle的ole  object  for  visual  basic,可以比ado快,应为直接同sql*net通讯,用oledb  provider的多了一层(ado->data  provider->sql*net),你说能不慢么。  
    ------------------------------------------------------  
     
    再说说SQL  Server有的,oracle没有的  
    1  SQL  Server有Link  Server的概念,而且可以是异种库,oracle尽管有database  link的概念,但是必须是oracle,这一点还是Microsoft考虑的周全。  
    2  SQL  Server的DTS包在实际应用中,相当的有用;oracle没有。  
    3  SQL  Server  2000用索引视图来对抗oracle的partition的概念,还算过的过去。  
    4  SQL  Server到了2000才支持多实例,算是可以和oracle在的多实例一样吧。  
    5  SQL  Server有扩展存储过程可以调用AcitveX空件,Oracle  8i开始可以调用Java类,大家算打个平手吧。  
    6  SQL  Server的日志文件并不重要,因为只要mdf在,只要sp_attach_single_file_db,可以重建日志文件,oracle要是丢了online  redolog,那可就麻烦了,慢慢地恢复吧。  
    7  SQL  Server可以支持级联的触发器(最多32级),而且可以修改触发的自身表,oracle就瞪着报错吧。  
    8  在oracle中可以写1局非常复杂SQL语句(符合标准SQL),在SQL  Server中,会报"结构过于复杂",Microsoft还真能找个台阶下。看来SQL  Server的SQL  Parser器还要好好整修一下。  
     
    就我个人的经验,自从好好地把oracle的一套student  book看了一遍(为了考ocp),就是觉得SQL  Server比起oracle,从体系上就差了一大截。可能Sybase当时就是为了减化oracle复杂性,能够更好地取悦最终用户才出了SQL  server,microsoft当然也不会去改变这一点,只是在面向最终用户的管理方面下了大功夫。  
    反正,对于最终用户来说,越是能够方便的产品,越是能吸引自己。  
     
    再说说,SQL  Server的价格和Oracle的价格。  
    1  SQL  Server是便宜,因为它更本不值那么高的价格。  
    2  SQL  Server的许可是按服务许可+客户端许可和cpu许可两种的概念来算,你的客户端数目上去了,对不起,掏钱。当你觉得不合算,怎么办,改成cpu(Unlimited)吧,Microsoft会退钱么?而且,别忘了,SQL  server是装在NT/2000  Server上的,你SQL  Server按CPU买,你的Win2K得按Unlimited买,你就傻眼吧。  
    3  Oracle的计算很简单,把你的服务器CPU(Interl芯片还是RISC芯片)赫兹数和个数报出来,套个公式一算,就可以知道要买多少个license数。而且,你可以和oracle谈价钱的,以前我参与的一个项目,就最终和oracle谈好了买500个并发license数。就好了。Microsoft会和你谈么。别天真地认为Microsoft便宜,因为中国很多的企业都是在盗版(或者偷用License),还有,就Microsoft查的最厉害,给他差到,飞让你给个几十万才了,那是你就傻眼吧。  
    4  Oracle  有Linux的,找个公司会做维护的谈个价铬,不知道比SQL  server便宜多少。Microsoft有么,它最反对Open  Source。  
     
    如果大家做过方案规划,才知道其中的猫腻,别以为Microsoft的便宜,如果你的应用大的话,价格最低oracle的2/3,而且还得考虑以后再付钱。如果你的应用小,为什么不用Interbase(比SQL  Server不知道要便宜多少)呢。  
    ------------------------------------------------------  
    SQL  Server的确不能很好地解决这个问题。  
    如果采用嵌套事务的做法,主事务的commit和rollback都会自动将所有子事务进行commit和rollback,而采用存储点,只能rollback到一个存储点,不能commit到一个存储点。的确,不好办。  
     
      

  3.   

    怎么说呢?
    应该根本没有可比性。
    小型数据可以用sql server,大型数据就必须用oracle了。
      

  4.   

    sql server也是大型数据库管理系统.
      

  5.   

    我看完所有的回帖,感觉答非所问,楼主问题是sql server 中基础概念 如何和oracle中的对应起来,和谁对应?不是比较,强烈希望所有的高手可以回答这个问题,我感觉这个问题是所有从sql server 转移到oracle 遇到的问题