揭秘自适应游标共享技术(Adaptive Cursor Sharing)
Adapter cursor sharing,自适应游标共享的引入是为了解决bind peeking在数据有明显倾斜的时候会生成次优执行计划的问题,Adapter cursor sharing使具有不同绑定变量值的SQL语句使用不同的执行计划成为可能。使用ACS前不得不提的两个概念:bind sensitive和bind aware,他们的状态体现在v$sql.is_bind_sensitive和v$sql.is_...
哪些操作易引起存储过程失效?
dba_dependencies视图保存了对象之间的依赖关系,简单的说如果存储过程P1里会去访问视图V1那么对于V1的修改可能会导致P1失效,即P1的有效性依赖于V1,在这里P1称作dependent object、V1称作referenced object。虽然对象失效后的首次执行会自动进行重编译,但如果失效的对象存在高并发的访问,就会出现大量library cache loc...
Deferred statistics publish-延迟统计信息发布功能介绍
Deferred statistics publish,延迟统计信息发布,将新生成的统计信息存放到一块临时的区域,供充分测试以验证统计信息对执行计划确有促进作用的情况下,再发布到数据字典供全局session使用,规避了因收集方法不当等原因引起统计信息不准确从而导致optimizer选择次优plan的问题---创建测试表drop table dsptest1;creat...
使用multicolumns statistics帮助Optimizer计算出更准确的cardinality
optimizer对于cardinality值的估算是否准确关系到能否生成最优的执行计划,而cardinality值估算的准确性又取决于SQL中各个对象的统计信息是否完整、是否能真实反映出对象的数据分布情况。因此使用何种方法收集统计信息是很有讲究的:对于数据倾斜度较大的表开启histogram,在此基础上如果有多个列存在相关性,那么multicolu...
深入分区表的增量统计信息收集技术(incremetal statistics collection)
分区表里global_stats=YES的全局统计信息是否准确关系到optimizer能否选择较优的执行计划,对分区表执行全局统计会不可避免的产生FTS加重系统负担,尤其对于DW环境里规模较大的分区表而言更是如此。incremental statistics collect正是在这一背景下应运而生,简单的说incremental statistics collect会实时记录分区表里每个...
双下划线开头的内存参数对Oracle AMM行为的影响
预备知识:__开头的参数表明最近一次Instance关闭前相关内存组件的内存使用量,以提供给DBA下一次起库时是否需要调整内存参数的建议目的:验证__开头的内存参数对memory_target、sga_target、pga_aggregate_target设置值的影响,实验环境为oracle 11g restart场景1:memory_target=12Gpga_aggregate_ta...
INTERNAL_PLAN在resource manager中的作用
resource manager resource plan
如何让Not in语句跑出与not exists相当的效率
关于Not in和Not exists的讨论由来已久,not exists在性能上要优于not in,一时间几乎所有包含not in的select语句都被要求替换成not exists,那么not in是否真的那么实力不济,让我们静下心来细细的品味一下。 首先还是简要回顾一下与这个话题有关的基础知识,以select c1 from test1 where c1 not in (se...
11g sec_case_sensitive_logon参数探究
sec_case_sensitive_logon参数一句话概括就是决定用户的口令是否大小写敏感。看似简单,其背后还是深藏着不少学问。当我们在11g里创建一个用户时,无论sec_case_sensitive_logon=TRUE or FALSE,创建后会根据用户输入的口令在sys.user$.password列存入一个Hash值,同时也会在sys.user$.SPARE4列存入另一个Hash值,这两...
11g里的延迟块清除
实验目的:oracle11gR2 里的delayedblock cleanout特性研究 基础知识:Fast commit cleanout DML语句后,在被修改的block从buffer cache写回到磁盘之前执行commit。这种情况下,更新blockscn,block itl事务槽上的scn,以及undo segment he...
能够管理ASM instance的三种角色
能够管理ASM instance的角色有三种,他们的分工如下:组描述 OS指定的组 具有的权限 能做的事情OSASM asmadmin SYSASM ASM所有管理工作OSDBA asmdba &nbs...
11g Database Replay使用详解
Database Replay将生产系统上的负荷进行采集后还原到测试系统上进行重放,这个特性有助于我们在数据库升级、主机参数修改、数据库参数修改等重大变更实施前在测试系统上完全仿照生产系统的负荷进行全面的测试,量化评估出变更实施后对现有的性能的影响程度。Database Replay实施的流程是workload_capture->worklo...
12c使用DBCA和手工两种方式创建PDB时如何正确指定pdb文件路径
本次测试中会使用到两个CDB的环境CDB环境1:CDB2中的PDB$SEED文件路径如下:+CDB1DG/CDBS/CDB21/cdb2/pdbseed_temp01.dbf =>+CDB1DG/CDB2/EF61F2A3DA6D4548E043C838A8C02E9A/TEMPFILE/TEMP.267.836254857+CDB1DG/CDBS/CDB21/cdb2/pdbseed_system01.dbf =>+CDB1DG/CDB2/EF61F2A3DA6D4548E043C838A8C02E...
Constraint deferrable特性研究
开启一个constraint的Deferrable特性后,可以在一个transaction之内对于违反constraint的操作不报错。Constraint的deferrable特性在建立constraint是指定,并且之后不能更改,要更改只有重建constraint。创建constraint时的INITIALLY Clause可以指定constraint是否具有deferrable属性,若此处不指定,也可以使用set const...
oracle 12c里如何恢复votedisk
Oracle12c 里votedisk不能单独的进行备份了,它的备份和ocr的备份放在了一起,用ocrconfig –showbackup可以看到当前存在的备份,下面模拟所有votedisk全部损坏的情况下如何恢复votedisk,若要在ocr和votedisk全部损坏的情况下恢复可以参照MOS 1383888.1-How to start CRS stack when having missing disks fromdis...
votedisk在ASM diskgroup上的存放规律
Votedisk在ASM Diskgroup上的存放满足以下条件:Externalredundancy: A disk groupwith external redundancy contains only one voting disk Normal redundancy: A disk group with normal redundancycontains three voting disks (也就是说)Highredundancy: Adisk group with high redundancy contai...
sql plan baseline使用心得
测试内容:1、 dba_sql_plan_baselines表中和时间有关的四个字段CREATED,LAST_MODIFIED,LAST_EXECUTED,LAST_VERIFIED的变化规律2、 候选sql plan变为acceptedsql plan baseline的几种方法3、 SQL语句对应的sql plan baseline均失效的情况下Optimizer将新生成的执行计划演进为sql plan baseline的过程...
一次SQL Performance Analyzer的使用过程
数据库版本升级、变更系统参数前使用SQL Performance Analyzer可以衡量升级前后、参数变更前后SQL语句的执行性能是否有变化,以及这些变化对于整体性能的影响程度,对于性能恶化的sql语句结合SQL Tuning Advisor可是进一步实现调优,确保系统性能在升级或者参数变更后依然维持稳定。关于SPA的详细介绍可以参考” R...
SecureFiles LOBs基础知识之存储篇
SecureFiles LOBs相比于BasicFilesLOBs具有加密(encryption)、去重(deduplicaiton)、压缩(compression)等新功能,pctversion,chunksize等参数也仅仅为了向后兼容而保留,因此SecureFiles LOBs的自适应能力更强,在管理上更为简化,成为了clob、blob等大对象使用的首选,上面的这些功能描述可以参考官方文档来获得。...
Heap Block Compress现象分析
HeapBlock Compress定义:When a session inserts a row into a block(or updates a row in a way that increases its size) it has to check whether therow will fit into the available space. It’s possibe that there is enough space,but not at the top of the free space heap in the block. If t...