Oracle9i 通过提供旨在用于电子商务环境的一系列特定功能和产品束,像Oracle8i 那样继续聚焦 于 Internet 。此外,Oracle9i 继续添加特性和功能,以扩大对基于关键任务的基础结构的投资。根据设计,Oracle9i 聚焦于某些关键开发领域。这些领域是:
关键基础结构领域
可用性
可伸缩性和性能
安全性
开发平台
可管理性
Windows 2000 集成
关键应用程序领域
Internet 内容管理
B2C 和 B2B 电子商务
打包的应用程序
业务智能
实现连续的数据可用性
Oracle9i 大幅度地扩展了 Oracle 在 Internet 数据库可用性(对任何电子商务应用程序都是至关重要的)方面的领导地位。Oracle9i 的关键聚焦领域包括:
提供总控钥匙式零数据丢失保护环境
通过对更多联机操作的支持来减少脱机维护的要求
提供已损坏数据库的快速而准确的修复
使最终用户能够识别并更正其自身的错误。
总控钥匙式数据保护环境
Oracle9i 包括许多改进数据保护的新特性。除了对现有(物理)“备用”产品的重大增强外,还包括了一个新的逻辑“备用”功能,以及为逻辑和物理特性提供监视、自动化和控制的框架。新的逻辑备用数据库为了重新应用于备用数据库将重做日志文件转换为 SQL 语句。这减少了损坏传播到备用数据库的风险,并允许在备用数据库上并发地运行报表与逻辑日志应用程序。它还允许在备用数据库上创建其他的索引和实体化视图以加快报告的进度。
与管理备用数据库有关的许多任务也是自动化的,包括初始实例化、失败切换和轻松的主从之间的来回切换。管理员也可以可选地指定每个备用站点滞后生产环境的日志应用延迟(目的是增强免除人为错误或损坏错误的保护),并选择一个零丢失模式,在此模式下重做日志被同步地发送到备用站点。
在 Oracle9i 中还增强了 LogMiner ,以便为所有数据类型提供全面的日志分析。目前 LogMiner 支持索引编排的集簇表、链式行、LOB 和 LONG 、直接加载、标量对象类型 和 DDL 。LogMiner 也显示主键并支持根据更改内容的日志查询(例如,显示对雇员“Smith ”的所有更改)。一个新的图形用户界面以及其他数据库特性也使此产品既易学又易用。
联机数据演变
Oracle9i 包含一个新的联机重新组织和重新定义体系结构,此体系结构允许更为强大的重新组织功能。目前管理员可以对表定义执行各种联机操作,包括常规表的联机重新组织。在本质上,Oracle9i 目前允许一个联机“CREATE TABLE AS SELECT ”操作。
在此新体系结构中,表的内容被复制到一个新表中。在复制内容的同时,对原始表的更新由数据库跟踪。在复制完成后,将更新应用于新表。一旦应用了更新,就可以在新表上创建索引。在创建索引后,将应用任何其他更新,而且结果表将替代原始表。在更新字典数据的同时,仅在操作开始和结束时以独占模式锁定表。
使用这一新的体系结构,表的任何物理属性都可以联机更改。可以将表移动到一个新位置,可以将表分区,可以将表从一种组织(例如堆积)转换为另一种组织(例如索引编排的)。
此外,许多逻辑属性都可以更改。可以更改列的名称、类型和大小。可以添加、删除或合并列。主要的限制是不能修改表的主键。
目前 Oracle9i 也支持索引编排表上次级索引的联机创建、重建等。目前可以联机创建索引并同时对其进行分析。次级索引支持块提示的有效修复。管理员也能够快速地静默数据库以便执行不要求活动事务处理的操作。此外,在 Oracle9i 中可以动态调整缓冲区高速缓存和共享池的大小。最后,Oracle9i 也可以在对象处于联机状态并被用户访问的同时验证对象的结构(分析验证)。
准确的数据库修复
Oracle8i 包含非常完备的恢复功能。Oracle9i 通过使这些功能更强大和更准确对它们进行了扩展。
Oracle9i 包括对磁盘损坏的更好预防和改进的处理方法。万一块损坏需要通过介质恢复进行修复,一个新的块介质恢复特性在表的其余部分处于联机状态的同时仅允许恢复损坏的块。在恢复期间检测到日志损坏后Oracle9i 能够将数据库还原到一致状态。LogMiner 允许在损坏之后检索并应用日志中的更改。尝试恢复允许恢复在检测到损坏的数据库块后继续进行,以便管理员可以确定损坏是不是一个孤立的事件。如果找到更多的损坏,则退出恢复。
Oracle9i 也可以通过使用新的两关口恢复算法更快地从崩溃恢复,此算法确保只有那些需要处理的块才从数据文件中读取和写入数据文件。一个新的基于时间的平均恢复时间 (MTTR) 参数也使对崩溃恢复时间设置极限更为容易。Recovery Manager 备份与还原操作目前可以在失败后停止之处重新启动。Oracle9i 也包括改进的可诊断性特性,以快速捕获失败例程的状态并允许失败状态上的恢复之后的诊断。对于多节点系统,Oracle9i 为Oracle Parallel Server 提供更为快速的失败检测和重新配置,从而减少由于系统错误而引起的停机时间。通过使用 Windows 2000 的增强功能,增强了 Oracle Fail Safe for Windows ,以利用多节点群集。这允许在多个节点上的多个数据库共享一个公共备份节点时进行配置,从而降低了为多个应用程序提供冗余的成本。
自助错误更正
Oracle9i 包含处理人为错误的非常强大的技巧。
Oracle9i 包含可以授权最终用户以更准确、更有效和更容易的方式更正其自身错误的功能。要更改错误,最终用户需要能够通过查看更改历史识别错误,并且他们需要能够通过将数据恢复为错误发生之前的数据来退出错误。Oracle9i 同时提供这两种功能。这两种功能 在 SQL 级别上是可用的,以便应用程序可以像任何其他正常的 SQL 操作一样调用它们,无需管理员的干预。
Oracle9i 的 DejaView 特性允许从过去的某一点来查询数据。用户设置他们希望查看的日期和时间,然后他们所执行的任何 SQL 查询将对数据进行
操作,就像数据存在于该时间点上。此新功能使用 Oracle 的多版本读一致性功能通过应用所需的撤消来还原数据。目前管理员通过仅指定在数据库中保留撤消的长度就可以配置撤消保留。通过使用 DejaView ,用户可以查询数据库,就像数据库存在于今天早晨、昨天或上周。此操作的速度仅取决于正在查询的数据量以及需要退出的数据更改数。
通过使用 LogMiner ,可以从日志中查询数据库的更改历史。目前 LogMiner允许基于内容的数据过滤。例如,用户只能查询对客户 John Smith 的更改。此功能允许在行级别上查询更改历史。因为重做和撤消由数据库维护以获得内部一致性,所以启用这些功能不会添加开销。
可伸缩性和性能
Oracle9i 允许电子商务扩大到数千万用户,每个用户每小时都执行数百万事务处理。关键聚焦领域包括:
Oracle Parallel Server 上增大的事务处理吞吐量
可伸缩的会话状态管理
小粒度自动资源管理
对于电子商务起关键作用的优化特性
Oracle Parallel Server ― 高速缓存合并
Oracle9i 中高速缓存合并的完成使客户可以轻松地利用 Oracle Parallel Server所提供的可伸缩性,性能成本没有降低或降低很少。这使客户可以随着使用和需求的继续增长水平地扩大数据库层。
Oracle9i 高速缓存合并体系结构利用群集中所有节点的聚合高速缓存来满足数据库请求。目前既可以通过本地高速缓存也可以通过任一其他高速缓存来满足查询请求。这减少了磁 盘 I/O 。更新操作不要求用于同步化的磁盘 I/O ,原因是本地节点可以直接从任一群集数据库节点高速缓存获得所需的块。仅在任一聚合高速缓存都没有必需的数据和更新事务处理执行磁盘写入保证的 COMMIT 操作时,才执行昂贵的磁 盘 I/O 。此实现有效地扩展了数据库高速缓存的工作集并减少了磁 盘 I/O ,从而大幅度提高数据库操作的速度。Oracle9i 高速缓存合并在读/ 读、读/ 写和写/ 写争用的情况下直接将数据块从一个节点的高速缓存运送到另一个节点的高速缓存。这建立在处理读/ 写争用的以前的 Oracle8i 高速缓存合并实现之上。因为Oracle9i 中完全的高速缓存合并实现消除了与基于磁盘的高速缓存协调有关的等待时间,所以目前应用程序可以有效地扩大,而无需知道群集。这意味着第一次可以将群集视为一个真正可伸缩的单个系统。可伸缩会话状态管理可伸缩会话状态管理可伸缩会话状态管理可伸缩会话状态管理新的共享内存功能、Java 会话支持的改进、联网和多线程服务器改进大大减少了 Oracle9i 上每个用户所需的覆盖区 ― 允许将更多的用户托管在同一或更大的硬件平台上。
小粒度自动资源管理
在 Oracle8i 中引入的 Database Resource Manager 在 Oracle9i 中已经有了重大增强,以允许对资源的更多粒度控制并为客户组添加诸如自动客户组切换、最大活动会话数控制、查询执行时间估计和撤消池限额之类的特性。管理员能够指定每个客户组的最大并发活动会话数。一旦达到这一极限,Database Resource Manager 将对所有后续请求进行排队并仅在现有活动会话完成之后才运行它们。
Oracle9i 的自动客户组切换功能允许管理员指定某一准则,如果满足它,将导 致 Database Resource Manager 自动切换一个长时间运行的客户组,例如,从 为 OLTP 操作而建立的客户组到另一个适合成批报告的客户组。管理员也能够