优化hash连接
HASH连接需要两个表只扫描一遍,针对连接字段做Hash连接最后返回用户所需数据,对于大表而言PGA很可能成为瓶颈,走TEMP空间会拖慢SQL的执行,如果无法调整表连接方式,就需要其他方式做优化,这里我们提供一个Hash的优化思路。
在NDV良好的列生成直方图导致谓词为该列等值查询的SQL执行计划异常
这是来自一个真实案例的测试,该库由于频繁的全表扫描导致直接路径读,由于DML的操作导致大量的Enquiry:KO-Fast Object Checkpoint等待事件,导致系统缓慢,问题时段会持续一个小时左右,导致系统整个缓慢,需要调优处理,我们将等待时间最长的SQL都拉出来,逐个分析,发现等待最严重的一个SQL的全表扫描无法消除,但是从子弹分布看,只需要返回3行记录,但是Oracle依然选择全扫
Oracle的DG环境备库数据文件创建失败导致主备不一致
这是一个真实的案例,由于主库创建了一个数据文件 而备库却创建失败,此时MRP进程由于1274错误导致异常终止,最终导致主备不同步,下面是整个处理过程,希望大家可以借鉴
理解 Balanced Histogram 与Height Balanced Histogram
在数据查询中,对于有谓词的操作,优化器需要根据数据的分布情况,计算是走索引还是全表扫描,实现数据的Access方法的选择。所以就需要一种方法使得优化器知道该如何选择。直方图是统计学中的一个概念,通过数据的条块分割,统计出不同值的数据分布,给优化器计算cardinality提供依据。
日志切换频繁的处理思路
日志切换太频繁,对事务影响比较大,系统可能整体感觉事务慢,需要分析具体原因做出调整,下面根据我具体处理的一个案例,给出具体的分析思路。
Enq: KO - Fast Object Checkpoint导致系统缓慢的案例分析
当Oracle使用direct path read时,在操作对象上发生对象级的checkpoint,需要等待脏数据写入磁盘,这个等待事件 就是Enq: KO - Fast Object Checkpoint,此时IO异常会导致严重的Enq: KO - Fast Object Checkpoint这个等待事件
HAIP地址被占用导致集群一个节点无法正常启动的处理过程
HAIP是Oracle提供的满足CacheFusion功能的高可用地址,该地址在集群启动前不允许被占用,(一个网段),否则导致集群启动异常,本文是我的一个测试环境,重启集群发现第二个节点一直无法启动,希望这个处理案例给大家一个启示吧。
12C之一创建PDB的方法。
本文介绍12C中创建CDB的各种方法
Oracle12C SPM的使用方法
活学活用SPM
12C容器数据库的备份恢复及闪回CDB与PDB。
12C容器数据库的备份恢复较非容器数据库增加了区分容器的特点,CDB中包含多个PDB其备份恢复有其特有注意事项,本文通过例子一一说明
Oracle12C 服务器池管理
本文测试12C中ServerPool的配置使用
OCR和VotingDISK迁移
这个迁移测试是基于某银行测试环境的一个需求,将现有ASM磁盘迁移到更小的ASM磁盘组上,从而将之前的ASM磁盘给其他项目组用,这个过程中OCR和VOTINGdisk盘的迁移最为关键,我们在实施前进行了测试。
通过测试用例了解Oracle Temp表空间具体使用情况
Oracle的temp空间不足往往是未调优 的SQL或者异常SQL导致,本文通过示例讨论如何观察temp空间使用情况,定位异常SQL。
12C 之分区技术测试与总结
分区宏观上基于分而治之的思想,分区表技术也是Oracle应对海量数据处理(大表)的核心技术,本文讨论分区目的,分区表类别,其特点优劣以及索引分区相关知识和注意事项。
使用存储过程DBMS_REPAIR.SKIP_CORRUPT_BLOCKS恢复模拟验证
如果数据没有备份,或者段启用了nologging选项,我们就只能尽可能抢救数据,确定受损的数据对象,再通过人工手段补录数据,本文通过模拟重现整个过程。
数据库block corruption的检测和恢复模拟
在生产库中一旦出现坏块就需要及时处理,比如需要确认坏块影响对象范围,对应数据文件是否备份,是否有足够旧的归档,针对不同对象如何恢复,本文给出一个完整的模拟过程,后续讨论了几种坏块恢复方式,以及文件是否备份,归档等的处理方法。我们做过这样的验证,手里有对应的脚本,再遇到类似问题就心里不慌了。
迁移数据文件到ASM
最近遇到一个案例,用户自己在RAC的节点2上创建了一个表空间,当节点1 重启后发现数据库无法启动,集群状态是正常的,下面我们分析这个问题,其实这往往是初学者容易犯的错误。
ASM第二个实例异常报ORA-600错误,而另一个节点报4031错误的分析处理
ASM实例负责管理ASM的元数据,管理ASM磁盘,ASM磁盘组等,这个案例是某路局巡检发现的ASM磁盘组无法写入。
DG环境下通过心跳表从业务角度监控数据同步
在生成环境中,创建心跳表是从业务角度监控数据同步的常用方法,其实这个表就说普通表,指示通过定时任务每分钟向表中插入数据,通过对比主-备库之间的数据是否一致从而判断主备同步问题。
Scheduler Job 测试
最近生产库经常报各种job异常,这里简单做一个测试,最后给出我们遇到的各种job异常。