Oracle与SQL Server事务处理的比较

合集下载

Oracle与SQL Server比较

Oracle与SQL Server比较

Oracle可在所有主流平台上运行,包括Windows、Unix、Linux等等。同时Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。对开发商来说是很大的支持。而SQL Server却只能在Windows上运行了,显得比较单调。从操作平台这点上Oracle是完全优胜于SQL Server的了。
Oracle与SQL Server比较
一、 操作平台
操作系统的稳定对数据库来说是十分重要的,由于SQL Server与Windows操作系统同属Microsoft公司的产品,所以在和Windows操作系统的整体结合程度、使用方便性、和Microsoft开发平台的整合性都比Oracle强的很多;但是Windows操作系统的稳定性及可靠性大家是有目共睹的,并且 Microsoft公司的策略目标是将客户都锁定到Windows平台的环境当中,只有随着Windows性能的改善,SQL Server才能进一步提高。
4. 临时表
SQL Server创建的临时表在创建后会由数据库自动回收。而Oracle的全局临时表会一直存在,但是其中数据在提交后会全部清除。
5. 帮助文档
SQL Server提供详细的中文说明文档,但是Oracle本身并不提供中文说明文档。最起码说明在针对中国市场上,Oracle并不如SQL Server态度积极。
三、 数据库管理
1. Oracle是针对表空间和用户来进行管理,而SQL Server是以针对单独的数据库进行管理。换另一种说法也就是,Oracle的数据权限分配是以用户可以访问哪些表作为依据。而SQL Server是以特定数据库中哪些用户可以访问作为依据。

SQLserver和Oracle的优劣对比

SQLserver和Oracle的优劣对比

SQLserver和Oracle的优劣随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高。

Oracle数据库在大多数企业中受到广泛使用,而SQL Server数据库也因为和Windows 的联系,在企业中的使用也是非常广泛。

这边说Oracle数据库有如此这般功能,那边又说SQL Server这些个那些个特性,各持己见。

如今大型关系型数据库多数单位都使用的是Oracle数据库,Oracle数据库的安全理涉及很多方面,比如控制数据的一致性和并行性,建立不同安全域的用户组与用户,以及不同客户连接的不同权限,管理员对不同用户的角色和权限的控制,建立足够有效的审计安全策略等。

SQL Server是一个关系数据库管理系统,它是建立在Windows的可伸缩性和可管理性之上,提供功能强大的客户/服务器平台,高性能客户/服务器结构的数据库挂历系统可以将VisualBasic,VisualC++等众多语言作为客户端开发工具,而将SQL Server作为存储数据的后台服务器软件,随着SQL Server产品性能的不断扩大和改善,已经在数据库系统领域占有非常重要的地位。

下面我们将从以下几方面对SQL Server和Oracle的优劣进行对比:1.开放性:SQL Server:SQL Server只在Windows上运行,没有丝毫的开放性,Microsoft这种专有策略的目标是将客户锁定到Windows环境中。

由于SQL Server紧密的捆绑在Windows平台上,所以,只有随着Windows操作系统可靠性、开放性以及性能的改善,SQL Server的开放性和可靠性才能进一步提高,因此操作系统的系统的稳定对数据库是十分重要的。

windows9x系列产品是偏重于桌面应用,nt server只适合中小型企业。

而且windows平台的可靠性,安全性和伸缩性是非常有限的。

它不象unix那样久经考验,尤其是在处理大数据量的关键业务时。

数据库管理系统比较MySQLvsOraclevsSQLServer

数据库管理系统比较MySQLvsOraclevsSQLServer

数据库管理系统比较MySQLvsOraclevsSQLServer 数据库管理系统比较:MySQL vs Oracle vs SQL Server引言:数据库管理系统是现代信息技术领域中不可或缺的一环。

随着数据量的急剧增加和数据库应用的广泛应用,选择适合自己需求的数据库管理系统变得至关重要。

在本文中,我们将比较三种常见的数据库管理系统:MySQL、Oracle和SQL Server。

通过对比它们的性能、功能、可扩展性和使用成本,为读者提供一个更好地了解和选择的依据。

一、性能比较在数据库管理系统中,性能是一个至关重要的因素。

下面将对MySQL、Oracle和SQL Server的性能进行比较。

1.1 MySQL性能MySQL是一个轻量级的开源数据库管理系统,以其高性能而闻名。

它采用多线程处理机制和高效的索引算法,能够处理大规模的数据访问和高并发请求。

此外,MySQL还支持垂直和水平扩展,可根据实际需求进行灵活配置和调整。

因此,在对于大多数中小型应用来说,MySQL提供了相对较好的性能。

1.2 Oracle性能Oracle是一个功能强大且成熟的商业数据库管理系统。

它具有出色的性能,并且能够处理大规模的复杂数据模型。

Oracle采用了先进的事务处理机制和高效的查询优化算法,使其在处理高并发访问和复杂查询时具有出色的性能表现。

然而,Oracle的性能和功能也伴随着更高的硬件要求和许可成本。

1.3 SQL Server性能SQL Server是由微软公司开发的关系型数据库管理系统。

它在处理大规模数据时表现出色,并且支持高并发访问和复杂查询。

SQL Server 采用了先进的内存管理和缓存技术,以提高查询速度和响应时间。

此外,SQL Server还具有良好的稳定性和可靠性,适用于中小型企业的应用场景。

综合比较,MySQL适用于中小型应用,对性能要求较高且成本敏感的场景;Oracle适用于大规模企业级应用,对功能和可靠性要求较高的场景;SQL Server适用于中小型企业应用,对性能和稳定性要求较高的场景。

sql和oracle对数据库事务处理的差异性

sql和oracle对数据库事务处理的差异性

SQL和Oracle 对数据库事务处理的差异性作者:Jake, 岀处:IT专家网论坛,责任编辑:陈子琪,2009-10-11 13:00背景在吉日嘎拉的软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)文章中关于MS SQL Server 和Oracle对数据库事务处理的差异性引起一些争论,因此记录我对数据库事务处理的想法。

简介本文讲述 MS SQL Server 和Oracle对数据库事务处理的差异性,以及Oracle如何对事务处理的实现。

什么是事务数据库事务(Database Transaction)是一组数据库操作的处理单元。

