DBA最好的“枕边故事”丨真实世界Oracle故障诊断之一千零一夜
Posted 数据和云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DBA最好的“枕边故事”丨真实世界Oracle故障诊断之一千零一夜相关的知识,希望对你有一定的参考价值。
2019数据技术嘉年华于11月16日在京落下了帷幕。大会历时两天,来自全国各地上千名学术精英、数据库领袖人物、数据库专家、技术爱好者在这里汇聚一堂,围绕“开源 • 智能 • 云数据 - 自主驱动发展 创新引领未来”的大会主题,共享"开源自研,云和数据,智能运维,智能业务,数据前沿,用户实践"六大主题盛宴。
近期,小编为大家精心准备了“2019数据技术嘉年华——云和恩墨大咖系列”分享。在此次嘉年华大会上,云和恩墨专家团聚焦行业热点,分析典型案例,探索数据价值,共论智能未来。
让我们跟随云和恩墨专家团一同回顾嘉年华的精彩瞬间,领略他们眼中的数据之美吧~
本期,我们请到云和恩墨交付总监 张维照先生,张维照有超过10年的一线数据库维护经验, 热衷于数据库性能调优和故障诊断,是一名 Oracle ACE-A。本次嘉年华他带来题为:真实世界Oracle故障诊断之一千零一夜主题分享。下面,让我们跟随张维照的文字,走进他的 “一千零一夜” 篇章。
注: 点击文章底部“阅读原文”,立即下载张维照老师本次大会PPT!
今天很高兴来到这里, 我是张维照,“运维”的“维”,(~o_o~)。
从事Oracle DBA一线工作十年有余, Oracle ACE-A,工作之余会在我的Blog(anbob.com)分享一些日常维护工作中遇到的有意思的案例和学习成果。
开始为了督促自己进步,利用google搜索自己文档方便,后来就这么坚持至今, 可能世界上所有的坚持都是因为热爱。
身处在知识大爆炸的时代,获取知识的途径更加廉价和丰富, 数据库类型更是“百花齐放”,“万象更新”,
开源、国产、云数据库开始崛起。首先,开源不是免费午餐,更不能只关注开源本身,重要的是开放的生态不能选择进入技术堡垒。再者,正如本次大会主会场行业大咖们所说, 如果国产库总是“慢一步”,那是不会有未来的。也希望国产数据库的崛起, 性能不是数据库的全部,稳定与安全同样应该放在首位。 最后,我想提一点,不能上了某云就无法换云,选择国产也不应该是重走长征路。于我个人而言,我
也关注学习其它几个数据库,我喜欢所有数据库,但是发现Oracle依旧是我“初恋“。
”一千零一夜“系列故事集可能是家中有小孩子床头必备书,刚开始接到分享任务时,我不确认要分享什么。我突然想到,几年前做好的电子书整理,但一直没有分享, 这次我希望把我分析故障的案例中一部分经验分享出来, 望大家在做相同操作起到一点预防或运维规范参考作用。非一线城市的客户在最佳实践、规范化方面还是相对较弱,我希望今天的分享能让他们
多一些预防,少一些救火。
Oracle技术是个知识的海洋,我只能分享点滴,诊断故障是一种能力,避免故障同样也是能力。
5. 同样还有存储空间也不是一次给足,一劳永逸,同样存在数据库db_files资源上限,文件系统inode上限,directory index上限等。
6. 一次One-off patch28423598 安装后,因为启动方式的不同,sqlplus启动报错,srvctl start instance正常,结果发现补丁缺陷导致oracle执行文件权限存在差异。
7. 同一个数据库不同实例看到的参数不一致,但opatchlsinv显示的版本又相同时,但也不一定是真实,如何诊断?O
racle0文件是上一个版本oracle文件的备份,确认了之前升级失败导致。
8. 11.2.0.4 迁移PL/SQL package一个很平常的操作,居然在导入后package body总是invalid, 导入过程中corrupted, 后分析原来是时wraped PL/SQL中如果首尾出现“/”符号,会出来这个问题是当前版本的BUG。
9. 平时一个很平常的RMAN备份还原迁移,结果因为在备份还原中使用了parallelism, 在写入Veritas 文件系统后,因为veritas 也是和Oralce table一样是extent的结构,结果写不连续,一个8G的数据文件生成了17万个碎片,而导致在检索巨大的元数据时,耗费了大量的CPU, 影响了IO效率出现约10倍左右的衰减。
10. 数据库中存入的一个‘\0‘字符,而导致了C 语言程序在读取字符时,自认为是字符串结束符,而出现的截断,影响了应用程序字符解析。
1. 升级12c存在一些情景过度生成trace 文件
Dbms_shared_pool.markhot() 用于降低lib cache 的对象操作wait Library cache: mutex X, 如version count 高时search ,pin,unpin child 的cursor. cursor:
mutex s/x , Markhot 会依赖CPU 个数创建不同的副本, 当然最佳是改应用代码加 虚拟hint
如/*copy1*/ /*copy2*/ …. , 所以建议不要所有问题都偷懒从数据库端解决。
问题时间 ASH 出现较高的log file sequential read等待。
分析是又触发了一个内部错误,而自动生成的redo dump。
相比其它同类RDBMS, mysql每个SQL都是硬解析,延伸记录一下PostgreSQL 12中对于SQL游标共享的处理方法Prepared Statements。
Oracle会把执行计划存储在shared pool(Library cache)中对于所有会话可以共享,但同时高并发时可能会出现librarycache争用,但是PG不同,其存储在program的本地内存中,只能给会话级复用。
在PostgreSQL V12版本中引入一个参数 plan_cache_mode,有三个值auto(default) 、force_custom_plan 和 force_generic_plan,记录三个参数对于CBO带来了哪些影响。
Oracle的很多技术不得不感叹,确实是走在关系型数据库的前沿。
Oracle 19c自动索引技术首次引入,是AI在DB领域一次创新。
之前版本Index monitor是一种排除法, 19c的自动索引更像是一种清空后的加法。
使用在线克隆PDB的功能,复制一套测试环境,然后调用dbms_auto_index.DROP_SECONDARY_INDEXES清理掉所有不影响业务完整性约束的索引。
然后根据测试SQL按需评估创建AI索引。
这样就可以比对原系统人工创建和AI自动索引的差异性。
规范化、标准化是自动化的前提,希望在前期规划和维护前多一些思考与敬畏,减少一次故障的发生。Oracle有很多最佳实践, 也许在不同行业有一些不同的触发场景, 规范也略有不同, 只有多测试方可找到适合自己的最佳实践。例如我在一个关于癌症的宣传中看到,世界卫生组织把65度以上热饮归为致癌物,而我们还在一直强调“趁热喝”,道理是相通的,不是么?
小编提醒:关于《2019数据技术嘉年华PPT》共有两个获取途径:
1. 在“数据和云”公众号后台回复:2019dtc,即可下载!
2.在“墨天轮”上,已按13个会场整理了目前所有已经开放的PPT,大家可以选择感兴趣的主题下载,详情:
https://www.modb.pro/db/11553,复制到网页中打开。
扩展阅读
数据和云
ID:OraNews
如有收获,请划至底部,点击“在看”,谢谢!
help,30万+下载的完整菜单栏
2019DTCC,数据库大会PPT
2018DTCC , 数据库大会PPT
2018DTC,2018 DTC 大会 PPT
ENMOBK,《Oracle性能优化与诊断案例》
DBALIFE,“DBA 的一天”海报
DBA04,DBA 手记4 电子书
122ARCH,Oracle 12.2体系结构图
2018OOW,Oracle OpenWorld 资料
云和恩墨Bethune X企业版,集监控、巡检、安全于一身,你的专属数据库实时监控和智能巡检平台,漂亮的不像实力派,你值得拥有!
云和恩墨zData一体机现已发布超融合版本和精简版,支持各种简化场景部署,零数据丢失备份一体机ZDBM也已发布,欢迎关注。
戳这里,阅读原文(
注: 点击下方“阅读原文”立即下载本次大会张维照老师PPT
)
以上是关于DBA最好的“枕边故事”丨真实世界Oracle故障诊断之一千零一夜的主要内容,如果未能解决你的问题,请参考以下文章
数据库周刊61丨2020年DBA薪资报告;Oracle 12c DG搭建;PG批量数据导入;TiDB集群部署……
DBA专栏丨ESGCI 2020开年工作坊:论文辅导1V1 · 量子管理学
DBA荐读丨德鲁克:人生的下半场该怎样渡过?
技术干货 | DBA之Oracle数据库的备份恢复
尼斯DBA毕业典礼回顾丨蔚蓝海岸最闪耀的中国星!
从Oracle DBA出发,走进GaussDB的世界