Query Transformation-子查询篇

CBO对子查询有且只有三种处理方式:

  • subquery unnesting
  • Push Subquery
  • Filter

继续阅读

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

CBO-Query transformations

一直想写一篇关于CBO的总结,但是我比较懒也不擅长写文章,每次只需要1秒钟就打消了这个念头,这次趁着西区培训的机会,咬咬牙写一写。。。

CBO基于成本的优化器,简单来说作用就是通过对成本的估算选择最佳的执行计划,如果要深入去研究CBO,那么10053肯定是唯一的利器,10053详细的描述了一个sql生成执行计划的过程,这玩意实战性不强,因为sql优化基本是以结果为导向的,只要sql执行变快了就行,优化方法实在太多了(运气好随便试试也能ok),但是如果是去研究CBO那么10053就非常合适了,如果是要确定sql性能差的具体原因或者CBO相关(查询转换、成本估算)的bug的话,10053也非常合适。 继续阅读

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

案例:ORA-04031 12.1.0.2 on exadata x7

某银行客户近期频繁出现ORA-04031,报错如下:

此次报错的subheap为SQLA^559c65a1,通过trace查看该子堆与父堆的信息 继续阅读

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

ORACLE比特币加密恢复

说到病毒,80后的我们立马就会想到“新型冠状病毒”,会想到“武汉加油,中国加油”。作为一名Oracle Dba,提到病毒,我们还会想起最近今年来,在windows平台上大量爆发的“比特币勒索病毒”,他对身体无法,但是它曾导致某个国家的交通系统被感染,出现交通系统瘫痪,也曾导致某省的国土资源厅系统被感染,长达10天之久的不动产系统不能正常对外提供服务。 继续阅读

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

TRUNCATE TABLE恢复-脚本

上篇bbed的方法也许较为复杂,如果对块结构和bbed不熟悉的朋友,可以尝试使用本文的方法来修复。
结合truncate系列一的原理,再加上truncate table还有一个特点,就是所释放的空间会变成free space,这就给没有备份的情况下恢复表数据提供了另外一种思路。 继续阅读

发表在 Oracle, Oracle Recover | 留下评论

TRUNCATE恢复-bbed

本文的truncate恢复只针对于堆表(非lob)进行了测试,其实对于分区表和lob段的恢复原理是一样的。
根据之前对truncate原理的分析,truncate是不能通过闪回查询或者logminer的方式来恢复的,因为truncate操作不会对数据块进行任何操作。那么truncate应该如何恢复呢?下面列出几种常见的方法可供参考。 继续阅读

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

TRUNCATE TABLE原理解析

众所周知,truncate table是一种快速清空表内数据的一种方式,与delete方式不同,truncate只产生非常少的redo和undo,就实现了清空表数据并降低表HWM的功能。本文主要围绕truncate table的实现原理和truncate table的恢复来展开。 继续阅读

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

案例:12cr1启用bct的情况下增量备份有时会很慢

该案例来自某银行客户exadata x7,12.1.0.2的数据库版本,客户备份策略为每周1次0级备份,6次增量备份,增量备份的完成时间不稳定,有时会很慢很慢。

首先非常怀疑BCT并没有生效,没生效的原因常见的首先想到的就是数据文件增量备份次数超过了_bct_bitmaps_per_file 继续阅读

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

案例:ORA-15096: lost disk write detected

案例背景:4节点extend rac,存储raid 5校验异常,修复之后SOLDATA磁盘组无法mount,报错ORA-15096: lost disk write detected。 继续阅读

发表在 Oracle, Oracle Recover | 留下评论

案例:一则非常巧合的ORA-15042恢复

今天跟大家分享一个ASM磁盘组损坏的案例,此案例来至于一个网友。由于是保密客户,不能拿到数据,所以这里只是在自己的环境中模拟此现象并给出解决方案。 继续阅读

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