事务符合ACID 的特性:Atomic :原子性,要么全部要么一无所有。

All or No ne.Con siste nt: —致性,所有依赖关系以及约束一致。

Isolated:分离性,不同事务不互相影响。

Durable:持久性,提交事务的数据需要持久化。

为什么要使用事务实现事务主要有两大功能:1•保证数据库的consistent(—致性状态),保持所有依赖关系以及约束一致)。

哪怕数据库管理系统出现故障时(例如断电),也能恢复到一致性状态。

例如一个银行转帐系统,张三给李四转3000 圆RMB,张三帐号上减 3000和李四帐号上加 3000需要同时完成,否则系统的帐就不平了。

也例如有些销售系统的汇总表和明细表,是一个主表和一个从表,需要同步更新。

2.并发时分离不同事务操作。

例如编辑过程中的数据不给其他事务查询到。

这也是相对的,在特效需求下可能要支持dirty read(脏读),但不是这里讨论的范围了。

SQL Server 2008 的事务类型1.自动提交事务 Autocommit Transactions这是SQL Server 默认的事务类型,每一条单独的SQL语句(SQL statement)都是单独的一个事务,语句执行完毕后自动提交。

调用方不需要手工控制事务流程。

Oracle和SQLServer的主要区别

Oracle和SQLServer的主要区别
Oracle与 Server的主要区别 Oracle与Sql Server的主要区别
序号 Oracle 1.Oracle的参数文件init.ora是可调的,既我们可以根据数据库的规 模调整Oracle对系统资源的使用情况,以达到最合理的资源分配,让 Oracle达到最佳的性能。因此Oracle的性能优势体现在它的多用户 上,比较适用于访问量和并发用户数大的大型应用系统上。 2.游标是以提高速度全部统一的单项游标,可以允许多用户异步读 取,而且声明比较简单,就一句declare cursor游标名 is select 语句就可以了。 数据库性能 3.Oracle以块为最小存储单位,以区为单位分配空间,用户可以根据 需要自己定义块的大小,且区可以按等额或递增进行分配,这可以大 大减少系统的I/O操作提高数据库的性能。 4.ORACLE中用户可以根据数据需要在创建块时定义填充因子(空闲空 间的百分比)和复用因子(当块的存储数据所占的空间下降到这个百分 比之下时,块才重新标记为可用)。用户可以根据记录变化频率和数 据量的大小设置合适的填充因子和空闲因子。 Oracle的安全可靠性更高: 1.Oracle的数据字典和真实数据是分开存放的,不同的数据分别放在 不同的表空间,而且基表(存储系统参数信息)是加密存储,任何人都 无法访问,只能通过用户可视视图查看。安全性高。 2.在ORACLE里默认只有三个系统用户,ORACLE只能通过注册用户登入 安全性 。 3.Oracle的控制文件记录了数据库文件的物理位置和有效性,在每次 打开Oracle系统都将自动对数据进行验证,查看其有效性,防止数据 的丢失,这体现了Oracle对数据管理的严密性。 4.ORACLE在创建表时用户可以精确定义数据存放的表空间,甚至可以 把一张表分开存放在多个表空间中,这样可以将数据量庞大的表按某 Oralce可以很好地支持Windows、Linux等多种操作系统,跨平台性比 跨平台 较好 Oracle的存储结构是由块、区、段组成,可扩展性好,空间利用率 高,但是操作比较复杂: 1.ORACLE里有两个块参数PCTFREE(填充因子)和PCTUSED(复用因子), 块的大小可设置,这样可降低数据行连接与行迁移的可能性。 2.连续的块组成区,区的分配可以是等额的也可以是自增长的,这样 存储结构的不同 可以减少空间分配次数。 3.Oracle的表可以分为多个段,段由多个区组成,每个段可指定分配 在哪个表空间里,这样大大降低了磁盘争用的可能性。 4.Oracle的数据字典和真实数据是分开存放的,不同的数据分别放在 不同的表空间,而且基表(存储系统参数信息)是加密存储,任何人都 无法访问。只能通过用户可视视图查看。 1.ORACLE中容错类型有三种,分别是预定义错误、非预定义错误、用 户自定义,其中在自定义错误中SQLCODE 错误号、SQLERRM错误描述 是SQL Server没有的。 容错机制 2.Oracle提供了健全的错误机制,用户可以轻松的获得错误位置和错 误原因而加以修改。用户还可以自己定义所须的错误类型,用以检查 逻辑错误。 备份机制 ORACLE提供了7种备份机制,具有联机备份功能 Oracle的日志默认有3个,先写入1号日志,满了后再写入2号日志,2 号满了再写入3号日志,3号满了后Oracle将自动备分1号日志的内 容,然后清空后写入新的日志信息,且Oracle的日志有多路复用功 能,我们可以为日志创建多个镜像,把相同的日志信息同时写入多个 日志文件中,这样可以防止磁盘损坏造成的数据丢失。

DM7与Oracle 11g和SQL Server 2008全面技术比较-019

DM7与Oracle 11g和SQL Server 2008全面技术比较-019

DM7与Oracle 11g
和SQLServer 2008的比较
达梦数据库
DM7是达梦数据库技术有限公司推出的高性能数据库产品。

它具有开放的、可扩展的体系结构,易于使用的事务处理系统,以及低廉的维护成本。

DM7是自主开发的产品,具有完全自主版权和较高的安全级别。

DM7可以跨越多种软硬件平台,具有大型数据的综合管理能力,是高效稳定的国产数据库管理系统。

我们将达梦数据库管理系统DM7与国外两个主流商用数据库管
理系统——甲骨文公司的Oracle 11g和微软公司的SQLServer 2008,从功能、性能、标准符合性及主要技术指标等方面进行了比较。

比较的主要依据为国际上通用的各种数据库评测标准(如SQL 92标准、ODBC标准、JDBC标准、OLE DB标准、TPC-C和TPC-H性能评测标准等),同时结合应用实例进行测试、比较。

在测试、比较过程中,我们参照中国软件评测中心的《2005年度国产数据库管理系统测试方案》。

通过测试比较可以看出,DM7是国产具有自主版权的、高安全级别的、大型通用的数据库管理系统。

