
362
DevOps
关联,又各有侧重,互相印证则更具价值。而所有这些基础运维进一步
演进为自动化运维,消除各种人为操作的风险,降低运维的复杂度,正
是 DevOps 时代我们努力的核心。在数据库运维部分,又分化出 Oracle、
MySQL 和 PostgreSQL 运维等几个主要流派,其中既有相同,又有各异之处;
既体现了通用准则,又有不同专家职业印记的体现,参详对照,笔者读
起来也觉得意味盎然、获益良多。
在 Oracle 数据库运维这一部分,笔者结合自己在数据库领域 20 年的
亲眼所见、亲身经历,将那些血泪写成的故事,凝聚在三十六条计策(法
则)里,和大家共为警示,以期不蹈覆辙,履险如夷。限于本章的篇幅,
笔者重点遴选了 3 条法则作为案例分析,从全局法则到具体操作,希望
帮助大家窥一斑而知全豹。
有效的备份重于一切。这无疑是所有 DBA 甚至每一位读者都应当重
视的法则,大到数据库,小到个人文档,有备方能无患。备份的意
义在于防范那些突发事故,在这一法则的展开中,笔者总结了行业
里种种刻骨铭心的案例,以此强调备份的重要意义。
测试和生产环境隔离。这条法则的本意是避免可能发生的误操作,
而在无数的生产事故中,误操作的发生率远远超过了其他风险,既
然如此,对生产系统的任何保护都不为过。很多 DBA 对于测试环境
和生产环境缺乏界限的概念,对很多操作缺乏敬畏,这里强调的“隔
离”是更看重思想认知上的隔离。
禁止远程 DDL 和业务时间的 DDL 操作。这一法则是操作意义上的限
定,更是内外兼顾的血泪总结,众多恶意攻击都因为远程 DDL 删除
和截断了用户的数据,而运维时 DBA 或开发人员一次无心的 DDL,
也可能随时引发性能阻塞或系统故障。我们希望这一法则既能隔绝
评论