The filter pushed in subquery issue in oracle 11G (filter推进子查询)
注意上面的4# 计划 的fileter 部分, 这就是问题的根源。了解SQL的执行步骤应该清楚在sql parse阶段CBO会帮我们做sql查询转换生成高效的执行计划, 在本案例我们想把TO_NUMBER(“S”.”SCORE”)<60 的条件放到子查询返回的结果集后再过滤, 结果CBO错误把此条件提前和该字段的其它条件一并执行..
Adaptive Cursor Sharing in 11R2 performance issues(自适应游标共享问题案例)
今天开发的同事找我说是一个报表系统的SQL执行第一次很快,再执行就慢的几乎查询无响应,找他要来了SQL,也是常见的表关连LIFT JOIN 、GROUP BY的统计报表, 出于篇幅原因不再贴SQL, 把SQL放到TOAD 中问题依然可以再现,..
Adaptive Log File Sync In 11gr2 (_use_adaptive_log_file_sync)
Adaptive Log File sync was introduced in 11.2. the feat […]
I prefer the version 11.2.0.3 parse_calls (我比较喜欢parse_calls在11203版本上的显示)
高parse calls表示这些SQL不可以re-used 并且每次执行都要重新解析,理想的最佳状态是一次解析多次执行,你也知道频繁的解析会给library cache带来沉重的负担, 一个sql的执行必须先parse,解析过程包含sql 加载到shared pool, 语法检查…
Expdp Exclude schemas or tables while full=y(排除指定schema的全备份)
当做EXPDP 逻辑备份时常用到FULL=Y 的全库备份,但是有些schema不想每次都备份如一些自带的schemas(如APEX_030200),这时可以使用exclude很方便的排除…
Invisible Indexes in oracle11g
11gr1起提供了Invisible Indexes,作用就是通过alter index xx invisible,对CBO隐身,我突然想到之前的一个情况,就是开发的在应用中滥用hint index,当时为了让hint index 无效,当时是选择index rename,现在看来如果是11g可以用invisible
Configuring ACFS in ORACLE 11G R2(配置ACFS)
ACFS storage management design that extends Oracle Automatic Storage Management (Oracle ASM) technology to support all application data
oracle 11g BaseLine(基线)指定application中不可修改sql的执行计划
11G前有sql profile、outline可以稳定执行计划,但有些文档中指出有时outline指定了但也有要能走新的执行计划,所以11g的BASELINE是OUTLINE的改进版。一般应用在版本升级或稳定特定SQL的执行计划,也可以修改指定SQL的执行计划,当OUTLINE与BASELINE有同时指定时BASELINE有优先权。
oracle Memory Management 改进
Automatic Memory Management (AMM) 在ORACLE 11g中被引入,这是从OS级别内存管理的重大改变,回顾ORACLE的版本更新历程,内存管理也在逐步的更新
oracle 11g dbca 找不到asm diskgroup的解决办法
昨天在家里的本本虚拟机里配置11G R2 RAC时,GI安装正常,db soft 安装正常,查看资源asm 磁盘也正常,GI是用的GRID 用户及用ASMLIB配置的ASM DISKGROUP.但到最后一步用ORACLE用户DBCA建库时,在储存选择ASM,无法找到ASMDISKGROUP?
Oracle11g新特性:只读表(read only table)
Oracle11g推出了一个新的特性,可以将table置于read only状态,处于该状态的table的不能执行DML操作和某些DDL操作。在Oracle11g之前的版本,只能将整个tablespace或者database置于read only状态。对于table的控制则只能通过权限来设定。
oracle 虚拟列(Virtual Columns )
今天看一个软件需求时,有总金额,还有使用年限,需要显示一个折旧率,10g及前可以用view,11gr1开始推出了virtual columns,就是在磁盘上不会储存实际数据,只是在查询里计算,这是一种时间换空间的方法
11g sqlplus errorlogging 记录跟踪error日志
在ORACLE11G开始,sqlplus 提供了几个非常有趣的功能接口,比如记录执行的错误日志有sqlplus 的执行文件自动记录到数据库的表中,从而替代了glogin.sql的实现方法
oracle 11g r2 新建空表不分配semgent
11g r2默认是使用segment creation deferred建立,新建的无记录表不分配sement,当insert 第一条记录时分配段空间,不会因truncate而回收,并且在sys schema里不支持
oracle11g Expdp COMPRESSION(数据泵压缩增强)
今天看oracle11g新特性发现宣称11G,用了新的zlib算法在压缩上改变很多,可以比oracle10g压缩算法快40%,空间减少20%,准不准不先不说,测试看应用有什么变化吧…
oracle11g add default values columns(增加默认值列的改进)
oracle 11G 对 现有表增加指定默认值列方式发生了很大变化,无论是存储方式上,还是效率上,下面看一个简单的实验
oracle11g掩盖敏感数据(remap_data)
不知道你有没有遇到过开发的需求导一份生产库的数据到测试库,但库表中有敏感信息如手机、身份证号等等等等,如果你全部把真实的数据给他们是不是太不负责人了(当然很多都这么做了),少导列可能会影响测试准确性,最好是用其它掩码覆盖…
oracle 11g index IFS/IFFS
oracle对于全索引的扫描支持两种,一种为index full scan简称IFS,另一种是index fast full scan简称IFFS, 后者带了fast是因为前者是单块有序读,而后者是多块无序读,所以多块读对于全扫来说要快于单块读, 对于两者的区别TOM在OTN上描述如下