与Oracle 11g和SQLServer 2008这两个典型的国外数据库管理系统相比较,从功能上看,在联机事务处理方面功能基本相当,且DM7在安全性、中文全文检索和多媒体的支持上有突出的特点;从标准符合性上看,DM7表现最佳;
总体而言,DM7与Oracle 11g和SQLServer 2008基本处于同一水平线上,在功能与性能上各有千秋。

具体比较项目见下表所示:
DM7与Oracle 11g和SQLServer 2008的比较表。

SQL Server 和 Oracle 的优劣

SQL Server 和 Oracle 的优劣

SQL Server 和 Oracle 的优劣SQL Server是微软公司开发的数据库产品,SQL Server 2000被广泛使用,很多电子商务网站、企业内部信息化平台等都是基于SQL Server产品上。

SQL SERVER 2000是微软推出的数据库管理系统数据库日常维护工作是系统管理员的重要职责。

其内容主要包括以下几个部分:1、备份数据库2、备份事务日志3、备份数据库及其日志间的相互作用4、用户、权限管理等5、监视系统运行状况,及时处理系统错误6、灾难恢复与管理7、保证系统数据安全,周期更改用户口令SQL Server 2000 是Microsoft 公司2000年推出的SQL Server 数据库管理系统的版本。

它是一个杰出的数据库平台,可用于大型联机事务处理、数据仓库、以及电子商务等。

特点:真正的客户机/服务器体系结构。

图形化用户界面。

丰富的编程接口工具。

SQL Server与Windows NT完全集成。

具有很好的伸缩性。

对Web技术的支持。

SQL Server提供数据仓库功能。

是微软开发的只能按照在windows平台下。

适合小数据库应用。

oracle 可以安装在aix hp-unix solaris linux windows不同的架构的操作系统下。

大型数据库。

操作系统的稳定对数据库来说是十分紧要的,在数据库可操作平台上,Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。

客户可以利用很多种第三方应用程序、工具。

对开发商来说是很大的支持。

而SQL Server却只能在Windows上运行了,这个就显得比较单调了,但SQL Sever在Window 平台上的表现,和Windows操作系统的整体结合程度,使用方便性,和Microsoft开发平台的整合性都比Oracle强的很多。

但Windows操作系统的稳定性及可靠性大家是有目共睹的,再说Microsoft公司的策略目标是将客户都锁定到Windows平台的环境当中,只有随着Windows性能的改善,SQL Server才能进一步提高。

深度对比Oracle与SQL_Server

深度对比Oracle与SQL_Server

一般的公司通常会在他们的信息系统架构中引入多种数据库平台,同时引入三到四种不同的RDBMS解决方案的中大型公司也并不少见,当然这些公司里面的DBA们通常也需要同时拥有管理多种不同平台的技能了。

只在一种平台上展开工作的数据库专家们也通常会期待着在他们的下一份工作中能学到点不一样的东西,那些有勇气的人们则愿意花时间、金钱和精力去学习新的东西,也有其他因为换了新公司或者是为了找新的工作而去学习新的系统的人们,毋庸置疑的一点就是公司老板和人力专家们会更加青睐于那些拥有多个领域经验的求职者。

依我个人的经验来看,在学习一个新的数据平台的时候,最好的方法就是在新的环境中去发现那些你已知的东西,这样学习起来会简单很多。

当然,当中也会遇到一些全新的概念需要去学习,或者是忘掉一些你现在已知的概念,但不管怎么说你不是从零开始的。

比如说一个做SQL Server开发人员在要写Oracle存储过程的时候可能会先去找那些内置的函数然后比较它们之间不同点,她也可能会去比较变量声明以及错误处理的异同。

本系列文章中我将尝试对Microsoft SQL Server和Oracle RDBMS(以10g及以后的版本为主)进行一个深入的比较。

我会主要集中于这两种数据库之间架构上的比较,当然不要期望我会给你一个详尽的比较清单,但是我会尽我所能的让你看清这两种当今世上应用最广的数据库之间的相同和相异之处。

本文是以一个SQL Server DBA的角度去构思和写作的,不过相信这对Oracle专家门了解SQL Server这一面也是很有参考价值的。

废话少说,开工吧。

top操作系统的支持Microsoft SQL Server向来都从属于Windows大家族中的一员,要让Microsoft发布一个支持其它操作系统版本的可能性当然是小之又小的了。

当前来说SQL Server可以在XP、Vista、Windows Server 2000、2003、2008上运行,同时也有针对于32位和64位版本Windows 的数据库版本。

sqlserver与oracle差异汇总

sqlserver与oracle差异汇总

SQL server 与Oracle开发比较本文档主要从oracle与sql server语法上进行差异性比较,诸如两者在管理,性能,优化等方面的差异不作比较。

●概念上区别1.Oracle 是一种对象关系数据库管理系统(ORDBMS),而Sql server 只是关系型数据库管理系统(RDBMS).2.Oracle使用Internet文件系统,该系统基于Java的应用程序,可以使数据库基于成为Internet的开发平台;Sql server 是基于windows3.两者支持的命令类别差不多,数据定义语言,数据操纵语言,事务处理控制语言,数据控制语言.在Oracle中,在事务控制语言中除了commit,rollback等还多了一个Savepoint,设置保存点。

4.oracle sql的扩展叫PL/SQL,主要的结构化查询工具有sql*plus,isql*plus, pl/sql等,Ms sql的扩展叫Transact-SQL,主要的结构化查询工具就是自带的查询分析器5.主要数据类型Orace:主要支持char ,varchar2,long,number,datetime,raw,longraw,clob,blob,bfie前面三个是Character数据类型,varchar2支持可变长度的字符串,long支持可变长度的字符数据,raw,long raw用于存储二进制数据,long raw 可变长度最后三个是大对象(lob)数据类型,存储非结构化的信息,例如声音剪辑,视频文件CLOG表示Character Lob,可以存储大量的字符数据,它对于存储非结构化的XML 文档非常有用。

