热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

解析Oracle11g:提升管理功能重用XML

Oracle最新的数据库产品在去年年底开始进入Beta版状态,在最初公布的测试版当中,Oracle发布了数百项功能改进。作为目前全球市场占有率最大的数据库产品供应商之一,Oracle的新版产品足可以用万众瞩目来形容,目前可以确定的是,这个产品的命名将是Oracle11

Oracle最新的数据库产品在去年年底开始进入Beta版状态,在最初公布的测试版当中,Oracle发布了数百项功能改进。作为目前全球市场占有率最大的数据库产品供应商之一,Oracle的新版产品足可以用万众瞩目来形容,目前可以确定的是,这个产品的命名将是Oracle 11

  Oracle最新的数据库产品在去年年底开始进入Beta版状态,在最初公布的测试版当中,Oracle发布了数百项功能改进。作为目前全球市场占有率最大的数据库产品供应商之一,Oracle的新版产品足可以用万众瞩目来形容,目前可以确定的是,这个产品的命名将是Oracle 11g。除了版本的更新之外,新的Oracle数据库仍将使用g作为后缀,以代表这是一个包含了网格技术基础的数据库软件。根据以往几个版本的经验,Oracle发布新版数据库的频率在3年左右,所以Oracle 11g极有可能在2007年年底之前发布。Oracle 11g是否会进一步扩大Oracle在数据库市场的领先优势呢?本文将集中解析Oracle 11g当中新增的功能,从而在一定程度上获得这一问题的答案,并了解Oracle数据库产品的发展方向。

  新的管理功能

  在Oracle 11g当中,用户可以获得多个方面的性能提升。在2006年10月23日举行的Oracle OpenWorld大会上,Oracle的执行副总裁Chuck Rozwat曾亲自对Oracle 11g的性能进行了演讲。据Chuck Rozwat介绍,Oracle移动数据的速度已经超过了专门的文件系统,,这一方面得益于Oracle对数据库引擎的优化,同时也与Oracle 11g中应用的大量压缩技术有关。例如,在数据表和数据索引方面的压缩就有不小的增强,而且用户可以对已压缩数据进行数据列增删等多项常规操作。另外,在触发器等方面,Oracle 11g的运行速度也将更快,特别是针对DML的触发器程序,执行速度可以获得四分之一左右的提升。

  Oracle 11g中增加了一种新的触发器,被称为compound,这种触发器允许同时处理BEFORE、ROW和AFTER等部分。这样做的好处是有助于消除错误,同时分别管理每个部分的工作状态。

  ADR(Automatic Diagnostic Repository),意即自动诊断库,利用该机制,Oracle数据库可以通过预设的基线自动捕获符合标准的问题,同时也可以执行一些确定的数据库健康检查工作。发现的这些问题可以被记录以辅助用户管理数据库的状态,而且这些信息还能够被发送到Oracle的支持部门。另一项与ADR有关的机制是IPS(Incident Packaging Service),通常被称为事件打包服务。IPS可以将那些需要跟踪的、与特定的事件相关的所有信息收集并打包,供管理员进行特定问题域的管理。

  值得一提的是,Oracle 11g当中的补丁更新可以按照功能特性进行细分,这样用户就可以了解到哪些补丁是与当前所使用功能相关的,同时也可以基于特定的功能范畴来查找是否有补丁可用,并且该机制还支持对特定功能相关补丁的订阅。另一个值得关注的特性是Oracle 11g支持热补丁,这样在进行漏洞修复和功能修补的时候就无需停止数据库服务器了,这对于企业用户来说绝对是一个好消息。

  XML受宠

  在Oracle 11g可以使用CLOB及二进制两种方式保存XML信息,灵活性很高。Oracle 11g还支持针对XML的查询机制,同样有多种机制可以选用,例如XQuery。XQuery是W3C推出的一组关于XML数据查询和搜索的规范,相对来说,XQuery的语法比直接操作XML要简单和直观。说到在XML数据处理方面的增强,值得一提的是,Oracle 11g开始支持JSR 170,这是一套基于Java的内容存储仓库API。Oracle 11g提供了二元性的XML支持,意即在实际使用过程中,用户既可以将XML嵌入到PL/SQL中使用,也可以将PL/SQL整合到XML中使用。

  在Oracle 11g当中,会增加一种新的数据类型,被称为simple_integer。这种新的整数类型具有非空属性,而在处理速度上要比PLS_INTEGER更快。另外,在11g中还会包含被称为虚拟列(Virtual Columns)的数据表功能支持。通过该机制用户可以根据实际的业务功能来定义数据表列,从而构建更加复杂及更加灵活的数据表。Oracle 11g支持一种新的分区方案,令用户可以基于时间进行分区,例如分离出某个时间间隔内新增的数据内容,这进一步提高了Oracle数据库分区机制的灵活性。

  除此之外,Oracle 11g在数据表方面还有很多的改善,例如增强的只读数据表、为一张表格绑定多个触发器并为这些触发器设置先后顺序等。

  当XML面世之时,也许没有哪个数据库厂商会对这种技术给以足够的关注,然而在今天,XML已经开始对数据存储产生巨大的影响。由于XML在互联网应用领域被作为标准广泛地应用于数据交换和保存,下一代数据库的形态发展过程将无可避免地留下XML的足迹。XML在数据存储方面有一个明显的优点,那就是可以直接将逻辑关系编写在XML文件当中。将XML融入主流的数据库引擎,首先要做到的一点是如何将现有的关系型数据输出成XML格式。现在已经有一些数据库可以做到将SQL查询结果直接转换成XML形式,这样应用程序就可以直接利用这些XML文件结果作为内容输出源了。在此基础上,将已有的文档和数据通过XML的方式导入到数据库也是问题的一个重要方面,而这个工作无疑要复杂得多。其实将XML格式的文档导入到数据库中并不困难,因为XML文件具有内在的逻辑和规范,困难之处在于将千差万别的文档转换成XML格式的文件。当然,数据的查询工作也需要做出相应的改变,在支持XML的数据库当中单纯的依靠SQL查询已经难以保证效率。有两条截然不同的道路可以实现传统数据库与XML的融合,一种方式是数据库厂商可以编写更多的转换器和工具以实现传统数据库实体与XML数据的交互,即将XML数据作为各种数据表现形式中的一种来看待;另一种方式就是彻底的在数据库引擎底层纳入对XML数据的支持,甚至基于XML来设计和构建数据库产品。不知道有多少数据库厂商有勇气采取后一种策略,当然这也取决于XML在数据存储和表现领域会成长到什么程度。不过可以肯定的一点是,支持XML将会给数据库厂商带来足够的回报,所以在各个厂商的新型数据库软件的功能当中,我们都会看到很多XML方面的字样。

推荐阅读
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文介绍了如何使用 PostgreSQL 的 `UPDATE ... FROM` 语法,通过映射表实现对多行记录进行高效的批量更新。这种方法不仅适用于单列更新,还支持多列的同时更新。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 精选30本C# ASP.NET SQL中文PDF电子书合集
    欢迎订阅我们的技术博客,获取更多关于C#、ASP.NET和SQL的最新资讯和资源。 ... [详细]
author-avatar
芬飞满天2011
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有