《Oracle性能优化与诊断案例精选》——1.6 理想实践,开发运维一体化

简介:

本节书摘来自异步社区出版社《Oracle性能优化与诊断案例精选》一书中的第1章,第1.6节,作者:盖国强 , 李轶楠 ,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.6 理想实践,开发运维一体化

在数据行业那么久,我们总希望能够通过自己的努力,将好的想法落地,渐渐地改变行业中的不合理之处,让这个技术世界变得美丽一点点。

那么这个行业里有什么迫切需要改变的?

作为资深的DBA你可能会发现,我们10年前处理的问题和今天没有什么不同。针对数据库的运维巡检日复一日,SQL优化应对全表扫描或是隐式转换,转眼就耗费了经年的时光。所以我们有一个理想,不要让DBA重复在这些无休止的工作上,或者至少能够做得更有价值,也力争能够改变用户在使用数据库的过程中,屡见不鲜的事后救火。

所以我们第一个在国内提出了“SQL审核”“智能巡检”等理念,希望真正能够通过自动化运维、工具化约束,去改善SQL开发质量、发现和凸显问题,从而防患于未然,提升系统稳定性,改善数据库运维的现状。我们相信通过规范化、标准化、智能化,才能够不断推动业界向前。

早在2011年,我们基于对于业界的思考,就开始开发了一款SQL审核产品,称为z3,如图1-10所示。它可以审核开发测试阶段的SQL,发现问题,提出建议,希望由此将运维DBA和开发结合起来。我们从未想过,这居然就是今天最热门的DevOps所讨论的范畴。

image

通过不断地呼吁和倡导,今天我们非常欣喜地看到国内很多企业都开始去开发这方面的工具,去推行SQL审核的理念。

那么什么是DevOps呢?维基百科的定义如下所示。

DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

从这个定义可以看出DevOps实际上是一种文化上的改变。开发和运维通过更多的沟通达成更可靠的系统输出,从而为企业的共同目标而加注动力。在2015年Gartner的技术成熟度曲线上,DevOps正处于巅峰。

而根据多年的行业经验,我们认为DevOps在Oracle数据库的最佳实践应该就是SQL审核。江苏移动技术专家戴建东的一段感触之言为我们提供了来自实践的依据,他明确提到:

“其实在生产中,绝大多数Oracle的业务系统出现问题都是SQL导致的。但是大多DBA,尤其是偏运维的DBA对SQL并不擅长,这些DBA承担着数据库运维和维护稳定性的职责,而他们对这些问题可能又无能为力。原本SQL的质量应该是开发层负责的问题,但目前的现状是,开发人员管不了,运维人员不擅长。所以当系统出现问题的时候,就需要专业人员“救火”,而事发或事后救火往往是业务已经遭受了损失。”

SQL审核的理念就是,将这些“开发人员管不了,运维人员不擅长”的核心SQL问题抽取出来,作为DevOps的范畴。通过来自运维的经验,指导和辅助开发完成高性能的SQL改写,并且不断通过自动的SQL审核工具和专家的修改建议相结合,推进开发质量的提升,改善系统的稳定性,将性能事故消弭于无形。这也正是DevOps的理想所在。

对于开发团队来说,持续的进行SQL培训我认为非常重要,开发的SQL能力提升了,对于DBA只有好处,数据库的稳定性自然会得到提升。DBA也有职责去和开发沟通,对他们进行面向运维高性能培训。在Oracle DevOps时代,DBA要勇于承担责任,去推进变化。而且在DBA的学习过程中,就是要不断深入去了解各个层面的知识,才能不断进步、融会贯通,找到如鱼得水、游刃有余的感觉。也才能从工作中找到自信和乐趣,进而培养和巩固兴趣,在完善自我的同时帮助他人,提升团队。

在今天的云时代,各个领域都在发生变化,DBA的领域同样面临挑战,表达一下我的观点。

(1)DBA从后端走向前端才能更充分的体现其技术价值。

(2)应用向着预防问题方向演进永远比事后救火更重要。

所以慢慢很多企业开始在开发环节,以开发DBA来进行把关,以SQL审核优化来控制质量。我建议DBA们关注一下这个方向和变化。在现实中,解决单个问题往往是简单的,但是我们应该思考如何去防范一类问题,让更多的人免于重复落入类似的故障。

从经验到规范,从规范到规则,这是DBA工作更高价值的体现。当我们能够将经验固化成SQL、算法或者程序之后,才能帮助到更多的人。我想,只要我们每个人在自己熟悉的领域都能够努力一点点,就能够一起将我们所从事的行业变得美好一点点,从而也会使得我们的世界变得美好一点点。

云和恩墨在云的时代,正在致力于以团队智慧和经验,衍生产品,以产品服务更多的客户和DBA们,进而推进行业的进步

相关文章
|
2月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
3月前
|
存储 Oracle 关系型数据库
oracle数据恢复—oracle数据库执行错误truncate命令的数据恢复案例
oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况,例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致数据丢失的数据库数据恢复过程。
|
10月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
10月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
11月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
9月前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
11月前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
231 1
|
11月前
|
SQL 监控 Oracle
Oracle SQL性能优化全面指南
在数据库管理领域,Oracle SQL性能优化是确保数据库高效运行和数据查询速度的关键
1432 6
|
12月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。

热门文章

最新文章

推荐镜像

更多