BLOG表示Binary LOG,此数据类型可以存储大型二进制对象,如图形、视频剪辑,声音文件等支不支持,money,货币Sql server 主要支持的文本类型char ,varchar,nchar,nvarchar,text,ntext,image,货币类型Money,二进制 binary,varbinary等等●开发语法A.SQL 语法两者的SQL语法基本上是相同的,只是一些细节方面的问题一、表的管理:修改表的结构,如增加,删除列,创建表修改表1.修改表的列的数据类型,大小的定义不同,如下面修改数据类型。

SQL与Oracle对数据库事务处理的差异性(doc 8页)

SQL与Oracle对数据库事务处理的差异性(doc 8页)

SQL与Oracle对数据库事务处理的差异性(doc 8页)SQL 和Oracle对数据库事务处理的差异性作者: Jake, 出处:IT专家网论坛,责任编辑: 陈子琪,2009-10-11 13:00在吉日嘎拉的软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)文章中关于MS SQL Server和Oracle对数据库事务处理的差异性引起一些争论,因此记录我对数据库事务处理的想法。

背景在吉日嘎拉的软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)文章中关于MS SQL Server和Oracle对数据库事务处理的差异性引起一些争论,因此记录我对数据库事务处理的想法。

简介本文讲述MS SQL Server和Oracle对数据库事务处理的差异性,以及Oracle如何对事务处理的实现。

什么是事务帐就不平了。

也例如有些销售系统的汇总表和明细表,是一个主表和一个从表,需要同步更新。

2.并发时分离不同事务操作。

例如编辑过程中的数据不给其他事务查询到。

这也是相对的,在特效需求下可能要支持dirty read(脏读),但不是这里讨论的范围了。

SQL Server 2008 的事务类型1.自动提交事务Autocommit Transactions这是SQL Server默认的事务类型,每一条单独的SQL语句(SQL statement)都是单独的一个事务,语句执行完毕后自动提交。

调用方不需要手工控制事务流程。

2.显示事务Explicit Transactions调用方需要调用API或者使用T-SQL的BEGIN TRANSACTION语句来打开事务。

需要调用COMMIT或者ROLLBACK TRANSACTION 来提交或者回滚。

3.隐式事务Implicit Transactions使用SETIMPLICIT_TRANSACTIONS ON把事务模式变成隐式模式。

调用方不需要执行BEGIN TRANSACTION 语句来打开事务。

浅谈ORACLE与SQL SERVER的差异

浅谈ORACLE与SQL SERVER的差异

摘要ORACLE 和 SQL SERVER 是众多数据库的一分子。

在不同的关系型数据库管理系统(RDBMS)之间,存在很多差异,ORACLE和SQL SERVER都符合SQL-92标准的属性扩展。

从应用程序的开发人员的角度来看,ORACLE和SQL SERVER对数据进行管理方式没有太大的区别。

ORACLE和SQL SERVER之间的内部差异却是十分明显。

计算机系统和终端设备的功能、性能和使用方式千差成别,用户希望在现有设备的基础上,充分利用不同系统的各种资源,尽可能简单地完成一项工作,满足用户的要求,设计一个统一的系统接口,并通过这一接口与局部系统转换,实现各种资源的共享。

这种转换实际上是数据库语言转换,为了实现其转换,就必须进行数据库语言的比较。

ORACLE公司的ORACLE和Microsoft公司推出的SQL ERVER是当今流行的大型关系数据库管理系统,它们是建立在成熟而强大的关系模型基础上,可以很好的支持客户/服务器模型,系统具有功能强大,使用灵活和形式多样的特点,可以用于构造从小型的单用户系统到支持数千个并发用户的大型应用项目上。

本文针对ORACLE和SQL SERVER两种语言进行比较。

