【Bitmap Index】B-Tree索引与Bitmap位图索引的锁代价比较研究
通过以下实验,来验证Bitmap位图索引较之普通的B-Tree索引锁的“高昂代价”。位图索引会带来“位图段级锁”,实际使用过程一定要充分了解不同索引带来的锁代价情况。1.为比较区别,创建两种索引类型的测试表1...
【spfile】修改及重置spfile实操 plus 故障处理一则
如果不知道spfile为何物以及它能给我们DBA带来哪些便利的同学,请自行Google:)1.spfile修改语法语法:alter system set parameter_name=value <comment='text'> <deferred> <scope=mem...
【延迟段创建】Oracle 11gR2的延迟段创建(deferred segment creation)特性
Oracle 11gR2的延迟段创建(deferred segment creation)特性是当我们创建数据库段时,比如创建一张表,将不再预先分配初始化区,即不对新创建的段分配空间,这个特性一方面提高了性能,更重要的是降低了数据...
【执行计划】Oracle 11gR2使用Full outer Joins执行计划完成全外连接查询
在文章《【FULL OUTER JOIN】全外连接的union all改写方法》(http://space.itpub.net/519536/viewspace-618053)中给大家介绍过关于全外连接的使用方法及改写方法。Oracle 11gR2版本中使用了全新的执行计划F...
【INDEX】注意:不可见索引在表DML操作过程中依然被维护
在文章《【INDEX】11g中利用不可见索引降低索引维护时对系统的冲击》(http://space.itpub.net/519536/viewspace-662238)中介绍了关于11g的新特性“不可见索引”,这项新技术给出了在不删除索引的情况下来判...
【MERGE】展示MERGE的强大魅力
除了常见的增、删、改操作是DML(Data Manipulation Language,数据操纵语言)外还有一种操作叫做MERGE。这里展示一下MERGE强大的“组合拳”功能。1.MERGE语法一例,后面的实验会用到此SQL语句MERGE INTO...
【INDEX_SS】使用HINT使SQL用索引跳跃扫描(Index Skip Scan)方式快速获取数据
索引跳跃扫描(Index Skip Scan)可以使用到复合索引的非前缀索引列,达到改善性能的作用,前提是全表扫面的代价高于索引跳跃式扫描的代价。这里给出使用HINT方法使SQL走索引跳跃扫描的方法。1....
【VIEW】创建视图快速获取Library Cache中超过50KB大小的数据库对象
V$DB_OBJECT_CACHE视图记录了那些缓存在Shared Pool的Library Cache中的数据库对象,这些对象包括:tables、indexes、clusters、synonym definitions、PL/SQL procedures、packages和triggers等。该视图的SHA...
【参数】DB_nK_CACHE_SIZE参数设置与数据库默认块大小之间的限制
“DB_nK_CACHE_SIZE”参数的取值有很多种,有2k、4k、8k、16k、32k。在设置此参数时,我们需要注意的是,与数据库默认的块尺寸相同的那个参数是不能被设定的。例如,如果数据库的默认块尺寸是8k,那么当我们...
【STATSPACK】生成Statspack带注释信息的Level 7级别快照
关于Statspack的安装和使用请参考文章《【STATSPACK】Statspack安装、测试与使用》(http://space.itpub.net/519536/viewspace-216982)。 Oracle 9.2版本的Statspack提供了新的快照采样级...
【AWR】关闭AWR快照收集的方法
在Oracle 11g环境中,AWR的默认采集周期是1小时,快照保留时间是8天。 在某些特殊情况下也许我们需要关闭AWR的快照采集,例如我们不想在系统高负载的情况下数据库后台有其他无关的定时调度任务出现。&n...
【OUTLINE】环境不满足OUTLINE记录的执行计划时会选择其他执行计划
关于OUTLINE的使用方法请参见文章《【OUTLINE】使用Oracle Outline技术暂时锁定SQL的执行计划》(http://space.itpub.net/519536/viewspace-673010)。 我们这里测试环境不具备OUTLINE中记录的执行...
【TEMPORARY TABLE】Oracle临时表使用注意事项
此文将给出在使用Oracle临时表的过程中需要注意的事项,并对这些特点进行验证。 ①临时表不支持物化视图 ②可以在临时表上创建索引 ③可以基于临时表创建视图 ...
【MV】物化视图查询重写
所谓物化视图查询重写就是,如果初始化参数query_rewrite_enabled设置为TRUE,并且数据库运行在CBO优化模式下,当对基表进行查询时,Oracle会自动判断是否能利用这个基表的所有包含ENABLE QUERY REWRITE关键...
【TEMPORARY TABLE】Oracle两种临时表类型功能特点比较
Oracle的临时表可以是基于事务的,也可以是基于会话的。本文就Oracle的这两种类型的临时表做一个简单介绍和比较。1.基于事务的临时表1)语法CREATE GLOBAL TEMPORARY TABLE <TABLE_NAME> <column specificati...
【MV】物化视图测试
物化视图作为Oracle性能调优的一种有效手段值得深入测试和了解,在充分了解和测试物化视图技术的基础上,可以将物化视图技术纳入到数据库架构设计过程中。本文对物化视图的创建以及物化视图的基本知...
【Shared Pool】使用DBMS_SHARED_POOL包将PL/SQL大对象保存到Shared Pool
当系统在加载PL/SQL大对象时,有可能遭遇由于Shared Pool中存在大量碎片导致没有足够空间加载的问题。 我们可以将那些经常被使用的PL/SQL大对象预先保存到Shared Pool中,防止加载失败以及经常被换出,...
【MV】实现跨库可更新物化视图
物化视图较为常见的一种用法是,远程数据库中存放的基表数据作为本地数据库的更新数据源,以便实现多个数据库与同一个数据源进行同步。这便是一种数据分发的表现形式。 这里给出这种实现这种跨库的...
【LISTENER】实现将数据库实例同时动态注册到两个非默认监听端口
本文给出将数据库实例同时动态注册到两个非默认监听端口的手工配置方法。1.编写listener.ora文件给出1526和1528两个非默认端口监听配置ora10g@secdb /home/oracle$ vi $ORACLE_HOME/network/admin/listen...
【HINT】使用“NO_INDEX ”Hint提示避免SQL使用特定索引
在生产环境的SQL调优测试过程中经常遇到如下场景:一张表上创建了非常多的索引(不推荐),每一个索引都是针对特定业务查询而增加的。这极易导致SQL由于个别索引的引入出现性能问题,在这种情况下不能简...