服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

深入讲解oracle 11g中的一些实用新特性 (1)

oracle 11g中的一些实用新特性:

#pl/sql

可直接定义序列变量 declare n number := seq.nextval;

增强的正则表达式

pl/sql continue statement:循环中,跳过本次循环,继续下次循环

real-time query capability of physical standby database

非常好的一个功能,类似mysql的复制特性,standby可以实时提供读的服务,这样只读的应用就可以部署在standby上了。

snapshot standby

可以打开standby进行读写操作,使用完成后,可以继续恢复。这个特性对于我们一些系统非常有用,比如erp或者测试系统。

flashback transaction

可以flashback已经提交的事务(或其相关的事务)。

smp scalable redo apply

this feature enables faster performance of media recovery and also data guard redo apply (physical standby database)

ddl with the wait option

在做ddl操作时,如果不能获得ddl_lock,可以等待(ddl_lock_timeout初始化参数)后再重试,而不是直接报错。

enhanced add column functionality

在已有的表上增加一个not null且含有default value的字段时,不再同时更新所有数据了。

finer grained dependencies

原来的版本中,依赖关系是定义在整个对象上的,而11g进行了优化,依赖关系将更加细化。比如trigger依赖于c1,c2两个字段,如果你新增c3字段,trigger将不会失效。

invisible indexes

可以创建一个不可见索引,必须使用hint才可以使用,也是非常有用的小功能,我们在新建或修改索引时,先将其设置为不可见,然后只对某些session生效,以评估其影响。

materialized view logging control

可以对某个session关闭mv log,有些类似我们现在使用的在trigger中的开关。

minimize dependent pl/sql recompilation after online table redefinition

在线重定义将会尽可能的减少对依赖的对象的影响。

online index creation and rebuild enhancements

以前版本中,创建或重建索引都会在开始和结束时短暂持有dml-blocking lock,会堵塞dml操作,11g不需要了。

read-only tables

可以将表设置为只读

rman增强

fast incremental backups on physical standby database

可以在standby上打开block change tracking,rman使用change tracking file可以作快速增量备份。

optimized undo backup

备份undo时,不再备份那些恢复时不需要使用的信息。

#data warehousing

分区增强:

支持composite list-hash,composite list-list,composite list-range,composite range-range类型分区。

interval partitioning:oracle根据需要自动创建分区,尤其适用于小而多的分区情况或者分区不固定的情况。比如每天一个分区,就可以让oracle自动创建。

system partition:分区的规则由应用程序来控制,应用可以选择操作某个分区内的数据。

virtual columns 和 virtual column-based partitioning

可以定义一个虚拟计算出来的列,并且允许根据虚拟列创建分区。比如根据星期几来分区,就完全可以用这个功能实现。

#cluster

暂时没有看到什么有特点的增强。

#fault diagnosability

automatic health monitoring

提供了一个dbms_hm pl/sql package用来检查数据库的健康状况,

#manageability

enhanced optimizer statistics maintenance

一个oltp数据库系统,经常会发生当统计信息改变时,sql选择了不正确的执行计划,造成整个系统性能下降或者宕机。

这个功能可以帮助我们,当统计信息变化时,可以将统计信息设置为不可见状态,仅设置对某个session有效,直到测试没问题。

sql plan management

这个功能可以为某个sql创建一个baseline,当sql语句的执行计划发生变化时,会比较新的执行计划和新的执行计划,只有当性能更好时,才会选择使用。

database replay

这个功能可以记录数据库的真实负载,然后将其应用在其他的测试系统上。在系统升级,性能测试的时候非常有用。

i/o calibration

plsql function用来测试io的负载,不知道和orion测试有什么差异。

#performance

query result cache

查询结果缓存功能,可以将一些频繁的静态数据的查询结果cache起来,提高性能。现在我们通常的做法都是由应用程序做cache实现的,它的缺点是应用服务器之间的cache不能同步,而需要每台服务器单独来更新cache。

扫描关注微信公众号