还是几位读我的书 (《Oracle大型数据库系统在AIX UNIX上的实战详解》) 的读者来邮件咨询问题,很抱歉我不能逐位回复邮件,第一我真的挺忙,第二这些问题颇有共性。我来借助这个地方,统一地和诸位探讨,很多问题我也是在摸索中,不能直接给大家答案,呵呵,大家见谅啊!
说说锁问题。 MS SQL支持的锁类型和Oracle差异是很大的!
Oracle支持的锁定方案为行锁,一种称为“精细的”锁模型。在该模型下,一个数据库用户的读操作不会妨碍其他并发用户针对该数据的更新类型操作,正在更新的数据行也可以被其他并发用户读取,如果发生了并行的、在同样数据上的更新行为,则Oracle的锁机制会即刻生效,以防止数据的脏读和数据覆盖。
Oracle的行锁方案为整体数据库提供了较高的并发性能,同时也维护了数据库数据的原子性和一致性,在如图所示的两个用户并发进程——它们同时完成了各自的操作,却没有互相产生干扰。
图 Oracle的行锁方案及其效果
在MS SQL Server / Sybase ASE系统中,锁定方案是可以指定的,每个表都可以拥有自己的锁模式,可以有如下的锁定方案:
- 所有页:索引页和数据页都被锁定
- 数据页:锁定数据页
- 数据行:仅锁定数据行
在MS SQL Server中,还可以启用基于行版本控制的隔离级别,应用可以指定事务使用行版本查看事务或查询开始时存在的数据,而不使用锁保护所有读取。通过使用行版本控制,读取操作会很少阻止其他事务的进行。
在Sybase中, 默认的锁定方案是所有页——数据更新中同时锁定数据对应的数据页和索引对应的索引页,也可以采用DOL表——在数据更新中仅锁定数据页,或者Row Locking锁定方案,仅锁定数据行即可。Sybase允许更改表的锁定方案,如图16-14所示,可以修改锁定方案为所有页、数据页或数据行。
所以,MS SQL Server、Sybase、Oracle真的是各有不同,各有千秋,程序要是移植,需要做的工作许多…
文平
分享到:
相关推荐
sqlserver自动生成sql语句工具sqlserver转oracle
SQL SERVER连接oracle数据库几种方法 查询oracle数据库中的表 在master数据库中查看已经存在的链接服务器 要在企业管理器内指定登录帐号
JDBC Driver(内附MS SQL Server、Oracle、MySQL的驱动)帮助你连接数据库
sqlserver实现Oracle中Lpad和Rpad函数
在网上看了很多资料,感觉不是很仔细,很多同学遇到这个问题,就详细说明一下在局域网环境下Navicat连接SQL Server和Oracle 19c的方法,PL/SQL Developer连接Oracle
连接sqlserver数据库后选择相应的数据库-数据表以及目标数据库(目前只有oracle),可以将sqlserver转换成oracle数据,有两种方式,点击转换sql按钮,可以生成sql语句,复制语句到oracle里执行。第二种是连接oracle...
MS SQL Server,Sybase SQL Anywhere与Oracle8i数据库系统的应用比较.pdf
SQLServer和Oracle防止数据锁定的比较 .txt
用java实现从SQLSERVER到ORACLE的数据库迁移
sqlserver、oracle、mysql等几乎所有数据库的odbc驱动jar包,都包含在内。
sql_server连接Oracle方法(最全)
运行环境:.net4.5,原创工具 导出后无需修改sql即可执行导入。 SqlServer转Oracle工具 支持表结构、主键及表数据导出
数据库转换工具,可实现oracle,mysql,sqlserver,sybase,db2相互转换
详解了sqlserver和oracle数据库之间的数据迁移
这一部分概述了 Transact-SQL 和 PL/SQL 语言语法之间的相同点和不同点,并给出转换策略。 要将 Oracle DML 语句和 PL/SQL 程序迁移到 SQL Server 时,请按下列步骤执行: 1. 验证所有 SELECT、INSERT、UPDATE 和 ...
SQLSERVER转ORACLE->SQLSERVER转ORACLE语句写法、SQLSERVER转ORACLE语句写法
解决oracle sqldeveloper无法连接mysql、SQLServer问题,sqlDeveloper是ORACLE数据库开发工具,自带的是无法连接MS SQL Server以及mysql的,想连接的话需要第三方工具。 使用方法: 解压出来后将2个jar放入jlib...
本文详细描述了在oracle10g或11g中使用dblink访问sql server,使用oracle的透明网关来访问异构的数据库,方便一些习惯使用oracle的开发人员操作sql server数据库
SQLSERVER导入ORACLE数据库 PDF格式
Oracle与SQLServer的SQL语法差异,用简单易懂的语言和实例对Oracle和Sql Server语法之间的差异进行了对比分析,更加适用于入门的人