Oracle 11gR2 性能优化方面的增强
虽然11g都没正式用,但还是要关注一下Oracle 11gR2 新特性,以下是Oracle 11gR2 性能优化方面的增强介绍:
说明:
Stored Outlines=存储概要
SQL Plan Management(SPM)=SQL计划管理
1.增加Stored Outlines迁移到SQL Plan Management(SPM)的功能
stored outlines缺乏SQL计划管理的灵活性和适应性。通过提供的迁移路径,原应用正在使用的stored outlines可以透明地迁移并且立即就可以使用SPM的增强功能。
2.支持使用表说明的方式中指定客户端结果集缓存方式
Table annotations support provides the ability to annotate a table as being cache worthy, which enables applications to leverage client and server result caching through deployment time knobs as opposed to making application changes. In addition, this feature provides automatic client cache invalidation.
This feature allows non-intrusive application performance acceleration using client and server result caches.
以上是原文,有点难懂,实际点来说是,以前只能用hint/*+result_cache*/的方式说明是否客户端结果集缓存,现在可以在表上增加属性来指明表的客户端结果集缓存方式,这样可以让客户端结果集缓存功能不需要改SQL就可以享受到,具体语法如下:
CREATE|ALTER TABLE [<schema>.]<table> ... [RESULT_CACHE (MODE {FORCE|DEFAULT})]
ALTER TABLE foo RESULT_CACHE (MODE DEFAULT);
3.支持4KB的扇区磁盘驱动器
当前磁盘驱动器一般采用512字节的扇区。磁盘驱动器厂商正在升级成4KB的扇区磁盘驱动器,因为这样可以采用更低的成本提供更高的容量。
但是如果客户像512字节扇区一样使用4KB扇区的磁盘驱动器将会将低性能(因为这需要运行在512字节的虚拟模式)。这个新特性可以让Oracle没有性能损耗的使用4KB的磁盘驱动器。ASM提供了磁盘组从512字节扇区迁移到4KB扇区磁盘驱动器的功能。
本项新特性可以让客户充分利用新一代高容量的磁盘驱动器的优势。
注:4KB扇区的硬盘提了很久,但是好像还怎么没见到过,可能主要原因是操作系统及应用软件兼容的问题吧。
总体感觉性能增强的方面很少,我想11gR2最大的改变还是ASM Cluster File System (ACFS)吧。
相关文档:
本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......
windows上存在32bit的限制,如AIX、HP UNIX 等有明确的64BIT OS and ORACLE的版本,32bit oracle可以装在64bit os 上,64 bit oracle不能装在32 bit OS上
oracle是64bit or 32 bit,32bit 通常 SGA有 1.7G 的限制(某些OS的处理或者WINDOWS上有特定设定可以支持到2G以上甚至达到3.7G
如何查出前台正在发出的sql语句:
sele ......
SQLServer和Oracle的常用函数对比
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) valu ......
我在把oracle数据导入sqlserver中时,发现在oracle中字段定义为唯一索引时,不同记录的此字段如果为空不被认为是重复的,但在sqlserver中如果此字段为唯一索引字段,不允许有2个以上的空值。郁闷。所以只好将sqlserver中的唯一索引字段手工修改为几个非空的值,但这样程序肯定要进行修改了。需要在程序中为此字段设置不重复 ......
一 在Oracle中连接数据库
public class Test1 {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
&nbs ......