案例:index range scan真的不会多块读吗?

此次案例来自西安某客户的一次sql优化,对于优化本身并不复杂,但是发现了一个比较有趣的问题,就是索引范围扫描以及回表都有使用多块读的方式。下面来看看具体案例。 继续阅读

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

案例:smon回滚异常导致实例crash

某省电力系统的一个4节点rac,2节点在早上的时候crash。 继续阅读

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

案例:奇怪的ORA-01000

某银行的某系统rac数据库版本19.6,二节点的mmon slave进程一直在报ORA-01000,导致awr、ash等等很多MMON的功能收到了影响。 继续阅读

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

案例:深入解析asm rebalance无法启动

某银行ods系统的一体机(数据库版本为19.8)上,由于某个存储节点掉了4块盘,磁盘处于offline状态,在超过了”_asm_disk_repair_time”时间内没有online,被磁盘组自动drop force,之后在drop disk rebalance未完成的情况下,将4块盘重新加入了磁盘组,由于担心rebalance影响ods跑批业务,所以在跑批阶段中断rebalance操作,在空闲时重新发起rebalance,反复启停rebalance很多次,但是在某一次中断rebalance之后,发现rebalance就再也无法启动了。 继续阅读

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

案例:一次非常艰难的drop多个pdb的恢复

在18年的一次恢复中,遇到了一个非常棘手的case,客户环境一套rac cdb中原本存在10个pdb在同一个ASM磁盘组中,误删除了其中6个pdb,并且使用了including datafiles子句。 继续阅读

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

案例:Oracle 12.1的数据库如何推进scn

在做异常恢复的时候,有时候会需要推进scn,网上已经有了非常多的相关资料,常见的scn推进方法比如12c之前的oradebug ,12.2之后的event 21307096等等,那么如果要恢复12.1的数据库该如何推进scn呢? 继续阅读

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

案例:ora-00600[16703]比特币攻击

近期大量的客户数据库软件被注入恶意代码,导致数据库无法启动,报错ORA-00600: internal error code, arguments: [16703], [1403], [20],大致的原因和预防措施可参考下面文章:http://www.eygle.com/archives/2018/07/recover_ora-600_16703.html 继续阅读

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

案例:troubleshooting row cache lock(一)

今天某交管客户出现登录异常,应用反馈无法登录数据库。数据库版本为11.2.0.4,patch版本没注意,先暂时不关注。使用客户提供的异常用户测试登录发现确实会hang住。 继续阅读

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

Query Transformation-集合篇

对于集合操作,CBO的处理之前两篇文章也介绍过,比如子查询为集合操作的子查询展开、内嵌视图为集合操作的连接谓词推入等等,这篇文章主要介绍集合操作相关的另外一种查询转换SJC – set join conversion 继续阅读

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

Query Transformation-视图篇

CBO处理视图(包括内嵌视图和查询转换生成的视图),也是有且只有3种处理方式

  • view merge
  • jppd/fpd
  • view当作一个整体

继续阅读

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