searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

介绍一种高效DBA日常运维思路

2023-06-15 04:29:37
13
0

- 先从一个突发的性能故障说起:

AWR (Automatic Workload Repository) 是自动负载信息库的英文缩写,AWR报告是Oracle10g以后版本提供的一种性能收集和分析工具,能提供一个时间段内整个系统资源使用情况的报告。

数据库突然出现大量异常等待事件。AWR报告TOP 5等待事件如截图所示:

系统正常和异常时,DB Time耗时对比如下:

分析思路:

1、丈二和尚,摸不着头脑。性能问题,数据库不会报错。

2、将数据库性能问题等同于SQL优化,花大精力去优化SQL。

3、快速重启数据库。可能解决问题,也可能不能解决。

4、可能命中Oracle bug,high version count导致此类问题不少。

5、大量等待事件都和内存争用有关,直觉经验判断系统内存出现问题。

深入分析机器磁盘的内存交换情况,发现系统在产生大量交换,进一步导致本地盘异常繁忙(交换空间所在磁盘):

那么是谁在吃内存?

对一个高手来讲,花了3分钟,根源就定位到了。
但我认为:这个技能不可复制性,也不是高效DBA的日常运维!

高效DBA日常运维在做什么?

1. 通过技术+行政手段,确保部署标准化

2. 通过各种技术手段(如监控),快速定位变化

 

关于变化: 

所有的故障都是变化(变更)引起的

软件故障:如系统上线变更,SQL执行计划变更,软件bug

硬件故障:如内存、磁盘、网络、CPU资源故障

 

关于标准化

标准化,使用统一的模板

统一的操作系统,如使用linux 7

统一的数据库版本,如使用Oracle 19c 多租户特性、MySQL 5.7统一参数模板

 

高效DBA关注点是什么?(如何快速定位变化?)

1. 监控是第一要位

2. 实时邮件告警

3. 对数据库的高可用性、高可靠性涉及,包括容灾方案

4. 对性能差的SQL语句进行及时优化

 

如何高效SQL优化?

SQL优化的核心思想:让Oracle尽可能快速定位数据。主要方法:

减少数据级、提高处理效率(如并行,加索引等)

 

典型的OLTP系统,读写比例:8/2

宏观上:从逻辑读总次数及单次时间波动发现数据库性能变化

微观上:从每次执行所耗逻辑读次数观察SQL执行计划优劣

 

SQL的生命周期的四个阶段路径

 

核心指标- 联动性

综上所述:监控变化、重视变更是高效运维的核心思想之一!

0条评论
0 / 1000
鲁****鹏
2文章数
0粉丝数
鲁****鹏
2 文章 | 0 粉丝
鲁****鹏
2文章数
0粉丝数
鲁****鹏
2 文章 | 0 粉丝
原创

介绍一种高效DBA日常运维思路

2023-06-15 04:29:37
13
0

- 先从一个突发的性能故障说起:

AWR (Automatic Workload Repository) 是自动负载信息库的英文缩写,AWR报告是Oracle10g以后版本提供的一种性能收集和分析工具,能提供一个时间段内整个系统资源使用情况的报告。

数据库突然出现大量异常等待事件。AWR报告TOP 5等待事件如截图所示:

系统正常和异常时,DB Time耗时对比如下:

分析思路:

1、丈二和尚,摸不着头脑。性能问题,数据库不会报错。

2、将数据库性能问题等同于SQL优化,花大精力去优化SQL。

3、快速重启数据库。可能解决问题,也可能不能解决。

4、可能命中Oracle bug,high version count导致此类问题不少。

5、大量等待事件都和内存争用有关,直觉经验判断系统内存出现问题。

深入分析机器磁盘的内存交换情况,发现系统在产生大量交换,进一步导致本地盘异常繁忙(交换空间所在磁盘):

那么是谁在吃内存?

对一个高手来讲,花了3分钟,根源就定位到了。
但我认为:这个技能不可复制性,也不是高效DBA的日常运维!

高效DBA日常运维在做什么?

1. 通过技术+行政手段,确保部署标准化

2. 通过各种技术手段(如监控),快速定位变化

 

关于变化: 

所有的故障都是变化(变更)引起的

软件故障:如系统上线变更,SQL执行计划变更,软件bug

硬件故障:如内存、磁盘、网络、CPU资源故障

 

关于标准化

标准化,使用统一的模板

统一的操作系统,如使用linux 7

统一的数据库版本,如使用Oracle 19c 多租户特性、MySQL 5.7统一参数模板

 

高效DBA关注点是什么?(如何快速定位变化?)

1. 监控是第一要位

2. 实时邮件告警

3. 对数据库的高可用性、高可靠性涉及,包括容灾方案

4. 对性能差的SQL语句进行及时优化

 

如何高效SQL优化?

SQL优化的核心思想:让Oracle尽可能快速定位数据。主要方法:

减少数据级、提高处理效率(如并行,加索引等)

 

典型的OLTP系统,读写比例:8/2

宏观上:从逻辑读总次数及单次时间波动发现数据库性能变化

微观上:从每次执行所耗逻辑读次数观察SQL执行计划优劣

 

SQL的生命周期的四个阶段路径

 

核心指标- 联动性

综上所述:监控变化、重视变更是高效运维的核心思想之一!

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0