关键字:数据库,ORACLE,SQL SERVERAbstractOracle and Sql server are member of numerous database.In the relational database management system (RDBMS) between different, there are number of differences,Properties of Oracle and Sql server are in line with the SQL-92 standard extension.From the application developer's perspective, Oracle and Sql server is not much difference to carry on the management mode of data.Is very obvious to The internal differences between Oracle and Sql server Computer systems and terminal equipment function, performance and the use way thousands of poor into other,Users hope that on the basis of the existing equipment, make full use of various resources in different systems, as simple as possible to complete a task, to meet user requirements, design a unified system interface, and through this interface with the local system transformation, realize the sharing of various resources.This conversion is actually the database language conversion, in order to realize the conversion, the comparison must carry out the database language.Oracle and Microsoft's Sql server is a large scale relational database management system of popular.They are based on a mature and powerful relationship model based on server model, can be very good support customer / the system have the function strong, the use of flexible and diverse forms of characteristics, can be used for the large type application project is constructed from the single user system for small to support thousands of concurrent users.According to Oracle and Sql server the two language are compared.Key words:Database, Oracle,Sql server目录1 绪论 (4)1.1课题研究的背景 (4)2 ORACLE 与 SQL SERVER 的发展史 (6)2.1 ORACLE 与 SQL SERVER 的发展史 (6)2.1.1 ORACLE 的发展 (6)2.1.2 SQL SERVER 的发展 (9)3 ORACLE 与 SQL SERVER性能的比较 (12)3.1数据库操作平台的开放性 (12)3.2性能、价格比 (13)3.3工具软件 (13)3.4文件体系结构 (14)3.4.1 主要的文件体系结构 (14)3.4.2 ORACLE的文件体系结构 (15)3.5存储结构 (15)3.5.1 ORACLE基本表空间 (15)3.5.2 SQL SERVER基本数据库 (15)3.6 基于数据库安全的比较分析 (16)4 ORACLE 与 SQL SERVER 语言的比较 (17)4.1 数据类型的不同 (17)4.1.1 ORACLE 的数据类型 (17)4.1.2 SQL SERVER 的数据类型 (20)4.2 在ORACLE中没有默认约束的说法 (23)4.3 连接变量和字符串的方式不一样 (23)4.4 条件语句if......else......的语法不同 (23)4.5 case语句的语法不同 (24)4.6 触发器创建语法不同 (25)4.7 创建用户的方式不同 (27)4.8 存储过程不同 (29)5 ORACLE 与 SQL SERVER 事务处理的异同 (30)5.1 事务的特点 (30)5.2 事务的执行过程 (30)5.3 事务处理过程的锁定和并发性 (31)5.4 事务日志和自动恢复 (33)结论 (34)致谢 (35)参考文献 (36)1 绪论1.1课题研究的背景数据库系统(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。

ORACLE与SQLSERVE比较

ORACLE与SQLSERVE比较

SQLSERVE \ORACLE\DB2比较【开放性】SQL Server只能在windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。

Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。

而且windows平台的可靠性,安全性和伸缩性是非常有限的。

它不象unix那样久经考验,尤其是在处理大数据量的关键业务时.Oracle能在所有主流平台上运行(包括windows)。

完全支持所有的工业标准。

采用完全开放策略。

可以使客户选择最适合的解决方案。

对开发商全力支持。

DB2能在所有主流平台上运行(包括windows)。

最适于海量数据。

DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%.【可伸缩性,并行性】SQL server并行实施和共存模型并不成熟。

很难处理日益增多的用户数和数据卷。

伸缩性有限。

Oracle平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。

如果windowsNT不能满足需要, 用户可以把数据库移到UNIX中。

DB2DB2具有很好的并行性。

DB2把数据库管理扩充到了并行的、多节点的环境.数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。

数据库分区有时被称为节点或数据库节点【安全性】SQL server没有获得任何安全证书。

Oracle Server获得最高认证级别的ISO标准认证。

DB2获得最高认证级别的ISO标准认证。

【性能】SQL Server多用户时性能不佳Oracle性能最高,保持windowsNT下的TPC-D和TPC-C的世界记录。

DB2适用于数据仓库和在线事物处理,性能较高。

【客户端支持及应用模式】SQL ServerC/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接.Oracle多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接DB2跨平台,多层结构,支持ODBC,JDBC等客户【操作简便】SQL Server操作简单,但只有图形界面.Oracle较复杂, 同时提供GUI和命令行,在windowsNT和unix下操作相同DB2操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同【使用风险】SQL server完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。

sql server 和oracle database 11g的比较

sql server 和oracle database 11g的比较

SQL Server 2008与Oracle Database 11g相比较【IT专家网独家】1. 执行摘要Microsoft SQL Server 2008在与你的业务相关的方面胜过Oracle。

下面总结了SQL Server 2008胜出的一些关键任务方面。

性能和可扩展性由强大的行业标准基准结果证明,SQL Server 延伸到了一些全球最大的工作负载。

像Unilever、Citi、Barclays Capital 和Mediterranean Shipping之类的客户在SQL Server上运行它们的最关键任务应用程序。

运行SQL Server2008的客户,包括大型的独立软件开发商例如Siemens和RedPrairie,表示使用最新的改进了可扩展性的版本后,感受特不行。

SQL Server被CRN Magazine认做是最好的销售商和进展最好的销售商。

安全在过去的四年里National Vulnerability Database (NIST)报告了在Oracle数据库产品中的330多个要紧的安全漏洞。

而在同一时刻,关于SQL Server 2005的漏洞一个都没有。

那个结果来自于可信赖计算打算(Trustworthy Computing Initiative)中的安全引擎处理部分、广泛的安全特性和一个强大的Microsoft更新基础构建。

那个成功的结合为客户降低了安全风险和打补丁的停机时刻。

依照一个专家介绍,在补丁治理方面,Oracle 落后于Microsoft五年的时刻。

Computerworld报告显示三分之二的Oracle数据库治理员不使用安全补丁。

开发人员生产力SQL Server 与Microsoft Visual Studio一起使用,关心提供一个集成的开发体验,使得开发人员能够在一个环境中处理客户端、中间层和数据层。

SQL Server 2008通过新的开发特性又向前迈进了一步。

sql server与oracle的区别

sql server与oracle的区别

疯狂SQL之魔兽争霸本人平时比较沉默,但朋友们都说我很疯狂—疯狂地学习、疯狂地工作。

很久就有写点东西的打算啦,一直懒于打字,近来稍有空闲,决定杜撰此文,献给现些喜欢或不喜欢沉默的朋友。

----自序网上已经有很多SQL与ORACLE的对比,但本人要讲的即不是单纯的SQL,也不是单纯的ORACLE,更不是评价谁好谁坏(意思不大),而是两种数据库之相同和异同,本人曾讲授过SQL与ORACLE的课程,讲SQL时说SQL好,讲ORACLE时又说ORACLE棒,现在终于可以平心而评啦。

估计有人现在会嘿嘿冷笑(又一个误人子弟的骗子),老实说,当初每次讲完课,就有这种感觉—教的人不得其法,学的人不得其道。

说点严肃的事吧,据说比尔与艾里森在洗手间相遇,两个又是拥抱,又是KISS,不多久就吵了起来,比尔对查询分析器(SQL QUERY ANALYZE)赞不经绝口,艾里森嘿嘿冷笑,只说了一句话—SQL PLUS内秀。

言归正传,且听我一一道来1.SQL与ORACLE的内存分配ORACLE的内存分配大部分是由INIT.ORA来决定的,一个数据库实例可以有N种分配方案,不同的应用(OLTP、OLAP)它的配置是有侧重的。

SQL概括起来说,只有两种内存分配方式:动态内存分配与静态内存分配,动态内存分配充许SQL自己调整需要的内存,静态内存分配限制了SQL对内存的使用。

1.002、SQL与ORACLE的物理结构总得讲,它们的物理结构很相似,SQL的数据库相当于ORACLE的模式(方案),SQL的文件组相当于ORACLE的表空间,作用都是均衡DISK I/O,SQL创建表时,可以指定表在不同的文件组,ORACLE则可以指定不同的表空间。

CREATE TABLE A001(ID DECIMAL(8,0)) ON [文件组]--------------------------------------------------------------------------------------------CREATE TABLE A001(ID NUMBER(8,0)) TABLESPACE 表空间注:以后所有示例,先SQL,后ORACLE2.003、SQL与ORACLE的日志模式SQL对日志的控制有三种恢复模型:SIMPLE、FULL、BULK-LOGGED;ORACLE对日志的控制有二种模式:NOARCHIVELOG、ARCHIVELOG。

SQL server和oracle这两个数据库有什么区别?

SQL server和oracle这两个数据库有什么区别?

SQL server和oracle这两个数据库有什么区别?首先这两个都是关系型数据库,都数据经常使用的数据库。

Oracle是排名第一的,从使用广度和并发性性能方面,SQL server排名第三。

它们的区别:1.应用平台的角度:Oracle可以运行在任何平台,像Window,Linux,MarOS 上。

SQL server主流的支持平台是Windows,因为它背后的靠山就是Microsoft.从2017版开始,SQL server也开始跨平台,你可以下载它的Docker版本,就可以运行在Linux和MarOS上。

2.从优化的角度:比如查询优化,Orcale支持*的查询优化,SQL server是没有这个操作的。

从更新的角度,Orcale更新一个字段后需要执行commit提交以后才能更新,而SQL server 不需要commit,它的值已经改变了。

从回滚的角度,Orcale 可以在事务执行中支持回滚,而SQL server不允许,只有事务执行完了,发生失败或发生意外,才执行rollback这个功能。

另外就是Schema的区别,Orcale中一个instance有多个Schema,对于Orcale来说,Schema相当于数据库的概念,对于SQL server来说,一个数据库中可以有多个Schema,所以这个Schema相当于table的概念。

3.从备份的角度说,Orcale支持差分备份,而SQL server不支持,像增量级的,完整的文件级的备份这两个数据库都是支持的。

4.从触发器的角度说,Orcale支持前触发器和后触发器,SQL server只支持后触发器。

最后就是从付费的角度考虑,两者都有开源的版本,可供下载使用。

以上就是两者的区别,希望对你有所帮助。

五大主流数据库比较(DB2OracleMySQLSyBaseSQLServer)

五大主流数据库比较(DB2OracleMySQLSyBaseSQLServer)

五大主流数据库比较(DB2OracleMySQLSyBaseSQLServer)一、开放性1. SQL Server只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。

Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。

而且windows 平台的可靠性,安全性和伸缩性是非常有限的。

它不象unix那样久经考验,尤其是在处理大数据库。

2. Oracle能在所有主流平台上运行(包括windows)。

完全支持所有的工业标准。

采用完全开放策略。

可以使客户选择最适合的解决方案。

对开发商全力支持。

Oracle数据库是以结构化查询语言为基础的大型关系数据库,他是用方便逻辑管理的语言来操纵大量有规则的数据的集合,是目前最流行的客户—服务器体系结构的数据库之一。

oracle 的特点:1),支持多用户,大事务量的事务处理2),数据安全性和完整性控制3),提供对于数据库操作的接口4),支持分布式事务处理5),可移植性,可兼容性和可连接性3. Sybase ASE能在所有主流平台上运行(包括windows)。

