Skip to content

DBA 日常

备份 恢复

时时热备
定期冷备

升级

每年大版本小版本升级,新特性调研,性能测试,稳定性。 可用当前最新的上一个版本。

HA

手动
自动

读写分离 sharding 多副本

安全

权限管理 资源隔离

审计

ddl
慢sql
锁长时间占用

巡检

定期巡检 awr 报告

监控

系统
数据库

诊断 优化

背景

应用程序的野蛮生长,由产品为驱动的开发,一切以快速上线为目标,在快速迭代的输出中很难有质量的保证。

运维人员和dba往往会充当救火队员,进入恶性循环。程序或架构设计不合理,导致数据库使用性能不佳,稍微来点业务量就导致数据库负载升高影响业务。

怎么办

梳理责任划分

必须有明确的责任划分,并不是程序上线后除了问题全部都是运维人员的责任,如果是程序的问题导致的故障,应该将责任追究到研发团队。

追责可以作为研发与运维的共同KPI考核指标,这样研发才有动力把程序开发好,而不是野蛮瞎搞。

建立程序交付标准

必须建立应用交付给运维的交付标准,程序上线前,必须要符合运行交付标准才允许上线。

必须包括试运行

商用前,必须有试运行阶段。建立约束机制,例如试运行阶段如果有N次应用引起的故障或已发现运行过程中的程序BUG,研发必须全部解决后,才允许商用。

变更制度

建立变更制度,操作规范,尽量避免变更带来的问题。

开发规约

事前防范,建立开发规约,避免开发阶段引入的问题。

培训

经常给开发培训,让他们熟悉数据库的最佳实践,避免踩坑。

SQL审核机制

建立自动化或人为的审核机制,涉及数据库变更,新增SQL都必须经过审核。

数据库生命周期管理

建立健全的生命周期管理制度。