十多年前,ORA-1555是一个十分经典的面试问题,超过60%的面试官都会像求职者提出这个问题。在10年前老白的《Oracle DBA 优化日记》中,也深入的讨论了这个问题。传统的对ORA-1555的看法是从快照过旧这个错误上引申开来的,重点还是关注UNDO空间,回滚段,UNDO_RETENTION,以及QUERY DURATION等因素,考虑从SQL优化,增加UNDO,优化RBS等角度去解决问题。随着存储设备越来越廉价,UNDO 不足的问题已经不存在了,我们也不需要像运行ORACLE 8i/9i时候一样,为UNDO用20G好还是40g好去犯愁,一个几百GB的UNDO也是很容易获得的。最近这几年里,大家对ORA-1555这个错误已经不大关注了,因为大家也发现绝大多数这个错误是因为不够优化的SQL引起的,甚至很多企业的日志报警系统里,为了避免过多的报错,把ORA-1555列在了排除列表里。前年,在我们开始开发日志深度分析工具的时候,ORA-1555这个经典的问题当然是不会错过的,于是老白的团队按照日志深度分析的架构重新梳理了这个经典错误号。这一梳理不要紧,老白发现以前对ORA-1555的认知完全是不足的。实际上ORA-1555错误并不全是因为快照过旧引起的,经过初步分析,我们至少可以把ORA-1555错误分为6大类:

第一类是UNDO与回滚段相关的;第二类是SQL执行计划由于表分析数据不准等原因出现错误导致执行效率过低;第三类是开发商编写的SQL质量太低;第四类是Bug 22241601导致的索引逻辑损坏,遇到这种情况,需要重建索引解决;第五类是Bug 8231583 导致的错误,必须重建UNDO表空间来解决;第六类是应用程序写LOB字段出现问题,主要原因是LOB字段初始化代码存在问题,需要开发商修改应用解决。大家也看出来了,不同的类别的错误,其处置方法是不一样的,我们以前面对这个错误的时候只看到了其中的一面,而没有看到其全貌。经过继续梳理,我们发现ORA-1555错误的情况实际上更为复杂。

这张思维导图也仅仅是列出了ORA-1555的常见情况,并没有覆盖所有的可能问题。从这里我们也看出,日志的分析实际上是一个十分复杂的工作。以前遇到一些未知的或者导致严重后果的错误的时候,我们往往会请专家来协助分析或者到MOS上去查找相关的资料。这种效率十分低下。通过日志深度分析工具来解决问题,可以帮我们解决一大部分的问题,当分析工具无法从已知诊断路径中发现问题的时候,会被记录下来,后续就需要专家介入,对此类未知问题进行分析,并优化诊断路径。在这种复杂的分析场景中,目前十分热的AI技术并没有办法发挥更大的作用,靠数据和算法无法解决深度推理的问题,这个也已经是业内的常识了。工具不能解决所有的问题,只有工具+人的生态才能不断演进和积累知识,使工具越来越强大(我这里不敢说越来越智能,目前阶段,运维工具的智能大多数还是来自于专家智能,而不是数据智能)。对日志问题的诊断路径进行分类后,后续就可以提供更为强大的功能了。

针对某个日志报错,自动分析工具可以生成分析报告,在报告中可以帮你列出和该日志报错相关的后续诊断建议,以及已知的优化处置建议。似乎这一切很完美,不过还有一个问题,这些诊断路径不是从天上掉下来的,需要大量的技术团队去做分析与整理,这个工作必须是人工的,而且严重依赖于专家。能做这种工作的专家是稀缺资源,另外一点,很多这方面的专家并不愿意把自己脑子里的东西拿出来做成工具,和大家分享。于是这个工作想要大规模的推广开来还是存在难度的。要解决这个问题,还是要走互联网+的路子,建立一个更为广泛的技术江湖,一方面有更多的用户通过技术江湖结成联盟,他们系统中发现的一些未被深度分析的错误信息能够贡献出来,把相关的错误信息与日志文件提交到社区,由社区的虚拟专家团队去进行分析与处理,最终形成分析工具下发到社区成员。经过不断的积累,日志分析知识点工具的积累会良性发展,这个工具也能够越来越强大了。老白希望这样的技术社区能够早点建立起来,届时,老白的团队也十分愿意成为社区的用户和知识贡献者。