但由于早期Sybase 与OS集成度不高,因此VERSION11.9.2以下版本需要较多OS和DB 级补丁。

在多平台的混合环境中,会有一定问题。

4. DB2能在所有主流平台上运行(包括windows)。

最适于海量数据。

DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。

5.MySQLMysql 能在所有主流平台上运行(包括windows)。

二、可伸缩性,并行性1. SQL server并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。

2. Oracle并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。

如果windowsNT不能满足需要,用户可以把数据库移到UNIX 中。

SQL Server与Oracle、DB2的性能比较

SQL Server与Oracle、DB2的性能比较

开放性SQL Server只能在Windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。

Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。

而且Windows平台的可靠性,安全性和伸缩性是非常有限的。

它不象Unix那样久经考验,尤其是在处理大数据量的关键业务时。

Oracle能在所有主流平台上运行(包括 Windows)。

完全支持所有的工业标准。

采用完全开放策略。

可以使客户选择最适合的解决方案。

对开发商全力支持。

DB2能在所有主流平台上运行(包括Windows)。

最适于海量数据。

DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。

可伸缩性,并行性SQL Server并行实施和共存模型并不成熟。

很难处理日益增多的用户数和数据卷。

伸缩性有限。

Oracle平行服务器通过使一组结点共享同一簇中的工作来扩展Window NT的能力,提供高可用性和高伸缩性的簇的解决方案。

如果WindowsNT不能满足需要, 用户可以把数据库移到UNIX中。

DB2DB2具有很好的并行性。

DB2把数据库管理扩充到了并行的、多节点的环境。

数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。

数据库分区有时被称为节点或数据库节点。

安全性SQL server没有获得任何安全证书。

Oracle Server获得最高认证级别的ISO标准认证。

DB2获得最高认证级别的ISO标准认证。

性能SQL Server多用户时性能不佳Oracle性能最高,保持WindowsNT下的TPC-D和TPC-C的世界记录。

DB2适用于数据仓库和在线事物处理,性能较高。

客户端支持及应用模式SQL ServerC/S结构,只支持Windows客户,可以用ADO,DAO,OLEDB,ODBC连接。

Oracle多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。

微软sql与oracle数据库对比

微软sql与oracle数据库对比

Microsoft® SQL Server 2000与Oracle®9i™ Database 的比较产品市场部目录概述 (4)可用性 (5)整体比较 (5)高可用性集群技术 (5)Real Application Clusters (RAC) (6)复制 (6)备份与恢复 (8)在线检查数据库 (9)备用服务器 (10)Log Shipping (10)总结 (10)可扩展性 (11)总体比较 (11)支持超大型数据库 (VLDB) (11)OLTP: 向上扩展 (11)OLTP: 向外扩展 (13)实例创建 (14)索引与并行查询 (15)调校参数 (15)最优化监视 (15)总结 (16)安全性 (17)总体比较 (17)一般性安全 (17)审核 (17)Profiling for Auditing (18)事件通知 (18)总结 (18)互用性 (19)整体比较 (19)异类复制 (20)总结 (20)可管理性 (21)整体对比 (21)总结 (23)可编程能力 (24)整体对比 (24)易用性 (26)整体对比 (26)总结 (26)DATA WAREHOUSING (OLAP)能力 (27)整体对比 (27)公共特性对比 (27)总结 (28)数据挖掘能力 (29)整体对比 (29)图形化访问 (29)数据挖掘操作 (29)比较能力 (30)总结 (30)移动性 (31)整体对比 (31)体系结构 – 不同版本 (31)总结 (32)结论 (33)概述要完全了解Microsoft® SQL Server 与Oracle9i™ Database 可不是件简单的事。

