(db2与oracle差别.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(db2与oracle差别

Oracle和DB2 并发机制 Oracle的默认隔离级是快照(Snapshot),写入事务不会阻塞读取事务,读取事务可以获取当前已提交值。DB2默认是游标稳定性(Cursor Stability),写入事务会阻塞读取事务。 数据类型 数据库的核心是数据,类型不匹配或者语义的不同都会影响应用是否可以同时在两种数据库中运行。Oracle支持一些非SQL标准的数据类型,例如VARCHAR2,这些是不被DB2支持的;另外,Oracle中的日期、时间格式和DB2中相应类型在语义上不完全一致;最后Oracle的PL/SQL存储过程所支持的一些标量数据类型在DB2中需要被映射才能被识别。 3: 隐式类型转换   Oracle使用弱类型转换,而DB2使用强类型转换。隐式类型转换能完成一种类型向另外一种类型的自动转换,对于不匹配的类型,如果数据类型能被合理解释,比较或者赋值时可以执行隐式类型转换;强类型转换规则,意味着字符串和数字类型之间不能直接进行比较,除非显式转换。 SQL方言   DB2传统上坚持对SQL标准的支持,但Oracle实现了很多方言。例如:CONNECT BY 递归语句、(+)连接操作符、DUAL表、ROWNUM伪列、ROWID伪列、MINUS操作符、SELECT INTO FOR UPDATE语句、TRUNCATE TABLE等。如果要在DB2数据库上运行使用了上述方言的应用,就需要进行代码级别的翻译,工作量较大。 PL/SQL语言   就存储过程和函数开发而言, DB2使用SQL PL语言来开发,Oracle使用PL/SQL语言来开发。SQL PL和PL/SQL差异巨大,这也是从Oracle到DB2转型最大的工作量所在。 内置包   为了方便应用程序开发的需要,Oracle数据库提供了很多内置包:DBMS_OUTPUT、DBMS_SQL、DBMS_ALERT、DBMS_PIPE、DBMS_JOB、DBMS_LOB、DBMS_UTILITY、UTL_FILE、UTL_MAIL和UTL_SMTP等。使用了这些包的应用程序要想在DB2上运行,就需要在DB2中重新实现一遍,工作量巨大。 客户端编程接口   Oracle和DB2针对不同的编程语言提供了不同的编程接口或者驱动,但是编程接口和驱动在语法上存在较大差异,而且在语义上也有一定区别。例如,Oracle针对Java语言提供了JDBC扩展,这与DB2提供的驱动在语法上存在一定的差异;有些JDBC接口方法,像executeQuery方法,DB2只能通过这个方法执行查询操作,而Oracle除了查询外,还可以执行其他DML操作。另外针对C语言,Oracle提供了OCI接口,而DB2提供了ECI接口,这两种接口的语法差别非常大。 数据库事故恢复能力Oracle和DB2都具备分割镜像备份功能。不过,Oracle可以在数据库运行和磁盘写入的同时分割镜像。而DB2镜像分割时必须挂起数据库I/O,因此操作过程中,数据库是不能写入的。   如果存档日志文件损坏,Oracle能够通过LogMiner工具翻阅损坏的日志文件,恢复日志文件中记录的交易。对于DB2来说,存档日志文件损坏意味着不仅特定日志文件中的交易全部丢失,而且损坏日志文件之后创建的存档日志文件也会丢失。   采用Oracle的块级介质恢复功能,当只有一个块损坏时,只是这个块需要恢复,文件的其余部分,即含有这个块的表仍然可以在线访问,从而提高了数据的可用性。DB2不能以块为单位恢复数据,因此需要将整个文件脱机、重建、恢复。 并行机制Oracle可扩展的、并行决策支持战略以动态并行机制为核心。这种方法可以实现完全透明的并行,不需要静态表分区,大大减少了数据管理工作,最大限度地利用硬件的潜在能力。O在racle用于数据维护的分区选项中,也增加了分区间的并行处理支持,包括并行DML。Oracle还支持每个分区内查询和插入的并行处理。   对比之下,IBM(DB2 UDB EEE)最初选择分区作为并行处理手段。IBM提出了“UNION ALL”工作区的建议。有趣的是,IBM基于OS/390(Z/OS)的DB2却并未选择这种方法,而是采用了Sysplex共享磁盘,分区(范围)的方法只是用于管理。 分区分区可以将大型数据库结构(表、索引等)分解为比较小的,更加易于管理的结构单位,同时,可以提高查询的性能和资源利用率。  DB2仅支持散列分区方法,与Oracle分区方法相比存在很大的局限性和明显的弱点。由于只能进行散列分区,因此DB2不支持“滚动窗口”,就管理性而言,这是一种严重的不足。“滚动窗口”可以使规定期间的数据(如一周、一个月)持续地由最新数据在线替换旧数据。DB2散列分区在加载新数据时,要求所有分区的数据重新分

文档评论(0)

84537592 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档