没有合适的资源?快使用搜索试试~ 我知道了~
首页Oracle与MS SQL Server 之比较
资源详情
资源评论
资源推荐
前言:该文约六万字,本人在 2001 年断断续续写了几个月,参考
了大量书籍。文中既有本人的亲身体会,也有部分摘录。望广大的
Oracle9i DBA 和 MS SQL Server 2000 的 DBA 批评指正,给予回执,不
胜感激!
Oracle 9i 与 MS SQL Server 2000 之比较
前言:该文约六万字,本人在 2001 年断断续续写了几个月,参考了大量书籍。文中既有本人
的亲身体会,也有部分摘录。望广大的 Oracle9i DBA 和 MS SQL Server 2000 的 DBA 批评指正,
给予回执,不胜感激!..............................................................................................................................1
Oracle 9i 与 MS SQL Server 2000 之比较...............................................................................................1
一、重要概念的对比...............................................................................................................................3
二、关于 Oracle Manager Server 与 MS SQL 的 Enetrprise manager....................................................4
三、关于 Oracle 的 Sys、System 的用户与 MS SQL 的 master 的比较...............................................4
四、Oracle 中新的数据库对象:............................................................................................................4
五、Oracle 回滚段和 SQL Server 的数据库事务日志文件...................................................................5
六、主要数据类型的对比.......................................................................................................................5
七、语法上的区别...................................................................................................................................7
1、基本 SQL 语句的区别................................................................................................................7
SELECT 语句............................................................................................................................7
INSERT 语句.............................................................................................................................8
DELETE 语句...........................................................................................................................8
EXISTS......................................................................................................................................9
2、表数据复制.................................................................................................................................9
库内数据复制...........................................................................................................................9
文本文件转入、转出的批量处理.........................................................................................10
3、表数据更新...............................................................................................................................10
根据其它表数据更新你要更新的表。.................................................................................10
T-SQL UPDATE 语句不支持对 SELECT 语句的更新操作。............................................10
4、内联结,外联结, 交叉联接........................................................................................................11
5、存储过程或函数中使用的临时表...........................................................................................16
临时表的处理机制.................................................................................................................16
SQL Server 中的临时表移植到 Oracle 中我的处理方法如下:...........................................16
下面两条语句效果相当(全局临时表):.........................................................................17
6、分组语句 group by....................................................................................................................17
7、存储过程...................................................................................................................................17
Oracle 的 sp 不能返回结果集。............................................................................................17
在 Oracle 的 sp 中不能出现 DDL 语句..................................................................................18
延迟存储过程的执行.............................................................................................................18
SQL Server 的 sp 形参需要指定长度(若不指定长度,则系统取默认长度,不一定得到
你需要的值),Oracle 的 sp 形参不需要指定长度...............................................................18
临时存储过程.........................................................................................................................19
8、触发器.......................................................................................................................................21
功能上的对比.........................................................................................................................21
1
将 SQL Server 的触发器移植至 Oracle 上............................................................................22
9、视图...........................................................................................................................................23
10、关于游标.................................................................................................................................24
游标的简单定义.....................................................................................................................24
游标的详细语法.....................................................................................................................25
Oracle 的游标 FOR 循环语法................................................................................................27
Oracle 中带参数的游标..........................................................................................................27
Oracle 中游标的属性..............................................................................................................28
PL/SQL 和 T-SQL 中对等的游标语句。..............................................................................29
11、关于自增的 identity 如何移植...............................................................................................30
12、Top n 与 RowNum..................................................................................................................31
13、执行动态 SQL.........................................................................................................................31
14、常用函数的比较.....................................................................................................................34
数字/数学函数........................................................................................................................34
字符函数.................................................................................................................................35
日期函数.................................................................................................................................36
转换函数.................................................................................................................................37
其它行级函数.........................................................................................................................37
合计函数.................................................................................................................................37
15、索引的差异.............................................................................................................................38
聚集索引.................................................................................................................................38
非聚集索引.............................................................................................................................38
索引的语法和命名.................................................................................................................39
索引数据存储参数.................................................................................................................39
使用索引的注意事项 ............................................................................................................39
使用 Oracle9i 全索引扫描快速访问数据.............................................................................40
16、约束与完整性.........................................................................................................................41
约束共有五类:.....................................................................................................................41
列约束和表约束.....................................................................................................................44
增加和删除约束.....................................................................................................................45
DEFAULT................................................................................................................................46
下表提供了一个用于定义引用完整性约束的语法比较。.................................................46
数据完整性.............................................................................................................................46
17、优化 SQL 语句........................................................................................................................48
18、异常的处理.............................................................................................................................52
19、子查询.....................................................................................................................................53
20、其它语法的比较.....................................................................................................................54
锁定请求的行.........................................................................................................................54
行合计和 COMPUTE 子句....................................................................................................54
读取和修改 BLOB.................................................................................................................55
条件测试.................................................................................................................................55
用户定义的函数.....................................................................................................................55
模式匹配.................................................................................................................................56
关键字.....................................................................................................................................57
声明变量.................................................................................................................................57
2
变量赋值.................................................................................................................................58
语句块.....................................................................................................................................58
条件控制(选择结构).........................................................................................................59
重复控制(循环结构).........................................................................................................59
顺序控制:GOTO 和 NULL 语句.........................................................................................59
PRINT 与 dbms_output.put_line()..........................................................................................59
从存储过程返回.....................................................................................................................60
提出程序错误.........................................................................................................................60
其它语法.................................................................................................................................60
数据库对象之间的差异。.....................................................................................................61
Dual..........................................................................................................................................61
取得建表和索引的 DDL 语句...............................................................................................62
八、数据库的复制.................................................................................................................................64
九、备份与恢复.....................................................................................................................................74
十、超大型数据库的设计.....................................................................................................................78
十一、元数据与数据字典.....................................................................................................................84
十二、相互移植时的注意事项.............................................................................................................94
十三、完全卸载.....................................................................................................................................95
十四、作者简介.....................................................................................................................................95
附录 1:Oracle 中显示 SQL 语句的内存使用情况.............................................................................96
附录 2:保持 Oracle 优良性能的若干诀窍..........................................................................................97
附录 3:Oracle 中查看本用户下的各种对象的 SQL 脚本...............................................................100
附录 4:Oracle 数据操作和控制语言详解.........................................................................................102
一、重要概念的对比
MS SQL Server 相当于 Oracle
服务器 数据库
数据库 方案(用户)
文件组 表空间
区(固定 64K) 区(不固定)
页(固定 8K) 块(不固定)
服务器角色 角色
语句权限 系统权限
对象权限 对象权限
MS SQL 的数据库相当于 Oracle 的 Schema。Schema 翻译为中文为“方案”,意思是一个用户
所拥有所有对象的集合。这里的对象包括表、视图、实例化视图、序列、过程、函数、程序包 、
同义词。要建立一个在 Oracle 中的类似于 MS SQL 的数据库的大致过程如下:
1 建立数据表空间(相当于 MS SQL 的数据库的数据文件)
2 建立临时表空间(相当于 MS SQL 的数据库的事务日志文件)
3 建立用户,它的缺省表空间和临时表空间是刚建立的两个表空间
3
4 给用户授权,最起码的角色权限是 Connect 的角色
5 以该用户登陆,创建自己的表、视图、实例化视图、序列、过程、函数、程序包、同义词
等
二、关于 Oracle Manager Server 与 MS SQL 的 Enetrprise manager
Oracle Manager Server 提供了与 MS SQL 的 Enetrprise manager 同样的功用,但是两者有很
大的差别。Oracle Manager Server 的特点如下:
它是 Oracle 管理分布式数据库的服务
它缺省并不安装
它需要有自己管理所需要的资料档案库,在某个数据库(如:OEMREP)中需要建立相
应的用户,如:OEM_CHINA_OEMREP。
它的登录需要身份验证,这里的身分验证,与管理所需要的资料库的用户不是一个概念
也 不 是 数 据 库 中 的 Sys 和 system 用 户 , 它 的 缺 省 用 户 是 SYSMAN , 口 令 为 :
oem_temp。
●使用它,在管理端要启动 Manager Server 服务和智能代理服务 Oracle Agent,被管理的数
据服务器要启动智能代理服务 Oracle Agent
三、关于 Oracle 的 Sys、System 的用户与 MS SQL 的 master 的比较
MS SQL 的 master 数据库存储了当前数据库服务的一些配置信息,如数据库设备、字符集、
数据文件、登陆帐号、拥有的数据库、整个服务参数配制等信息。Oracle 的 Sys 存储了 Oracle
服务或者实例的信息及所有用户的数据字典信息,这一点不同于 MS SQL ,MS SQL 每一个数
据库拥有自己的对象的数据字典信息。System 用户拥有数据字典是视图信息。缺省情况下,
system 用户拥有 DBA 系统角色权限,而 sys 不仅拥有 DBA 的权限还拥有 SysDBA 的权限。
四、Oracle 中新的数据库对象:
实例化视图、快照、序列、程序包、同义词、抽象的数据类型
●实例化视图又称显形图:实例化说明它有自己的存储空间,视图说明它的数据来源于其
它表数据。实例化视图中的数据,设置为隔一段时间更新数据,更新的模式可以定义为
完全更新和增量更新
●快照基本上同实例化视图,只不过数据来源不同,快照数据来源于远程数据库,而实例
化视图则来源于本地数据表
●序列,相当于 MS SQL 中的 identity 列,它是一个数字顺序列表,下面有详细介绍。
●程序包,它是过程、函数、全局变量的集合,它封装了私有变量、私有过程和私有函数,
如:dbms-out 包
4
●同义词,是对数据库中的对象的别名,同义词可以是全局的也可以是私有的(属于某个
用户的)如:Tab、col 等
●抽象的数据类型,类似于 C 中的结构体或 Pascal 记录类型。
五、Oracle 回滚段和 SQL Server 的数据库事务日志文件
回滚段提供了事物回滚需要使用的数据变化以前的映象,这些映象是按条目存储的,如果
这些条目过少,一个事务等待另一个事务的几率增大,就会影响数据库的性能。缺省安装时,
提供一个系统回滚段它在 表空间。为了提高性能, 表空间不应存储有任何数
据字典信息以外的信息。每次启动时,执行自动恢复。它检验表空间文件的
内容是否与联机重做日志文件一致。如果不一致,将联机重做日志文件内容应用到表
空间文件(前滚),并删除回滚段中发现的任何未提交的事务(回滚)。如果 不能从
联机重做日志文件中得到它所需要的信息,它就会查询存档重做日志文件。
每个 事务日志均有 回滚段与 联机重做日志的组合功能。每
个数据库都有自已的事务日志,它记录了对数据库所作的全部更改,并且由数据库的所有用户
共享。当一个事务开始且发生数据修改时,就会在日志中记录一个
事件(以及修改事件)。在自动故障恢复过程中,这个事件用于确定事务的起始点。在收到每
个数据修改语句时,先将更改写入事务日志,然后再写入数据库。数据库事务日志文
件功能雷同于回滚段,只不过它是同特定的数据库密切相关的。
六、主要数据类型的对比
ORACLE 的数据类型
常用的数据库字段类型如下:
字段类型 中文说明 限制条件 其它说明
CHAR
固定长度字符串
最大长度 2000 bytes
?
VARCHAR
2
可变长度的字符串
最大长度 4000 bytes 可做索引的最大长度
749
NCHAR
根据字符集而定的固定
长度字符串
最大长度 2000 bytes
?
NVARCHA
R2
根据字符集而定的可变
长度字符串
最大长度 4000 bytes
?
DATE
日期(日-月-年)
DD-MM-YY ( HH-
MI-SS)
LONG
可变长度的字符数据
最 大 长 度 2G ( 2
31
-
1)
足够存储大部头著作
RAW
固定长度二进制数据
最大长度 2000 bytes
可存放比较小的多媒
体图象声音等
5
剩余63页未读,继续阅读
安心逍遥
- 粉丝: 123
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0