本文介绍了Microsoft SQL Server 2000与Oracle9i Database的功能并在最后附录中介绍了最新的Oralce 10g 与Microsoft SQL Server 2000的售价,并做了比较。

Oracle临时表和SQL Server临时表的不同点对比

Oracle临时表和SQL Server临时表的不同点对比

1.简介Oracle数据库除了可以保存永久表外,还可以建立临时表temporary tables。

这些临时表用来保存一个会话SESSION的数据,或者保存在一个事务中需要的数据。

当会话退出或者用户提交commit和回滚rollback事务的时候,临时表的数据自动清空,但是临时表的结构以及元数据还存储在用户的数据字典中。

2.详细介绍Oracle临时表分为会话级临时表和事务级临时表。

会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。

事务级临时表是指临时表中的数据只在事务生命周期中存在。

当一个事务结束(commit or rollback),Oracle自动清除临时表中数据。

临时表中的数据只对当前Session有效,每个Session都有自己的临时数据,并且不能访问其它Session的临时表中的数据。

因此,临时表不需要DML锁。

当一个会话结束(用户正常退出用户不正常退出 ORACLE实例崩溃)或者一个事务结束的时候,Oracle对这个会话的表执行 TRUNCATE 语句清空临时表数据.但不会清空其它会话临时表中的数据.你可以索引临时表和在临时表基础上建立视图.同样,建立在临时表上的索引也是临时的,也是只对当前会话或者事务有效. 临时表可以拥有触发器.3.建立临时表临时表的定义对所有会话SESSION都是可见的,但是表中的数据只对当前的会话或者事务有效.建立方法:1.1) ON COMMIT DELETE ROWS 定义了建立事务级临时表的方法.2.CREATE GLOBAL TEMPORARY TABLE admin_work_area3.(startdate DATE,4.enddate DATE,5.class CHAR(20))6.ON COMMIT DELETE ROWS;7.EXAMPLE:8.SQL> CREATE GLOBAL TEMPORARY TABLE admin_work_area9. 2 (startdate DATE,10. 3 enddate DATE,11. 4 class CHAR(20))12. 5 ON COMMIT DELETE ROWS;13.SQL> create table permernate( a number);14.SQL> insert into admin_work_area values(sysdate,sysdate,'temperary table');15.SQL> insert into permernate values(1);16.SQL> commit;17.SQL> select * from admin_work_area;18.SQL> select * from permernate;19. A20. 121.2)ON COMMIT PRESERVE ROWS 定义了创建会话级临时表的方法.22.CREATE GLOBAL TEMPORARY TABLE admin_work_area23.(startdate DATE,24.enddate DATE,25.class CHAR(20))26.ON COMMIT PRESERVE ROWS;27.EXAMPLE:会话1:1.SQL> drop table admin_work_area;2.SQL> CREATE GLOBAL TEMPORARY TABLE admin_work_area3. 2 (startdate DATE,4. 3 enddate DATE,5. 4 class CHAR(20))6. 5 ON COMMIT PRESERVE ROWS;7.SQL> insert into permernate values(2);8.SQL> insert into admin_work_area values(sysdate,sysdate,'session temperary');9.SQL> commit;10.SQL> select * from permernate;11. A12.----------13. 114. 215.SQL> select * from admin_work_area;16.STARTDATE ENDDATE CLASS17.---------- ---------- --------------------18.17-1?? -03 17-1?? -03 session temperary会话2:1.SQL> select * from permernate;2. A3.----------4. 15. 26.SQL> select * from admin_work_area;7.未选择行.会话2看不见会话1中临时表的数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
显式事务,是指在自动提交模式下以Begin Transaction开始一个事务,以Commit或Rollback结束一个事务,以Commit结束事务是把事务中的修改永久化,即使这时发生断电这样的故障。例如下面是SQL Server中的一个显式事务的例子。
Begin Tran
Update emp Set ename=’Smith’ Where empno=7369
Commit;
DDL_Statement;
If (Error) then
Rollback;
Else
Commit;
End if; 我们通过分析下面例子来看Oracle中,DDL语句对事务的影响:
Insert into some_table values(‘Before’);
二.事务设置及类型的区别
在SQL Server中有三种事务类型,分别是:隐式事务、显式事务、自动提交事务,缺省为自动提交。
自动提交,是指对于用户发出的每条SQL语句,SQL Server都会自动开始一个事务,并且在执行后自动进行提交操作来完成这个事务,也可以说在这种事务模式下,一个SQL语句就是一个事务。
Creaate table T(x int);
Insert into some_table values(‘After’);
Rollback; 由于在Oracle执行Create table语句之前进行了提交,而在Create table执行后也会自动发出Commit命令,所以只有插入After的行被回滚,而插入Before的行不会被回滚,Create table命令的结果也不会被回滚,即使Create table语句失败,所进行的Before插入也会被提交。如果最后发出Commit命令,因为插入Before及Create table的操作结果已经在之前提交,所以Commit命令影响的只有插入After的操作。
Serializable:在一个事务中,读取操作的结果是在这个事务开始之前其他事务就已经提交的记录,SQL Server通过在整个事务期间给表加锁实现这种隔离级别。在这种隔离级别下,对这个表的所有DML操作都是不允许的,即要等待事务结束,这样就保证了在一个事务中的两次读取操作的结果肯定是相同的。
在Oracle中没有SQL Server的这些事务类型,缺省情况下任何一个DML语句都会开始一个事务,直到用户发出Commit或Rollback操作,这个事务才会结束,这与SQL Server的隐式事务模式相似。
三.事务隔离级别
在SQL92标准中,事务隔离级别分为四种,分别为:Read Uncommitted、Read Committed、Read Repeatable、Serializable,其中Read Uncommitted与Read Committed为语句级别的,而Read Repeatable与Serializable是针对事务级别的。
Read Committed:这是SQL Server的缺省隔离级别,设置为这种隔离级别的事务只能读取其他事务已经提交的更新结果,否则,发生等待,但是其他会话可以修改这个事务中被读取的记录,而不必等待事务结束,显然,在这种隔离级别下,一个事务中的两个相同的读取操作,其结果可能不同。
Read Repeatable:在一个事务中,如果在两次相同条件的读取操作之间没有添加记录的操作,也没有其他更新操作导致在这个查询条件下记录数增多,则两次读取结果相同。换句话说,就是在一个事务中第一次读取的记录保证不会在这个事务期间发生改变。SQL Server是通过在整个事务期间给读取的记录加锁实现这种隔离级别的,这样,在这个事务结束前,其他会话不能修改事务中读取的记录,而只能等待事务结束,但是SQL Server不会阻碍其他会话向表中添加记录,也不阻碍其他会话修改其他记录。
四.DDL语句对事务的影响
1.Oracle中DDL语句对事务的影响
在Oracle中,执行DDL语句(如Create Table、Create View等)时,会在执行之前自动发出一个Commit命令,并在随后发出一个Commit或者Rollback命令,也就是说,DDL会象如下伪码一样执行:
Oracle缺省的设置是Read Committed隔离级别(也称为语句级别的隔离),在这种隔离级别下,如果一个事务正在对某个表进行DML操作,而这时另外一个会话对这个表的记录进行读取操作,则Oracle会去读取回滚段或撤销段中存放的更新之前的记录,而不会象SQL Server一样等待更新事务的结束。
Insert Into dept Values(60,’HR’,’GZh’)
Commit 隐式事务,是指在当前会话中用Set Implicit_Transactions On命令设置的事务类型,这时任何DML语句(Delete、Update、Insert)都会开始一个事务,而事务的结束也是用Commit或Rollback。
在Oracle和SQL Server中设置事务隔离级别的语句是相同的,都使用SQL92标准语法,即:
Set Transaction Isolation Level Read Committed
上面示例中的Read Committed可以被替换为其他三种隔离级别中的任意一种。
1.SQL Server中的隔离级别及实现机制
如果最后发出Commit操作,则会把三个操作的结果全部提交。
五.用户断开数据库连接对事务的影响
另外,对应于Oracle的管理客户端工具SQL*Plus,在SQL Server 2000中是osql,两种管理工具都是命令行工具,使用方式及作用也类似,但是在SQL*Plus中,用户退出连接时,会自动先发出Commit命令,然后再退出,而在osql中,如果用户退出连接,会自动发出Rollback命令,这对于SQL Server的自动提交模式没有什么影响,但如果处于隐式事务模式,其影响是显而易见的。对于两种数据库产品的其他客户端管理工具也有类似的不同之处。
事务处理是所有大型数据库产品的一个关键问题,各数据库厂商都在这个方面花费了很大精力,不同的事务处理方式会导致数据库性能和功能上的巨大差异。
事务处理也是数据库管理员与数据库应用程序开发人员必须深刻理解的一个问题,对这个问题的疏忽可能会导致应用程序逻辑错误以及效率低下。
下面我们针对Oracle及SQL Server这两种当前广泛使用的大型数据库产品,探讨一下它们在事务处理方面的一些差异。如没有特殊说明,本文内容适用的数据库产品版本为Oracle9i及SQL Server 2000,其中的示例SQL语句,对于Oracle是在SQL*Plus中执行,而对于SQL Server 2000是在osql中执行。
对数据库中的数据修改都是在内存中完成的,这些修改的结果可能已经写到硬盘也可能没有写到硬盘,如果在操作过程中,发生断电或系统错误等故障,数据库可以保证未结束的事务对数据库的数据修改结果即使已经写入磁盘,在下次数据库启动后也会被全部撤销;而对于结束的事务,即使其修改的结果还未写入磁盘,在数据库下次启动后会通过事务日志中的记录进行“重做”,即把丢失的数据修改结果重新生成,并写入磁盘,从而保证结束事务对数据修改的永久化。这样也保证了事务中的操作要么全部完成,要么全部撤销。
2.SQL Server中DDL语句对事务的影响
在SQL Server中,DDL语句对事务的影响与其他DML语句相同,也就是说,在DML语句发出之前或之后,都不会自动发出Commit命令。
在SQL Server 2000中,对于与上面Oracle同样的例子,最后发出Rollback后,数据库会回滚到插入Before之前的状态,即插入Before和After的行都会被回滚,数据表T也不会被创建。
隔离性:指当前的事务与其他未完成的事务是隔离的。在不同的隔离级别下,事务的读取操作,可以得到的结果是不同的。
持久性:指对事务发出COMMIT命令后,即使这时发生系统故障,事务的效果也被持久化了。与此相反的是,当在事务执行过程中,系统发生故障,则事务的操作都被回滚,即数据库回到事务开始之前的状态。
在SQL Server中提供了所有这四种隔离级别。
下面我们讨论在SQL Server中,这几种隔离级别的含义及其实现方式。
Read Uncommitted:一个会话可以读取其他事务未提交的更新结果,如果这个事务最后以回滚结束,这时的读取结果就可能是错误的,所以多数的数据库应用都不会使用这种隔离级别。
在Oracle中,存在所谓的回滚段(Oracle9i之前版本)或撤销段(Oracle9i版本),Oracle在修改数据记录时,会把这些记录被修改之前的结果存入回滚段或撤销段中,就是因为这种机制,Oracle对于事务隔离级别的实现与SQL Server截然不同。在Oracle中,读取操作不会阻碍更新操作,更新操作也不会阻碍读取操作,这样在Oracle中的各种隔离级别下,读取操作都不会等待更新事务结束,更新操作也不会因为另一个事务中的读取操作而发生等待,这也是Oracle事务处理的一个优势所在。
一.事务的概作组成的一个单元,这些操作要么都完成,要么都取消,从而保证数据满足一致性的要求。事务的一个典型例子是银行中的转帐操作,帐户A把一定数量的款项转到帐户B上,这个操作包括两个步骤,一个是从帐户A上把存款减去一定数量,二是在帐户B上把存款加上相同的数量。这两个步骤显然要么都完成,要么都取消,否则银行就会受损失。显然,这个转帐操作中的两个步骤就构成一个事务。
2.Oracle中的隔离级别及实现机制
在Oracle中,没有Read Uncommitted及Repeatable Read隔离级别,这样在Oracle中不允许一个会话读取其他事务未提交的数据修改结果,从而避免了由于事务回滚发生的读取错误。Oracle中的Read Committed和Serializable级别,其含义与SQL Server类似,但是实现方式却大不一样。
相关文档
最新文档