oracle error-1555,从另外一个角度看ORA-1555相关推荐

  1. 从另一个角度看汉芯事件

    现在汉芯事件造假已成定局,事件真相也快水落石出,就差有关部门的一个最后报告了.现在陈进已是千夫所指,的确陈进后期欺骗国家科研经费性质恶劣,但我认为在陈进创办汉芯前期从另一个角度看是一场赌博而已,纵观近 ...

  2. 另一个角度看快手,耀眼的不止是1.38万亿市值

    快手IPO大捷! 2月5日,快手正式登陆港交所,上市首日高开193.91%,总市值超1.38万亿港元(约合人民币1.15万亿元),成为"短视频第一股". 01 备受追捧的" ...

  3. 另一个角度看券商经纪业务

    转载自https://mp.weixin.qq.com/s/lZpmGMl6lbS1sDq1j5SAUA 原作者:PKUJohnson   量化嘉 作为资本市场的核心机构,券商有着举足轻重的作用.投行 ...

  4. 从另一个角度看拉普拉斯变换

    一.奥列弗. 赫维赛德是何许人也 二.傅里叶变换(轻量版拉普拉斯变换) 三.拉普拉斯变换(原来就是那么回事) 拉普拉斯变换可以说是现代工程学使用最广泛的数学工具,它通过数学变换将微积分方程转化成代数方 ...

  5. 资深测开大佬亲述:从另一个角度看软件测试

    本文将从岗位要求看软件测试.软件测试技术的认识和理解.质量保障与软件测试的关系.构建质量保障系统的要点这四个方面简单聊一聊作者的理解,带你换个角度来认识软件测试. 01.从岗位要求看软件测试 首先,我 ...

  6. 另一个角度看Java常量池

    Java程序猿都知道常量池,字符串会缓存,小于128的Int也会缓存.那你知道下面几种情况的输出结果吗? String str = "127";Integer int1 = Int ...

  7. 老司机带你用python从另外一个角度看市场需求~

    从这个标题来看就很有格局有没有? 今天教的是采集按摩店的数据, 不爬不知道呀, 光是一个城市的前10页数据, 都有1000多家店了, 全部爬完,那不得至少3000家以上? 现在的市场需求都那么大的吗? ...

  8. 另一个角度看世界:苹果眼镜,下一个重磅产品

    全文共1830字,预计学习时长5分钟 图源:unsplash 增强现实和虚拟现实行业在过去几年已经渐趋成熟.苹果公司正准备发布其首款增强现实技术的智能眼镜,配备着苹果神秘的增强现实镜头的苹果眼镜即将亮 ...

  9. 从另外一个角度看微信支付

    前几天用微信支付预约了小米三,以为没有多少人会开通微信抢手机,于是并不在意,等今天再去抢的时候,发现已经卖光,让我对觉得不可思议.后来看新闻,有630W人用微信支付参与预约.先无论这个数字是否有水分, ...

最新文章

  1. 17 博客后台富文本编辑
  2. LinkedList 实现 Queue
  3. 无法将项目和文件的编码格式从UTF-8转为GBK
  4. 关于Ubuntu的默认python版本
  5. 牛客题霸 [ 换钱的最少货币数] C++题解/答案
  6. 工作64:element多选功能
  7. nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(二)
  8. solaris linux nfs,solaris 10 nfs服务配置
  9. java 模拟电梯_java模拟电梯运行简单实现,swing界面
  10. mysql的join语句使用_MySQL开发技巧——如何正确使用Join语句
  11. 计算机桌面常用图标,电脑常用软件图标 常用的电脑软件图标
  12. 关于html转换为pdf案例的一些测试与思考
  13. 诚之和:苹果汽车还没造出来,但数百万车将先装上它的“灵魂”
  14. python散点图获取边界_获取离散点的边界点
  15. VueDemo-12.加入购物车
  16. WMS仓库管理系统有哪些功能介绍
  17. js 屏蔽原生鼠标和键盘事件
  18. 即时配送行业黑马 闪飞侠2022正式起航
  19. 基本概念:色调、色相、饱和度、对比度、亮度
  20. Nature封面论文撤稿闹大了,认定首个室温超导体数据存疑!领域大佬尝试复现6次全失败,9位作者集体抗议无效...

热门文章

  1. [crypto]-53-openssl命令行的使用(aes/rsa签名校验/rsa加密解密/hmac)
  2. 题目2:隐式图的搜索问题(A*算法解决八数码)代码实现
  3. Windows驱动开发学习笔记(五)—— SSDT HOOK
  4. vbs病毒分析神技——使用VS2017调试vbs脚本
  5. 【Centos】更新为北京时间
  6. 【Nginx】Auth 认证
  7. ACM之【文件操作】
  8. binary_search函数
  9. 1123 Is It a Complete AVL Tree (30 分)【难度: 难 / 平衡树 未完成】
  10. 【PAT乙级】1049 数列的片段和 (20 分)