ADG redo transport service

redo传输服务:redo transport service

主库的LNS进程从SGA的log buffer中读取日志,交给oracle net服务传输到备库,备库的RFS进程负责接收并写入SRL中,其中LNS的进程数量与备库RFS数量相等 继续阅读

发表在 Oracle | 标签为 | 留下评论

oracle优化器缺陷(三)

本篇文章的主要详细展开的是优化器外连接转内连接的内容,外连接转连接其实是很多数据库都有的功能,当sql的某些外连接写法满足内连接语义时就会进行转换。 继续阅读

发表在 Oracle, Oralce performance | 标签为 , | 留下评论

oracle compression table internals

压缩表介绍

Oracle可在表空间、表、分区级进行压缩,如果表空间设置了压缩方式,则所有存储在该表空间的表都将默认采用相同的压缩方式,在表级也可设置的压缩方式。Oracle还支持在分区级定义不同的压缩方式,以满足不同的数据管理需求。其压缩方式分为Basic Compression、OLTP compression、Warehouse compression(HCC)和Online archival compression (HCC)。 继续阅读

发表在 Oracle, Oracle troubleshooting, Oralce performance | 标签为 | 留下评论

oracle partial join eval

在oracle sql优化中,往往只关注逻辑读的消耗,而忽略了join消耗的时间,特别是高频值进行join关联出大量rows的场景。往往join消耗的时间会比扫描对象消耗的逻辑读物理读更耗时。 继续阅读

发表在 Oracle, Oralce performance | 标签为 , , | 留下评论

不要再用varchar2存储date/timestamp了!!!

新年来临之际,血的教训让大家都知道了新年来临之前要去检查分区表的新年分区是否创建的问题。本篇文章再介绍一个新年容易出现的性能问题。

继续阅读

发表在 Oracle, Oralce performance | 标签为 , , | 留下评论

oracle scalar subquery caching

这是oracle特有的特性,当对于子查询未展开(包括标量子查询)时,oracle会维护一个hash table的内存区域缓存,对于重复的关联列,并不需要重复的执行子查询。该特性在Cost Based Oracle Fundamental书中有介绍。

继续阅读

发表在 Oracle, Oralce performance | 标签为 | 留下评论

oracle优化器缺陷(二)

今天看了一下好友anbob的文章,主要内容涉及CBO的一些查询转换,主题是在开发场景中如查询分页计算多少页或统计查询,有些开发是习惯基于明细的查询SQL,而外层直接加1层汇聚查询,如select count(*) from (select ….), 但子查询中可能有一些函数或主查询根本不需要的列, 在oracle中的查询转换中如select-project-join或select list pruning, 或VIEW merge SPJ,CVM 都是为了不影响SQL结果一致性,而优化低效的SQL。 继续阅读

发表在 Oracle, Oralce performance | 标签为 , , | 留下评论

oracle优化器缺陷(一)

ORACLE的优化器,在众多dba眼中都是世界上最好的优化器,一直是其他数据库,包括国产数据库追赶的目标,特别是在查询转换上,oracle确实所向无敌。但是本文要介绍的一个小案例对于oracle来说应该算是一个美中不足的地方。 继续阅读

发表在 Oracle, Oralce performance | 标签为 | 留下评论

如何诊断oracle listener

oracle listener也是oracle中非常重要的进程,其作用就不阐述了,当listener进程异常时,应用连接oracle数据库将受到非常大的影响。 继续阅读

发表在 Oracle, Oracle troubleshooting | 标签为 | 留下评论

深入解析DBWR

dbwr进程,Database Writer Process ,理论上最大支持20个dbwr进程,默认是 1/8 cpu_count的设置。dbwr进程的作用的将buffer cache的脏块写出到disk上。 继续阅读

发表在 Oracle | 标签为 | 留下评论